⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 取Internet服务器时间
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp;

type
  TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    Edit1: TEdit;
    Button1: TButton;
    ServerSocket1: TServerSocket;
    CheckBox1: TCheckBox;
    ListBox1: TListBox;
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var

  TempTime: TDateTime;

  hh,mm,ss,ms: word;

  sTime : string;
  i,con:integer;
begin

  sTime := Socket.ReceiveText;    // 取得格林尼治时间;

  if checkbox1.Checked=true then //发送收到的时间
  begin
    for i:=0 to serversocket1.Socket.ActiveConnections-1 do
    begin
      serversocket1.Socket.Connections[0].SendText(sTime);
      serversocket1.Socket.Connections[0].Close;
    end;
  end;
  sTime:=Copy(sTime,8,17);      // 取得时间部分;
  TempTime:=strtodatetime(sTime)+1/3;
  //DecodeTime(StrToTime(sTime),hh,mm,ss,ms);

  //hh:=(hh+8) mod 24;           // 转化成北京时间;

  //TempTime:=EncodeTime(hh,mm,ss,ms);

  //Edit1.Text :=TimeToStr(TempTime);
  edit1.Text:=datetimetostr(TempTime);
  clientsocket1.Close;
  clientsocket1.Tag:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.Close;
clientsocket1.Open;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then
begin
  serversocket1.Active:=true;
end
else
begin
  serversocket1.Active:=false;
end;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
if clientsocket1.Tag<>1 then
begin
  clientsocket1.Close;//连接时间服务器取时间
  clientsocket1.Open;
  clientsocket1.Tag:=1;
end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -