delphi 一个按钮实现启动和暂停

用delphi编写一个1+2+3+。。。的累加器,单击按钮开始运行,并同步显示累加结果,再单击按钮式程序暂停,再单击按钮式继续上次向后累加。求各位大神帮忙,如能解决再追加... 用delphi编写一个1+2+3+。。。的累加器,单击按钮开始运行,并同步显示累加结果,再单击按钮式程序暂停,再单击按钮式继续上次向后累加。求各位大神帮忙,如能解决再追加30分!!! 展开
 我来答
darlingks
推荐于2016-10-09 · TA获得超过222个赞
知道小有建树答主
回答量:638
采纳率:75%
帮助的人:176万
展开全部
4步走
1.申明3个全局变量M_Pause: BOOL; [用来控制暂停\继续]
Loop_i, Result_i: integer;
2.Form的OnCreate事件中初始化 M_Pause:=False;
3.Button1的Caption为[启动] Button2的Caption为[暂停]
4.为2个按钮写如下代码[Sleep()控制速度]
procedure TForm1.Button1Click(Sender: TObject);
begin
While Not M_Pause do begin
Result_i:=Result_i+Loop_i+1;
inc(Loop_i);
Text:=inttostr(Result_i);
Application.ProcessMessages;
Sleep(300);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
M_Pause:=Not M_Pause;
If M_Pause then Button2.Caption:='继续' else Button2.Caption:='暂停';
Application.ProcessMessages;
Button1Click(Sender);
Sleep(300);
end;

D7下测试通过, 当然你也可以使用Timer控件。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高永存的编程小站
2013-01-27 · TA获得超过181个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:117万
展开全部
在定时器里只计算一次,定时时间设为1,这样每1毫秒就会计算一次;在另个按钮里设置定时器的启动和停止:
Timer1.Enabled:=not Timer1.Enabled;
如果想再快,就不能使用定时器了,要在循环里判断按钮2设置的启停标志是不是改变了,而且每循环一次要执行一次application.ProcessMessages;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy0qwer
2013-01-27 · TA获得超过3300个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1316万
展开全部
语法不是很清楚,思路应该一样的。
Timer1.Enabled = Not Timer1.Enabled
更多追问追答
追问
timer是什么?计时器吗?
追答
是的,你不是用定时器累加吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式