求助Delphi 循环写法 怎么让窗口的Button按键改成按一次就不停地执行该Button的动作?就是循环运行。 新手入门,盛表感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加个Timer就行了啊,多长时间执行一次,你自己设置Timer的间隔时间就可以了 这样不会死循环啊?至少得在form里面有个变量,控制button的事件在什么合适的时机终止运行才行吧。按你的要求,如果不用TTimer的话,那么在这个button事件的最后一个语句或是出口语句你来,加上消息发送Windows.PostMessage(button1.HWnd,BM_CLICK,0,0)这样,button事件执行完毕,立马button又会收到一个点击消息,又开始执行这个事件,循环不已楼主不会想学愚公移山吧,哈哈 再设置一下退出timer的条件。 你到底需要干什么?你搞清楚了,程序就容易写了。就像你的“按键改成按一次就不停地执行该Button的动作”是什么意思?可能有不同的解释,如果你实现了也许你会发现并不是你想实现的。 var stopdo:boolean;procedure TForm1.Button1Click(Sender: TObject);begin while not stopdo do begin sleep(1); application.ProcessMessages; end;end;procedure TForm1.Button2Click(Sender: TObject);begin stopdo:=true;end; 呵呵,初学者问题。 IDWB同学的回答很合我意,我稍作修改就能用了。大家的回答都很好,谢谢大家!让我增长了对Delphi的认识。 RadioButton和GroupBox 求一个HOOK住鼠标左右中键的代码? delphi编译问题 如何截获向文本框输入的汉字。? 怎样在循环内给一系列object赋值? ado执行冲突 一个头痛的效率问题,如何解决? 能不能自己调TForm的color? 用delphi6写的com+组件,在ASP中调用问题,当有返回参数时如何处理? 兩個query如何關聯 获取EDIT句柄 的问题 怎么在Delphi中使用Firebird??
按你的要求,如果不用TTimer的话,那么在这个button事件的最后一个语句或是出口语句你来,加上消息发送
Windows.PostMessage(button1.HWnd,BM_CLICK,0,0)
这样,button事件执行完毕,立马button又会收到一个点击消息,又开始执行这个事件,循环不已
楼主不会想学愚公移山吧,哈哈
再设置一下退出timer的条件。
就像你的“按键改成按一次就不停地执行该Button的动作”是什么意思?可能有不同的解释,如果你实现了也许你会发现并不是你想实现的。
stopdo:boolean;procedure TForm1.Button1Click(Sender: TObject);
begin
while not stopdo do
begin
sleep(1);
application.ProcessMessages; end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
stopdo:=true;
end;