Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Pascal
Expertise: Beginner
May 8, 1997

Changing Label Captions in a FOR Loop

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 the Sleep 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.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date