title image


Smiley Re: endlosschleife , ?? 1000 Rätsel warum
Hallo Olli.



Beispiel: Du willst in einem TLabel einen Schleifenzähler anzeigen.



for I:=1 to 10000 do Label.Caption:=IntToStr(I);



Alles was Du sehen wirst ist die Zahl 10000. Wenn Du aber dem Objekt Zeit (also im Sinne von Rechenzeit) gibst, werden die einzelnen Schritte auch sichtbar:



for I:=1 to 10000 do

begin

Label.Caption:=IntToStr(I);

Application.ProcessMessages; // oder eben Pause(n)

end;



Sleep ist hier wenig dienlich, da es den aktuellen Thread einfriert; und genau das ist ja nicht gewollt.

Wenn ich jetzt noch ein bisschen in meinen Quellcodes herumsuchen würde, könnte ich sicherlich noch einige Beispiele nennen, bei denen es ohne eine kleine 'Verschnaufpause' nicht ging. Ich glaube nicht, dass hier Programmierfehler vorliegen, lasse mich aber sehr gerne eines Besseren belehren.



Übrigens: Einen Fehler, der durch eine falsche(?) Reihenfolge der eingebundenen Units in der Uses-Liste entstand, hatte auch ich schonmal.



Gruß Michael.





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: