比如我用timer组件实现倒计时,如果我不想使用timer组件,代码如何写?

解决方案 »

  1.   

    windows api
    settimer
    killtimer
      

  2.   

    添加一个线程在线程中用GetTickCount,来判断时间的进度,同时配合Sleep的使用即可以实现
      

  3.   

    procedure Delay(MSecs: Longint);
    //延时函数,MSecs单位为毫秒(千分之1秒)
    var
      FirstTickCount, Now: Longint;
    begin
      FirstTickCount := GetTickCount();
      repeat
        Application.ProcessMessages;
        Now := GetTickCount();
      until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount);
    end;