想在一秒钟之类,按特定的顺序,进行几步操作,而且每步操作又需要一点点时间,我放在一个timer里写的话,好像每次只执行一个,其它的都不做,放几个timer里,顺序又控制不好,不知道怎么做啊

解决方案 »

  1.   

    不要用Timer
    GetTickCount这个可以获得当前的毫秒数
    Application.ProcessMessages 循环等待时间到来的时候调用这个
      

  2.   

    GetTickCount 这个怎么用啊,有示例吗?
      

  3.   

    var
       t:Cardinal;
    begin
       t:=GetTickCount;
       while GetTickCount-t<1000 do
          Sleep(50);
          Application.ProcessMessages;
       end;
    end;
    比如这个暂停1秒,而且前台不会失去相应
      

  4.   


    procedure Timer1Timer
    begin
      Timer1.Enabled := false;  //先把定时器暂停
        ...
      Timer1.Enabled := true;
    end;