Labelについて

解決


はてな君  2002-12-25 00:42:28  No: 2412

begin  for i := 1 to 1000 do
        begin Label1.Caption := IntToStr(i);
        end;

end;
上のような文を実行するとラベルには最後の数字しか表示されないのは何故なの
でしょうか?
処理速度が速いので最後の数字しか表示されないと考えたのですが、最後の数字を
10000にしても結果は変わりません。
ラベルはこうした連続した文字、数字の表示には向いていないのでしょうか?

目的としては、数字が変化していくのを表示することなのですが、良い方法をご存知の方いないでしょうか?


aiko  2002-12-25 00:45:44  No: 2413

for文が終わるまで制御が帰ってこないからです。
画面に表示されるのはその制御が帰ってきた時です。
なのでかならず最後の文字しか表示されません。
表示したいのであれば、ProcessMessagesをいれれば増えていきますよ。


はてな君  2002-12-25 01:39:29  No: 2414

なるほど!助かりました。
aikoさん、どうもありがとうございます。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加