📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ScktComp, StdCtrls,shellAPI;
type
TForm1 = class(TForm)
Memo1: TMemo;
ss: TServerSocket;
Memo2: TMemo;
procedure FormCreate(Sender: TObject);
procedure ssClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure ssClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ssClientRead(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
procedure resetLog();
procedure log(s:string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.log(s:string);
begin
memo2.lines.add(s);
end;
procedure TForm1.resetLog();
begin
memo2.lines.clear;
memo2.lines.add('logging sistem : '+FormatDateTime('dd-mm-yyyy hh:nn:ss',now) );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
resetLog();
try
ss.Active := true;
log('status server : aktif');
log('listening ..');
except
ss.close;
log('status server : ora aktif');
end;
end;
procedure TForm1.ssClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
log('client connect : '+socket.RemoteHost)
end;
procedure TForm1.ssClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
log('Listening...');
end;
procedure TForm1.ssClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
msgClient,
msg1,msg2 : string;
begin
msgClient := Socket.ReceiveText;
msg1 := copy(msgClient,1,3);
msg2 := copy(msgClient,4,length(msgClient)-length(msg1));
if uppercase(msg1)='NTP' then
ShellExecute(handle,'open','c:\windows\notepad.exe',nil,'c:\',sw_show)
else if uppercase(msg1)='MSG' then
showmessage(msg2)
else if uppercase(msg1)='CLS' then
begin
showmessage('server akan ditutup !! klik OK ..');
ss.Close;
Application.Terminate;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -