社区
C++ Builder
帖子详情
OnTimer能不能自己关闭自己?
exjmeng
2004-12-08 05:01:34
OnTimer事件里写
//计数器累加条件满足,则
Timer1->Enabled=false;
return;
直接报错,请教!
...全文
610
14
打赏
收藏
OnTimer能不能自己关闭自己?
OnTimer事件里写 //计数器累加条件满足,则 Timer1->Enabled=false; return; 直接报错,请教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Javpp
2004-12-08
打赏
举报
回复
肯定可以的,我就是这么做的
jishiping
2004-12-08
打赏
举报
回复
当你调用ShowMessage时,ShowMessage后面的代码暂时不会执行,知道你关闭ShowMessage的消息框。但是此时,Timer还是在运行的,所以如果你没有关闭消息框的话,还是会执行OnTimer事件的,也就是仍然会弹出消息框。改成下面的代码,程序就会按照你的意愿执行了。
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
i++;
if (i > 5)
Timer1->Enabled=false;
ShowMessage(IntToStr(i));
}
yf2100
2004-12-08
打赏
举报
回复
showmessage之后程序在等你点啊
zlc990405
2004-12-08
打赏
举报
回复
请问你的i是否为全局变量,如果不是就当然运行不到if里面,最好定义为static int i = 0;这样就可以不丢失上次的计算结果了
客家族_Shark曾_小凡仙
2004-12-08
打赏
举报
回复
int i=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
i++;
ShowMessage(IntToStr(i));
if(i>5)
{
Timer1->Enabled=false;
return;
}
}
客家族_Shark曾_小凡仙
2004-12-08
打赏
举报
回复
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
i++;
ShowMessage(IntToStr(i));
if(i==5)
{
Timer1->Enabled=false;
return;
}
}
跟踪时只在
i++;
ShowMessage(IntToStr(i));
运行,
根本没有运行到if语句啊,为什么?????
笨 ShowMessage等着你回复 这时候系统不断地发Time消息过来 OnTime就不断地执行
3996906
2004-12-08
打赏
举报
回复
1、别用ShowMessage(IntToStr(i));它要你点确定了才接着动的
2、条件判断不可能错的
robbyzi
2004-12-08
打赏
举报
回复
OnTimer能不能自己关闭自己?
//-----------
答曰:绝对可以。
你在OnTimer的事件里其它代码写了什么,贴来看看。
hailin10
2004-12-08
打赏
举报
回复
如果这样
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
i++;
if(i==5)
{
Timer1->Enabled=false;
return;
}
}
在i<5的时候还是能够进入到if语句,直接执行return.没有执行Timer1->Enabled=false;
当i>=5的时候,才可以正确执行,why?????????????????????????????
hailin10
2004-12-08
打赏
举报
回复
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
i++;
ShowMessage(IntToStr(i));
if(i==5)
{
Timer1->Enabled=false;
return;
}
}
跟踪时只在
i++;
ShowMessage(IntToStr(i));
运行,
根本没有运行到if语句啊,为什么?????
3996906
2004-12-08
打赏
举报
回复
检查其他部分的代码,这样是肯定能用的
hailin10
2004-12-08
打赏
举报
回复
我的没有抱错,就是停不下来。晕了。
3996906
2004-12-08
打赏
举报
回复
偶试了return只是有警告,说有代码不能不能执行到,也不出错
3996906
2004-12-08
打赏
举报
回复
别return啊
VC 让窗口标题栏在任务栏闪烁.rar
//
关闭
定时器 Kill
Timer
(1); //窗口返回原始状态 FlashWindow(FALSE); } void CDemoDlg::On
Timer
(UINT nIDEvent) { if (nIDEvent == 1) { //窗口从一种状态闪烁到另一种状态 ...
定时器的用法的心得体会
使用Set
Timer
(nIDEvent,time,NULL)来建立一个定时器,
关闭
定时器用Kill
Timer
(nIDEvent)函数。 然后可以响应ON_WM_
TIMER
消息来响应一个定时器完成一次记时后的程序。 响应方式如下: void CTimeDlg::On
Timer
(UINT ...
一款定时/循环执行任务的绿色小软件
可以打开程序,目录,网站,文件,和Windows运行一样,只是不能带参数 如: [内容]http://www.yryz.net [内容]d:\mp3\爱上你是个错.mp3(可实现音乐闹钟) 2.参数运行: 可以带参数运行程序 如: [内容]...
定时器的设计和实现
简单的定时器设计,点击开始计时,点击
关闭
停止计时,使用vc++编程,使用on
timer
等相关函数
wpf写一个秒表计时器程序
///
关闭
显示器 /// public void CloseScreen() { IntPtr windowHandle = Process.GetCurrentProcess().MainWindowHandle; SendMessage(windowHandle, WM_SYSCOMMAND, SC_MONITORPOWER, 2); // 2 为
关闭
...
C++ Builder
13,825
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章