begin for i := 1 to 1000 do
begin Label1.Caption := IntToStr(i);
end;
end;
上のような文を実行するとラベルには最後の数字しか表示されないのは何故なの
でしょうか?
処理速度が速いので最後の数字しか表示されないと考えたのですが、最後の数字を
10000にしても結果は変わりません。
ラベルはこうした連続した文字、数字の表示には向いていないのでしょうか?
目的としては、数字が変化していくのを表示することなのですが、良い方法をご存知の方いないでしょうか?
for文が終わるまで制御が帰ってこないからです。
画面に表示されるのはその制御が帰ってきた時です。
なのでかならず最後の文字しか表示されません。
表示したいのであれば、ProcessMessagesをいれれば増えていきますよ。
なるほど!助かりました。
aikoさん、どうもありがとうございます。
ツイート | ![]() |