C++中DELAY延时函数是否还有用?

snoopy_ken 2002-09-13 05:42:06
如题:

该怎么写?要include哪几个头文件?谢谢
...全文
409 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
annkie 2002-09-14
  • 打赏
  • 举报
回复
也可以这样:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i = 0 ; i <= 5 ; i++)
{
Label1->Caption=IntToStr(i);
Application->ProcessMessages();
Sleep(1000);
}
}
Libran 2002-09-14
  • 打赏
  • 举报
回复
改成:
for( int i=0 ; i <=5 ; i++ )
{
Label1->Caption=IntToStr(i);
Update();
Sleep(1000);
}
这样才对
Libran 2002-09-14
  • 打赏
  • 举报
回复
TO:ThreeColor(三色)
但是事实上运行时等待5秒后Label1显示4,why?

回答:because i它就是4!
...
for( int i=0 ; i <5 ; i++ )//i=5时跳出循环,Label1不会再显示5!
...

halfdream 2002-09-14
  • 打赏
  • 举报
回复
TO:ThreeColor(三色)
原因很简单,在你这个程序里面没有留出机会让LABEL显示。
for( int i=0 ; i <5 ; i++ )
{
Label1->Caption=IntToStr(i);
Update();//加上它应该可以了。
Sleep(1000);
}


codecb 2002-09-13
  • 打赏
  • 举报
回复
Sleep不用包含头文件!
三色 2002-09-13
  • 打赏
  • 举报
回复
用Sleep()确实挺好,但是我在使用时遇到如下问题:
for( int i=0 ; i <5 ; i++ )
{
Label1->Caption=IntToStr(i);
Sleep(1000);
}
你应该看出我的意图:每隔一秒钟Label1就重新显示,
但是事实上运行时等待5秒后Label1显示4,why?
szbug 2002-09-13
  • 打赏
  • 举报
回复
强烈建议用Sleep吧。。
Libran 2002-09-13
  • 打赏
  • 举报
回复
用Sleep(n),n为毫秒数
王集鹄 2002-09-13
  • 打赏
  • 举报
回复
Sleep(1000); //用Api吧

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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