关于获取当前系统时间的问题,我编好了一段,但是不知如何修改,高手们帮帮忙.最好是完整的:var
curdate,curtime:TdateTime;
curyear,curmonth,curday:word;
curhour,curmin,cursec,curmsec:word;
procedure TForm1.Button1Click(Sender: TObject);begin
curdate:=date();
decodedate(curyear,curmonth,curday);
edit1.Text:=curyear;
edit2.Text:=curmonth;
edit3.Text:=curday;
Button1.Click(Form1);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
curtime:=time();
decodedate(curhour,curmin,cursec);
edit4.Text:=curhour;
edit5.Text:=curmin;
edit6.Text:=cursec;
Button2Click(Form1);
end;end.

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        Edit6: TEdit;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    var
    curdate,curtime:TdateTime;
    curyear,curmonth,curday:word;
    curhour,curmin,cursec,curmsec:word;procedure   TForm1.Button2Click(Sender:   TObject);
    begin
    curtime:=time();
    decodetime(curtime,curhour,curmin,cursec,curmsec);
    edit4.Text:=inttostr(curhour);
    edit5.Text:=inttostr(curmin);
    edit6.Text:=inttostr(cursec);
    //Button2Click(Form1);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    curdate:=date();
    decodedate(curdate,curyear,curmonth,curday);
    edit1.Text:=inttostr(curyear);
    edit2.Text:=inttostr(curmonth);
    edit3.Text:=inttostr(curday);
    //Button1.Click(Form1);
    end;end.
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        Edit6: TEdit;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    var
    curdate,curtime:TdateTime;
    curyear,curmonth,curday:word;
    curhour,curmin,cursec,curmsec:word;procedure   TForm1.Button2Click(Sender:   TObject);
    begin
    curtime:=time();
    decodetime(curtime,curhour,curmin,cursec,curmsec);
    edit4.Text:=inttostr(curhour);
    edit5.Text:=inttostr(curmin);
    edit6.Text:=inttostr(cursec);
    //Button2Click(Form1);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    curdate:=date();
    decodedate(curdate,curyear,curmonth,curday);
    edit1.Text:=inttostr(curyear);
    edit2.Text:=inttostr(curmonth);
    edit3.Text:=inttostr(curday);
    //Button1.Click(Form1);
    end;end.
      

  3.   

    edit1 := formatdatetime('yyyy-MM-dd hh:mm:ss', now);
    返回值包含日期和时间如:2007-12-12 17:33:21
      

  4.   

    打错了,更正一下
    edit1.text := formatdatetime('yyyy-MM-dd   hh:mm:ss',   now); 
    返回值包含日期和时间如:2007-12-12   17:33:21
      

  5.   

    获取当前系统时间一般是用SysUtils单元中几个函数
    function Now: TDateTime;
    function Date: TDateTime;
    function Time: TDateTime;
    然后显示在界面上可以用FormatDateTime转成你要的形式,用DecodeDateTime/DecodeDate/DecodeTime当然也可以,不过转下来是整型的,而且由于需要变量参数,还要额外定义变量
    procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word);
      

  6.   

    还有你在Button1Click方法里调用它自已是什么目的呢?
    这个递归调用不就变成死循环了,呵呵