📄 unit2.pas
字号:
SendStrm.Free;
end;
application.ProcessMessages;
if SpeedButton35.Down then
begin
SendString:='KU'+'#'+IntToStr(9);
SendStrm:=TStringStream.Create(SendString);
MouseKeyBdUDP.SendStream(SendStrm);
SendStrm.Free;
end;
application.ProcessMessages;
if SpeedButton31.Down then
begin
SendString:='KU'+'#'+IntToStr(46);
SendStrm:=TStringStream.Create(SendString);
MouseKeyBdUDP.SendStream(SendStrm);
SendStrm.Free;
end;
application.ProcessMessages;
if SpeedButton27.Down then
begin
SendString:='KU'+'#'+IntToStr(18);
SendStrm:=TStringStream.Create(SendString);
MouseKeyBdUDP.SendStream(SendStrm);
SendStrm.Free;
end;
application.ProcessMessages;
if SpeedButton33.Down then
begin
SendString:='KU'+'#'+IntToStr(16);
SendStrm:=TStringStream.Create(SendString);
MouseKeyBdUDP.SendStream(SendStrm);
SendStrm.Free;
end;
application.ProcessMessages;
if SpeedButton28.Down then
begin
SendString:='KU'+'#'+IntToStr(17);
SendStrm:=TStringStream.Create(SendString);
MouseKeyBdUDP.SendStream(SendStrm);
SendStrm.Free;
end
else Begin end;
//MouseKeyBdUDP.SendStream(SendStrm);
end;
end;
procedure TForm2.SpeedButton40Click(Sender: TObject);
begin
Form3.Parent:=SCrollBox1;
Form3.Visible:=SpeedButton40.Down;
Form3.Top:=0;
Form3.Left:=220;
end;
procedure TForm2.SpeedButton76Click(Sender: TObject);
begin
StatusBar3.Panels[1].Text:='下载服务端口侦听关闭!';
BitBtn3.Enabled:=True;
SSocket1.Close;
end;
procedure TForm2.SSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
StatusBar3.Panels[1].Text:='连接异常中断!';
ErrorCode:=0;
Label18.Caption:='文件传输失败!';
Socket.Close;
end;
procedure TForm2.SpeedButton78Click(Sender: TObject);
begin
ReplaceSocket.Close;
end;
procedure TForm2.ReplaceSocketClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
Label28.Caption:='文件传输失败!';
ErrorCode:=0;
end;
procedure TForm2.SpeedButton75Click(Sender: TObject);
begin
if SpeedButton75.Down then
begin
SpeedButton75.Glyph:=SpeedButton80.Glyph;
StatusBar3.Panels[1].Text:='下载存盘后运行!';
end
else
begin
SpeedButton75.Glyph:=SpeedButton5.Glyph;
StatusBar3.Panels[1].Text:='下载存盘即可!';
end;
end;
procedure TForm2.SpeedButton77Click(Sender: TObject);
Var
ReplaceFNStream:TStringStream;
TheSaveDir,TheFileName:String;
iLStat:integer;
begin
//TCP<--->TCP 可靠调度
if (SpeedButton81.Down and SpeedButton84.Down) then
Begin
//--------------
if Label28.Caption='TCP远程执行启动' then
Begin
try
if CFileSocket.Active=TRUE then
Begin
Repeat
iLStat:=CFileSocket.Socket.SendText('RNN');
if iLStat=0 then Application.ProcessMessages;
until iLStat<>0;
end;
except
Label28.Caption:='TCP远程关闭失败';
exit;
end;
Label28.Caption:='TCP远程执行关闭';
exit;
end;
//----------------
try
if CFileSocket.Active=TRUE then
Begin
Repeat
iLStat:=CFileSocket.Socket.SendText('RVN');
if iLStat=0 then Application.ProcessMessages;
until iLStat<>0;
end;
except
Label28.Caption:='TCP远程执行失败';
exit;
end;
Label28.Caption:='TCP远程执行启动';
exit;
end;
//UDP<--->UDP 快速调度
ReplaceUDP.RemoteHost:=MaskEdit2.Text;
RemoteSaveID:=18;
TheFileName:=ExtractFileName(OpenDialog2.FileName);
ReplaceFNStream:=TStringStream.Create('远程执行');
ReplaceUDP.SendStream(ReplaceFNStream);
ReplaceFNStream.Free;
end;
procedure TForm2.ReplaceUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
var
RStream:TStringStream;
begin
RStream:=TStringStream.Create('');
ReplaceUDP.ReadStream(RStream);
if RemoteSaveID=28 then
ComboBox1.Text:=RStream.DataString else
label28.Caption:=RStream.DataString;
RStream.Free;
end;
procedure TForm2.ReplaceSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if RemoteSaveID=18 then
Label28.caption:=Socket.ReceiveText;
if RemoteSaveID=8 then
Label13.caption:=Socket.ReceiveText;
Socket.Close;
end;
procedure TForm2.SpeedButton80Click(Sender: TObject);
Var
ReplaceFNStream:TStringStream;
iLStat:integer;
begin
//TCP<-->TCP 可靠连接传输
ReplaceSocket.Open;
if (SpeedButton81.Down and SpeedButton84.Down) then
Begin
try
if CFileSocket.Active=TRUE then
Begin
Repeat
iLStat:=CFileSocket.Socket.SendText('RUN'+ComboBox1.Text);
if iLStat=0 then Application.ProcessMessages;
until iLStat<>0;
end;
except
exit;
end;
exit;
end;
//UDP<--->UDP 快速连接传输
ReplaceUDP.RemoteHost:=MaskEdit2.Text;
RemoteSaveID:=28;
ReplaceFNStream:=TStringStream.Create('RUN'+ComboBox1.Text);
ReplaceUDP.SendStream(ReplaceFNStream);
ReplaceFNStream.Free;
end;
procedure TForm2.SpeedButton81Click(Sender: TObject);
begin
Panel88.Enabled:=SpeedButton81.Down;
end;
procedure TForm2.SendFileExUDPDataReceived(Sender: TComponent;
NumberBytes: Integer; FromIP: String; Port: Integer);
Var
AStream:TStringStream;
iCount2:integer;
DirChar:String;
begin
AStream:=TStringStream.Create('');
SendFileExUDP.ReadStream(AStream);
OutLine1.Lines.Clear;
OutLine1.Lines.LoadFromStream(AStream);
ComboBox1.Items.Clear;
For iCount2:=0 to OutLine1.Lines.Count-1 do
begin
DirChar:=OutLine1.Lines[iCount2];
ComboBox1.Items.Add(DirChar[1]+DirChar[2]+'\');
end;
AStream.Free;
end;
procedure TForm2.SFileSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
{R-}
var
LReadBuffer:Array[1..8192] of Char;
LBuffer2 :Array[1..5] of Char;
LReadSizeTemp,LLen2:integer;
LInnerStr:String;
begin
LReadSizeTemp:=0;
LReadSizeTemp:=Socket.ReceiveBuf(LReadBuffer,8192);
if LReadSizeTemp<>-1 then
GFileDirStream.Write(LReadBuffer,LReadSizeTemp)
else exit;
GFileDirStream.Position:=GFileDirStream.Size-5;
GFileDirStream.Read(LBuffer2,5);
GFileDirStream.Position:=GFileDirStream.Size;
//====================================================目录传送
if LBuffer2='$$$$$' then
begin
StatusBar3.Panels[1].Text:='目录传送完毕!正在获取文件列表...';
GFileDirStream.Position:=0;
GFileDirStream.SetSize(GFileDirStream.Size-5);
OutLine1.LoadFromStream(GFileDirStream);
GFileDirStream.Clear;
Socket.SendText('NEXT');
if OutLine1.Lines.Count>=2 then
begin
LLen2:=Length(OutLine1.Lines[1]);
if LLen2>0 then
begin
LInnerStr:=OutLine1.Lines[1];
if LInnerStr[LLen2]='.' then
OutLine1.Lines.Delete(1);
end;
LLen2:=Length(OutLine1.Lines[0]);
if LLen2>0 then
begin
LInnerStr:=OutLine1.Lines[0];
if LInnerStr[LLen2]='.' then
OutLine1.Lines.Delete(0);
end;
if OutLine1.Lines.Count=0 then
begin
OutLine1.Lines.Add('提示:返回上一级目录');
OutLine1.Enabled:=False;
end;
end;
end;
//====================================================文件传送
if LBuffer2='%%%%%' then
begin
StatusBar3.Panels[1].Text:='文件列表传送完毕!';
GFileDirStream.Position:=0;
GFileDirStream.SetSize(GFileDirStream.Size-5);
OutLine2.LoadFromStream(GFileDirStream);
Label28.Caption:='共:'+IntToStr(OutLine2.Lines.Count)+'个'
+IntToStr(GFileDirStream.Size)+'字节';
GFileDirStream.Clear;
Socket.Close;
end;
{R+}
end;
procedure TForm2.SpeedButton84Click(Sender: TObject);
begin
MaskEdit2.Enabled:=False;
CheckListBox4.Enabled:=False;
CFileSocket.Host:=MaskEdit2.Text;
Panel12.Enabled:=not SpeedButton84.Down;
CFileSocket.Active:=SpeedButton84.Down;
if SpeedButton84.Down=False then
SpeedButton84.Caption:='TCP<->断开';
if CFileSocket.Active=True then
Begin
Panel12.Enabled:=True;
SpeedButton84.Caption:='TCP<-已连接';
end;
end;
procedure TForm2.CFileSocketError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
MaskEdit2.Enabled:=True;
CheckListBox4.Enabled:=True;
Panel12.Enabled:=True;
ErrorCode:=0;
SpeedButton84.Down:=False;
SpeedButton84.Caption:='TCP<->失败';
StatusBar3.Panels[0].Text:='连接状态:连接失败!';
end;
procedure TForm2.CFileSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Panel12.Enabled:=True;
SFileSocket.Active:=True;
SpeedButton84.Caption:='TCP<->成功';
StatusBar3.Panels[0].Text:='连接状态:连接成功!';
end;
procedure TForm2.SpeedButton83Click(Sender: TObject);
begin
if SpeedButton84.Down=False then
SpeedButton84.Caption:='TCP<->TCP';
end;
procedure TForm2.SpeedButton82Click(Sender: TObject);
begin
if SpeedButton84.Down=False then
SpeedButton84.Caption:='TCP<->TCP';
end;
procedure TForm2.CFileSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar3.Panels[0].Text:='远程状态反馈:'+Socket.ReceiveText;
SpeedButton84.Caption:='OK<-TCP';
end;
procedure TForm2.SFileSocketClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
GFileDirStream.Clear;
end;
procedure TForm2.SFileSocketClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
GFileDirStream.Clear;
end;
procedure TForm2.SFileSocketClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ErrorCode:=0;
end;
procedure TForm2.CFileSocketConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar3.Panels[0].Text:='连接状态:正在连接...';
end;
procedure TForm2.CFileSocketLookup(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar3.Panels[0].Text:='连接状态:企图建立...';
end;
procedure TForm2.CFileSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
MaskEdit2.Enabled:=True;
CheckListBox4.Enabled:=True;
StatusBar3.Panels[0].Text:='连接状态:断开!';
end;
procedure TForm2.SSocket1Accept(Sender: TObject; Socket: TCustomWinSocket);
begin
StatusBar3.Panels[1].Text:='来自:'+Socket.RemoteAddress+'的请求正在连接中!';
end;
procedure TForm2.SSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar3.Panels[1].Text:='来自'+Socket.RemoteAddress+'寻求的下载端口关闭!';
end;
procedure TForm2.SpeedButton37Click(Sender: TObject);
var
StrLStream:TStringStream;
SendString:String;
iL:integer;
begin
for iL:=0 to CheckListBox88.Items.Count-1 do
begin
if CheckListBox88.Selected[iL]=True then
SendString:=CheckListBox88.Items[iL];
end;
Try
StrLStream:=TStringStream.Create(SendString);
SysUDP.RemoteHost:=MaskEdit13.Text;
SysUDP.SendStream(StrLStream);
except
end;
StrLStream.Free;
SpeedButton34.Click;
end;
procedure TForm2.SpeedButton38Click(Sender: TObject);
var
SendStrm:TStringStream;
SendString:String;
begin
if SpeedButton40.Down=False then
begin
MouseKeyBdUDP.RemoteHost:=MaskEdit1.Text;
MouseKeyBdUDP.RemotePort:=99998;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -