如何从internet服务器上校对时间:  WinXP下,双击任务栏右下角的系统时间,
  出来一个“日期和时间 属性”设置窗口。
  选择“internet 时间”。
  在这里可能设置系统时间与internet服务器时间同步。
  可以根据internet服务器更正系统时间。
  还可以选择服务器(如可以选择香港天文台的服务器)。请问这如何用delphi程序实现。

解决方案 »

  1.   


    软件当然有了,比如cool clock。
    但,我们作为程序设计者,我们想知道实现方法。我也想知实现代码。up
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      NMDayTime1: TNMDayTime;
      currentTime:TSystemTime;
      i:integer;
      str:String;
    begin
    NMDayTime1:=TNMDayTime.Create(self);
    NMDayTime1.Host:='202.109.114.209';
    NMDayTime1.Port:=13;
    Label1.Caption:=NMDayTime1.DayTimeStr;
    Edit1.Text:=Label1.Caption;
    str:=copy(Label1.Caption,0,8);
    DecodeTime(StrToTime(str),CurrentTime.wHour,CurrentTime.wMinute,
          CurrentTime.wSecond,CurrentTime.wMilliseconds);
    str:=copy(Label1.Caption,10,Length(Label1.Caption)-7);
    DecodeDate(StrToDate(trim(str)),CurrentTime.wYear,CurrentTime.wMonth,
          CurrentTime.wDay);
    SetLocaltime(currentTime);
    NMDayTime1.Destroy;
    end;
      

  3.   

    同意楼上说法,我也试过用TNMDayTime控件,但必须要在局域网的服务器端启动时间校对的功能才行。
      

  4.   

    在 d7版本上用 TIdDayTime ,在"indy client" page页上。
      

  5.   

    net time 时间服务器名或IP
      

  6.   

    使用HTTP协议同步服务器时间,下面是一个VC的例子.
    http://www.codeguru.com/internet/AtomicSync.html