在程序中延时2秒怎么写啊?

解决方案 »

  1.   

    for i := 1 to 100 do
    begin
       Sleep(20);
       Application.ProcessMessage;
    end;
      

  2.   

    begin_time:=gettickcount;
        end_time:=gettickcount;    while ((end_time-begin_time) div 1000) < 2  do
        begin
          Application.ProcessMessages;
          end_time:=gettickcount;
         end;
      

  3.   

    uses
      Forms,
      Unit_login in 'Unit_login.pas' {Form1},
      Unit_main in 'Unit_main.pas' {Form2},
      Unit_welcom in 'Unit_welcom.pas' {Form3};{$R *.RES}  var mydate :Tdatetime;
    begin
      form3:=TForm3.create(application);  form3.show;  form3.update;
      mydate:=GetTickCount;
      while((GetTickCount-mydate) / 1000 <2) do;  Application.Initialize;  Application.Title := '欢迎使用';  Application.CreateForm(TForm1, Form1);  form3.Close;  form3.free;  Application.Run;end.gettickcount出错啊
    undeclared identifier:'gettickCount'
      

  4.   

    1.也可以采用Timer控件的OnTimer()方法,调节该控件的时间间隔,相当于每隔多久执行一次。
    2.编写间隔函数,如:
    //DWORD为毫秒级
    procedure TimeDelay(DT:DWORD);
    var TT:DWORD;
    begin
            TT:=GetTickCount();
            While GetTickCount()-TT<DT do
                    Application.ProcessMessages;
    end;
      

  5.   

    GetTiclCount的返回值不是Tdatetime类型的,而是Longint类型的
      

  6.   

    不好意思 应该是GetTickCount