📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSCommLib_TLB, ComCtrls, IdBaseComponent,
IdComponent, IdUDPBase, IdUDPServer,IdSocketHandle, CoolTrayIcon, Menus;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
cmbInput: TComboBox;
cmbOutput: TComboBox;
btnExe: TButton;
MSComm1: TMSComm;
m1: TMemo;
IdUDPServer1: TIdUDPServer;
m2: TMemo;
CoolTrayIcon1: TCoolTrayIcon;
PopupMenu1: TPopupMenu;
menuDisplay: TMenuItem;
menuExit: TMenuItem;
procedure btnExeClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
procedure menuDisplayClick(Sender: TObject);
procedure menuExitClick(Sender: TObject);
procedure CoolTrayIcon1DblClick(Sender: TObject);
private
{ Private declarations }
procedure OutputStrToCom(pi_sStr:String);
procedure Log(pi_sStr: String);
procedure Proccess(pi_sStr:String);
public
{ Public declarations }
procedure ApplicationEventsException(Sender: TObject; E: Exception);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ApplicationEventsException(Sender: TObject; E: Exception);
begin
Log(E.Message);
if MSComm1.PortOpen then
begin
MSComm1.PortOpen := false;
end;
end;
procedure TForm1.btnExeClick(Sender: TObject);
begin
OutputStrToCom('B'+cmbOutput.Text+cmbInput.Text);
end;
procedure TForm1.Log(pi_sStr: String);
begin
if m1.Lines.Count>1024 then
begin
m1.Lines.Clear;
end;
m1.Lines.Insert(0,DateTimeToStr(now)+':'+pi_sStr);
end;
procedure TForm1.OutputStrToCom(pi_sStr: String);
begin
if not MSComm1.PortOpen then
begin
MSComm1.PortOpen := true;
Log('打开端口成功!');
end;
if MSComm1.PortOpen then
begin
msComm1.Output := pi_sStr ;
Log('执行命令成功!');
end
else
begin
Log('执行命令失败');
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if mscomm1.PortOpen then
begin
mscomm1.PortOpen:=false;
end;
end;
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
begin
m2.Lines.LoadFromStream(AData);
Proccess(m2.Lines.Text);
end;
procedure TForm1.Proccess(pi_sStr: String);
begin
Log('收到_'+pi_sStr);
OutputStrToCom(pi_sStr);
end;
procedure TForm1.menuDisplayClick(Sender: TObject);
begin
CoolTrayIcon1.ShowMainForm;
end;
procedure TForm1.menuExitClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.CoolTrayIcon1DblClick(Sender: TObject);
begin
CoolTrayIcon1.ShowMainForm;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -