C
coastor
Unregistered / Unconfirmed
GUEST, unregistred user!
希望用TTimer实现一个定时的功能,基本思想是先用一个AnsiString 保存一个时间格式的
字符串“XX:XX:XX”,然后在TTimer事件中提取系统时钟,转换成相同的字符串格式,然后比较,比较相同后发生下一步的动作,可是运行起来没反应,TTimer中的相关代码如下
TDateTime DateTime = Time();
AnsiString sTime = TimeToStr(DateTime);
Label1->Caption = sTime;
if(sTime.AnsiCompare("9:48:00"==0)
Label1->Font->Color=clGreen;
//到时间后实际颜色没变
结果字体颜色没变,我还用了另一种方法提取系统时间
Label1->Caption=Now().TimeString();
AnsiString sTime;
sTime=Label1->Caption ;
结果还是没反应,比较部分if( )那块也试过别的办法,也不行
属性interval也设置的足够小,不存在跳过去,没比较到的可能
我还是学生,望前辈指点一二
还有一点不明白,我把interval设大之后我感觉TTimer事件发生的间隔就会变大,比如上面的代码中有把时间显示出来的功能,我把interval设置成5000,那我想表示时间的Caption应该是隔五秒一跳才对,可是时间显示却是连续变化,why??
字符串“XX:XX:XX”,然后在TTimer事件中提取系统时钟,转换成相同的字符串格式,然后比较,比较相同后发生下一步的动作,可是运行起来没反应,TTimer中的相关代码如下
TDateTime DateTime = Time();
AnsiString sTime = TimeToStr(DateTime);
Label1->Caption = sTime;
if(sTime.AnsiCompare("9:48:00"==0)
Label1->Font->Color=clGreen;
//到时间后实际颜色没变
结果字体颜色没变,我还用了另一种方法提取系统时间
Label1->Caption=Now().TimeString();
AnsiString sTime;
sTime=Label1->Caption ;
结果还是没反应,比较部分if( )那块也试过别的办法,也不行
属性interval也设置的足够小,不存在跳过去,没比较到的可能
我还是学生,望前辈指点一二
还有一点不明白,我把interval设大之后我感觉TTimer事件发生的间隔就会变大,比如上面的代码中有把时间显示出来的功能,我把interval设置成5000,那我想表示时间的Caption应该是隔五秒一跳才对,可是时间显示却是连续变化,why??