如在2007-12-5  10:00:00  到2007-12-5 11:00:00 显示10次 'OK'

解决方案 »

  1.   

    拿当前时间和时间段比较,在时间段之内就显示!
    代码你拼一下就行了!
    type TDateTime = type Double;
    也是数值
      

  2.   

    写了段代码,有问题。能帮忙看看么
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      myini:=tinifile.create('d:\mydata.ini');
      x:=myini.ReadString('data','x','2007-12-04 20:00:00');
      y:=myini.ReadString('data','y','2007-12-05 20:00:00');
      z:=myini.Readinteger('data','z',8);
      myini.free;
      d1:=strtodatetime(x);
      d2:=strtodatetime(y);
      d5:=(d2-d1)/z;
      for  i:=1 to z do
      begin  s:=s+1;
      d3:=d1+d5*s;  if d3=now then
      showmessage(datetimetostr(now));
       end;  end;就是timer1 内循环没搞定. if d3=now 有没有问题?新手不熟
      

  3.   

    ShowMessage出来的是模式对话框呀showmessage(datetimetostr(now)); 这个提示出来后,如果没有按“确定”,代码是不会执行下去的
      

  4.   

    定时器里面用ShowMessage会阻断执行,影响Timer的运行。
    另外, TDateTime是浮点数,相等操作也会有问题
      

  5.   

    是的,现在根本没有对话框弹出。我想再问一下, 这个思路能不能实现 “在指定时间段内 ,指定次数,显示 提示信息”。
    另外,   TDateTime是浮点数,相等操作也会有问题 》》我转换成string再比较应该可以吧?
      

  6.   

    if (当前时间 - 起点时间) MOD Trunc((终点时间-起点时间)/ 次数)  = 0 then
      显示提示信息
    时间相减的操作可以使用SecondsBetween或者MinutesBetween之类的来做,视要求精度而定,不过这类函数里面都有Trunc操作,所以要结合精度要求做些微调