一个label1.Caption的问题,请高手解答

startjoy 2003-08-29 07:38:28
程序运行时,要在Label1上显示当前所运行的状态,例如:
begin
label1.Caption:='11111';
sleep(5000);
label1.Caption:='22222';
sleep(5000);
label1.Caption:='33333';
sleep(5000);
label1.Caption:='44444';
end;
程序运行时不会顺序的显示出'11111'至'44444',而是执行完成后仅显示最后一个'44444',问应如何处理?
...全文
90 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
startjoy 2003-09-01
  • 打赏
  • 举报
回复
多谢各位的帮忙,
又有新问题:
http://expert.csdn.net/Expert/topic/2209/2209320.xml?temp=.8805506
Iamfish 2003-08-29
  • 打赏
  • 举报
回复
Label1.Update也行哦.哈哈.

为了延时吗?我觉得用sleep不好.因为sleep就睡着了.不会干事了.用


var i:integer


label1.Caption:='11111';
label1.update();
for i:=0 to 100000 do //10000这个数要多大,就看你要延时多久了.
Application.ProcessMessages();

label1.Caption:='22222';

Eastunfail 2003-08-29
  • 打赏
  • 举报
回复
加Refresh或者Repaint都没有Application.ProcessMessages好,Application.ProcessMessages可以使程序不至于像"当"掉了
baguli 2003-08-29
  • 打赏
  • 举报
回复
告诉你另外一个方法:
在每一个 Sleep(5000)语句前加Label1.Refresh;也可以。
startjoy 2003-08-29
  • 打赏
  • 举报
回复
请帮忙解决

http://expert.csdn.net/Expert/topic/2144/2144995.xml?temp=.7845423

星期一结帖
Eastunfail 2003-08-29
  • 打赏
  • 举报
回复
Application.ProcessMessages()调用之后,将从Windows消息队列中获取当前进程的消息,然后再根据消息作相应的处理,例如重绘,各种事件等。
startjoy 2003-08-29
  • 打赏
  • 举报
回复
多谢
boywu 2003-08-29
  • 打赏
  • 举报
回复
Application.ProcessMessages();是什么意思啊?
hmily1688 2003-08-29
  • 打赏
  • 举报
回复
晕!!!红星的也和偶们穷人抢分啊。
Eastunfail 2003-08-29
  • 打赏
  • 举报
回复
在Sleep(5000);后面加一句:Application.ProcessMessages();

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧