Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bild-Pfad in Datenbank (https://www.delphipraxis.net/50816-bild-pfad-datenbank.html)

Franz100 1. Aug 2005 14:17

Datenbank: dBase • Zugriff über: BDE

Bild-Pfad in Datenbank
 
Hallo,
ich versuche in der Datenbank im DBEditFeld nur den Pfad für die Bild-Datei zu speichern.
Das Bild soll auch immer zu dem jeweiligen Datensatz angezeigt werden.
Mit:
TForm1.DBEdit1Change(Image1.Picture.LoadFromFile(D BEdit1.Text)

Für Datensätze, die schon in der Datenbank sind, funktioniert es auch.

Wenn ich aber einen neuen Datensatz eingeben will, erhalte ich die Fehlermeldung (EInvalidGraphic)

Wie kann ich diesen Fehler umgehen?

marabu 1. Aug 2005 14:34

Re: Bild-Pfad in Datenbank
 
Das Laden des Bildes würde ich im Ereignis OnChange() der DataSource machen - und vielleicht auch nur dann, wenn ein Datensatzwechsel erfolgt:

Delphi-Quellcode:
procedure TDemoForm.DataSourceDataChange(Sender: TObject; Field: TField);
begin
  if not Assigned(Field) then
    Image1.Picture.LoadFromFile(DBEdit1.Text);
end;
Grüße vom marabu

Franz100 1. Aug 2005 15:04

Re: Bild-Pfad in Datenbank
 
Ergibt leider auch das gleiche Problem wie:

procedure TForm1.DBEdit6Change(Sender: TObject);
begin
Image1.Picture.LoadFromFile(DBEdit6.Text);
end;


Wenn ich nur durch die Datenbank blättere, funktioniert alles Bestens. Sobald ich aber den Edit-Button des Navigators anklicke,um einen neuen Datensatz einzugeben, erhalte ich eine Exception der Klasse EinvaliGraphic "Unbekannte Bilddateierweiterung(.)"

Ist eigendlich logisch, da das Programm versucht eine Bilddatei aus dem Editfeld zu laden. Das Feld aber leer ist.

Wie kann ich es bewerkstelligen, das ONCHANGE nur ausgeführt wird, wenn im DBEDIT-Feld auch ein Pfad vorhanden ist?

Bernhard Geyer 1. Aug 2005 15:21

Re: Bild-Pfad in Datenbank
 
Delphi-Quellcode:
procedure TForm1.DBEdit6Change(Sender: TObject);
begin
  // Nur wenn Datei vorhanden...
  if FileExists(DBEdit1.Text) then
    Image1.Picture.LoadFromFile(DBEdit6.Text)
end;

Franz100 1. Aug 2005 15:32

Re: Bild-Pfad in Datenbank
 
:cheers: Vielen Dank, hat super funktioniert.
Danke schön!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz