Question:
I’m trying something like this:
for i:=0 to 1000 do label1.caption:='I= '+inttostr(i);
but the loop executed so fast, the label doesn’t display anything until the loop is over.
This relates to a file copy method I’m creating. I want to display the name of the file being copied while a progress bar tracks the progress of the file copy. But the label won’t display the text in the loop!
Answer:
Here’s one thing that’s daunting to many people: Loops execute incredibly fast in Delphi. The only way to slow them down is to use theSleep procedure. Your new code would look like this:
for i:=0 to 1000 do begin label1.caption:='I= '+inttostr(i); Sleep(200); //sleep for 200 milliseconds before going on.end;
That’s the only way you can slow the loop down. Otherwise, the loop will finish execution in the blink of an eye.