![]() |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Danke erstmal..
Wenn ich allerdings nur ein Bild habe, bekomme ich eine Fehllermeldung "List Index out of Bound (1)" Mfg, Steve EDIT/ Genauso wie setze ich die Variable wieder zurück auf 0? Bsp.: Ich habe 2 Bilder wenn ich auf next drücke zeigt er mir NUR das 2te an, allerdings wenn ich den Datensatz wechsle auf einen mit ebenfalls 2 Bilder bekomme ich "List Index out of Bound (2)" Er scheint also die "Zahl" nicht zu resetten. Jemand vielleicht einen Vorschlag? |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Erstens:
Mit der IF Abfrage ist die Variable i auf das Maximum von Listeneinträgen begränzt. Zweitens: Wenn du in der procedure TForm2.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); die Variable i auf 0 setzt sollte dein zweites Probelem auch behoben sein. mfg Zelle |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Hi,
so Bilder Anzahl usw. zeigt er jetzt alles an das Navigieren zwischen den Bildern geht auch allerdings habe ich jetzt (wiedermal) ein anderes Problem mit dieser Procedure:
Delphi-Quellcode:
Wenn ich jetzt im DBGrid einen Datensatz markiere zeigt er mir in einer anderen Form die Daten an. Nun soll er mir wenn das Form angeklickt wird die Bilder dazu laden, so weit so gut das macht er auch allerdings wenn das Form den Focus verliert und wieder angeklickt wird zeigt er mir nur noch ein bild an obwohl mehrere da sind. "Theorethisch müsste er doch erneut alle in die ListBox laden! Oder?
procedure TForm2.FormActivate(Sender: TObject);
begin TDP.Text:= 'Z:\Daten\' + DBEdit1.Text + '\TDP'; Tech.Text:= 'Z:\Daten\' + DBEdit1.Text + '\Technologie'; Kalk.Text:= 'Z:\Daten\' + DBEdit1.Text + '\Kalkulation'; IDNR.Text:= 'Z:\Daten\' + DBEdit1.Text; TDPCreate.Text:= 'Z:\Daten\' + DBEdit1.Text + '\TDP'; KalkCreate.Text:= 'Z:\Daten\' +DBEdit1.Text + '\Kalkulation'; TechCreate.Text:= 'Z:\Daten\' +DBEdit1.Text + '\Technologie'; i := 0; Image1.Picture := nil; Anzahl.Caption:= '0'; Jetzt.Caption:= '0'; ListBox1.Clear; MainForm.ZQuery2.ParamByName('ProduktID').AsString:= DBEdit1.Text; MainForm.ZQuery2.Refresh; begin while not MainForm.ZQuery2.eof do begin ListBox1.Items.Add(MainForm.ZQuery2.fieldbyname('Foto').AsString); MainForm.ZQuery2.Next; Anzahl.Caption:=IntToStr(ListBox1.Items.Count); if ListBox1.Items.Count > 0 then Image1.Picture.LoadFromFile(ListBox1.Items.Strings[0]); Jetzt.Caption := IntToStr(i+1); Edit1.Text:= ListBox1.Items.Strings[0]; end; end; end; Mfg, Steve |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Hi Steve,
dein Code-Fragment sieht irgendwie zusammengewürfelt aus, aber am Ende sollte es irgendwie so aussehen:
Delphi-Quellcode:
Grüße vom marabu
begin
// ... // Laden der Bildpfade with MainForm.ZQuery2 do begin First; while not Eof do begin ListBox1.Items.Add(FieldByName('Foto').AsString); Next; end; end; Anzahl.Caption := IntToStr(ListBox1.Items.Count); // erstes Bild laden wenn es geht if ListBox1.Items.Count > 0 then begin imgIndex := 0; Image1.Picture.LoadFromFile(ListBox1.Items.Strings[imgIndex]); Jetzt.Caption := IntToStr(Succ(imgIndex)); Edit1.Text := ListBox1.Items.Strings[imgIndex]; end; // ... end; |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Hi,
danke der Code funktioniert. Allerdings sehe ich nicht wo mein Fehler lag, da der code eigentlich "nur" etwas abgeändert wurde und meine Variable anders benannt wurde. Die Funktion ist eigentlich dieselbe... Mfg, Steve |
Re: Bilder aus Datenbank (nur pfad) anzeigen..
Es könnte an der von mir verwendeten Methode First() gelegen haben. Alles andere musste ich nur machen, damit ich den Code überhaupt verstehen konnte.
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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