悲 悲痛莫明 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #1 我想while 实现循环,但是我需要一个延迟的效果 while begin //我想加一个函数,使得循环能够每执行一步就 停一下 end 我试过用sleep 可是没有成功。
D duducat Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #2 应该是sleep(1000);//1000为一秒钟
D duducat Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #3 sleep(1000)为延时,但不能循环暂停! 暂停应该用showmessage('XXX');//里面为你要提示的内容!! 你自己可以追加其他提示和相应操作!
悲 悲痛莫明 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #4 我暂停的意思 不是中断,而是循环仍在执行 不过没有循环一次就要一个一个时间上的停顿 [!]
J jrq Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #5 》》》不过没有循环一次就要一个一个时间上的停顿 是什么意思?
U ugvanxk Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #6 application.ProcessMessages //做你要做的事情
L lmxtom Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #10 至少有两种可行的办法: 1、利用 application.ProcessMessages 过程 2、利用 Ttimer 控件代替while 循环语句,在ontimer事件中判断条件 和执行你所需要的工作。
至少有两种可行的办法: 1、利用 application.ProcessMessages 过程 2、利用 Ttimer 控件代替while 循环语句,在ontimer事件中判断条件 和执行你所需要的工作。
悲 悲痛莫明 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #11 可是我想用 ttimer 我的意思其实是这样的 我要的是一个动态的显示 如我每隔一段时间就 写一个字 我想用while实现
荷 荷塘新月 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #12 你可以把这个过程写在TTIMER的ONTIME事件里,比如每隔0.3秒显示一个字符,这样比用 SLEEP好多了!
悲 悲痛莫明 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-15 #13 application.ProcessMessages 怎么用呀
L lmxtom Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-16 #14 加入一个 Tedit,TButton 试试 var MyEvent:Thandle; i:integer; begin i := 0; MyEvent :=CreateEvent(nil,True,False,nil); while i < 10 do begin i := i+1; Waitforsingleobject(myevent,1000); edit1.Text:=edit1.Text+inttostr(i); edit1.Refresh; end; end;
加入一个 Tedit,TButton 试试 var MyEvent:Thandle; i:integer; begin i := 0; MyEvent :=CreateEvent(nil,True,False,nil); while i < 10 do begin i := i+1; Waitforsingleobject(myevent,1000); edit1.Text:=edit1.Text+inttostr(i); edit1.Refresh; end; end;
C cook Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-16 #15 建议用timer来做 在timer中设一个变量来记录循环次数 因为用sleep的话 这时候程序就不干什么了
W warket Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-16 #18 真是的竟然没有一个高手,用这个函数把 var dd:tdatetime; dd:=now+encodetime(0,0,0,xx); while now<dd do application.prossg.. xx为毫秒数.
真是的竟然没有一个高手,用这个函数把 var dd:tdatetime; dd:=now+encodetime(0,0,0,xx); while now<dd do application.prossg.. xx为毫秒数.
B bswilson Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-16 #19 用timer Label1.Caption := Copy(S,1,Delta);//s为你想显示的完整字串 delta := delta+1;