devxlogo

Changing Label Captions in a FOR Loop

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 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.

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist