📄 unit1.~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 + -