当系统时间第增加一秒,则LABEL值就减一不就可以吗到最后在判断一下。

解决方案 »

  1.   

    var
      Form1: TForm1;
      i,j,k : integer;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Label1.Caption := TimeToStr(EncodeTime(i,j,k,0));
      k:=k-1;
      if k <0 then
      begin
        k:=59;
        j:=j-1;
        if j<0 then
        begin
          j:=59;
          i:=i-1;
          if i<0 then ShowMessage('时间到啦,你死啦!')
        end;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      i:=0;
      j:=59;
      k:=59;
    end;
      

  2.   

    不怕你系统繁忙的话!!!
    可以用TIME()获得初始时间STIME
    NTIME为现在时间
    NTIME-STIME就可以直接显示在LABEL上了
      

  3.   

    var
      TotalTimes:LongInt; //总的时间,以秒为单位//请将Timer1.Interval设置成1000
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      TotalTimes:=TotalTimes-1;
      Label1.caption:=FormatDateTime('hh:nn:ss',(TotalTimes/(24*3600)));
    end;
      

  4.   

     var
      TotalTimes:LongInt; //总的时间,以秒为单位//请将Timer1.Interval设置成1000
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      TotalTimes:=TotalTimes-1;
      if TotalTimes=0 then
        Begin
          Label1.caption:='还没有搞定,去死吧!';
          Timer1.enabled:=False;
          Exit;    end
        
      Label1.caption:=FormatDateTime('hh:nn:ss',(TotalTimes/(24*3600)));
    end;
      
      

  5.   

        FTime: TTime;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      if Caption = '00:00:00' then begin
        TTimer(Sender).Enabled := False;
        //
        Exit;
      end;
      Caption := FormatDateTime('hh:nn:ss', StrToTime('01:00:01') - (Time - FTime));
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      FTime := Time;
    end;