AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Inhalt der For-Schleife funktioniert nicht richtig - warum?
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt der For-Schleife funktioniert nicht richtig - warum?

Ein Thema von Plague · begonnen am 17. Jan 2006 · letzter Beitrag vom 17. Jan 2006
Antwort Antwort
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#1

Inhalt der For-Schleife funktioniert nicht richtig - warum?

  Alt 17. Jan 2006, 21:36
Hallo,

ich möchte alle Datein, die mit ihrem Pfad in einer ListBox eingetragen sind zum einen in einer Image Komponente darstellen (es handelt sich ausschließlich um Bilddatein) und anschließend per FTP hochladen.
Der Upload klappt ohne Probleme, aber in der Image Komponente wird erst am ende das letzte Bild angezeigt.
Woran kann das liegen?

Hier mal der entsprechende Code:
Delphi-Quellcode:
for i := 0 to anz do begin
     JpegToBMP(Listbox1.Items.Strings[i], Image1.Picture.Bitmap);
     //Image1.Picture.LoadFromFile(Listbox1.Items.Strings[i]);
     IdFTP1.Put(Listbox1.Items.Strings[i],ExtractFileName(Listbox1.Items.Strings[i]));
     end;
JpegToBMP ist eine procedure die wie der Name schon sagt ein Jpeg Bild in eine BMP Datei umwandelt um sie in der Image Komponente darstellen zu lassen.

Gruß
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:39
Hast du mal versucht, das ganze JPG2BMP-Gefasel zu umgehen, indem du "Jpeg" in die Uses-Klausel aufnimmst?
Nur so nebenbei
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:40
Mach mal nach dem LoadFromFile ein Image1.Refresh. Da du in der Schleife deinem Fenster keine Zeit zum Luftholen läßt, kann es auch nicht seine Komponenten neuzeichnen. Ich gehe auch mal stark davon aus, dass dein programm nicht mehr reagiert wärend des Uploads. so was lagert man sinnvollerweise in Threads aus. lEin Tutorial zu Threads findest du auf meiner Homepage.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#4

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:47
du gibst Windows keine Chance, das Fenster bzw. die Image-Komponente neu zu zeichnen....
Delphi-Quellcode:
for i := 0 to anz do begin
  JpegToBMP(Listbox1.Items.Strings[i], Image1.Picture.Bitmap);

  Image1.Update(); // dies sollte die Image-Komponente neu zeichnen lassen

  IdFTP1.Put(Listbox1.Items.Strings[i],ExtractFileName(Listbox1.Items.Strings[i]));
end;
BTW: beim letzen Durchgang müsste es eigentlich zu einer Out-Of-Bounds-Exception kommen... 0 - anz sind (anz + 1) Durchgänge...
entweder
for I:=0 to anz - 1 do ...
oder
for i:=1 to anz do ...
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#5

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:49
Der Tipp mit dem Refresh klappt leider nicht!
Das Programm funktioniert auch noch, denn die ProgessBar läuft ohne probleme weiter. Gibt es sonst noch eine Möglichkeit?

@malo: Ich nutze die JPEG in der uses Klausel. Aber dadurch lässt die Image Komponente ja noch lang nicht jpg Datein zu, oder?
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#6

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:50
Zitat von Plague:
@malo: Ich nutze die JPEG in der uses Klausel. Aber dadurch lässt die Image Komponente ja noch lang nicht jpg Datein zu, oder?
Ich wage mich erinnern zu können, dass das doch der Fall war/ist.
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#7

Re: Inhalt der For-Schleife funktioniert nicht richtig - war

  Alt 17. Jan 2006, 21:54
Das scheint wirklich so zu sein...
Aber auch mit der normalen LoadFromFile Funktion der Image Kompnente wird lediglich das letzte Bild dargestellt!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz