📄 comport2.pas
字号:
unit ComPort2;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls;
type
TCOM2Dlg = class(TForm)
OKBtn: TButton;
CancelBtn: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Port: TComboBox;
Label2: TLabel;
Baud: TComboBox;
Label3: TLabel;
Databits: TComboBox;
Label4: TLabel;
Stopbits: TComboBox;
Label5: TLabel;
Parity: TComboBox;
Label6: TLabel;
Flowcontrol: TComboBox;
procedure OKBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
COM2Dlg: TCOM2Dlg;
implementation
uses MainFrm;
{$R *.dfm}
procedure TCOM2Dlg.OKBtnClick(Sender: TObject);
var
PortName:String;
PortNum :Integer;
BaudRate:String;
Databits:String;
Stopbits:String;
Parity: String;
FlowCtrl:String;
begin
if not Com2On then
begin
PortName:= COM2Dlg.Port.Text;
BaudRate:= COM2Dlg.Baud.Text;
Databits:= COM2Dlg.Databits.Text;
Stopbits:= COM2Dlg.Stopbits.Text;
Parity:= COM2Dlg.Parity.Text;
PortNum := 1;
if PortName = 'COM2' then
PortNum := 2;
Form1.MSComm2.CommPort := PortNum;
Form1.MSComm2.Settings := BaudRate + Parity + Databits + Stopbits;
Form1.MSComm2.InputMode := 0;
if FlowCtrl = 'ComNone' then
Form1.MSComm2.Handshaking := 0
else if FlowCtrl = 'comXOnXOff' then
Form1.MSComm2.Handshaking := 1
else if FlowCtrl = 'ComRTS' then
Form1.MSComm2.Handshaking := 2
else if FlowCtrl = 'comRtsXOnXOff' then
Form1.MSComm2.Handshaking := 3;
Form1.MSComm2.PortOpen := true;
Form1.Shape2.Brush.Color := clGreen;
Form1.SetCom2.Caption := 'CloseCom2';
Form1.ShowInf('Com2 is already open');
Com2On := true;
end
else
begin
Form1.MSComm2.PortOpen := false;
Com2On := false;
Form1.SetCom2.Caption := 'Com2';
Form1.Shape2.Brush.Color := clRed;
end;
COM2Dlg.Close;
end;
procedure TCOM2Dlg.CancelBtnClick(Sender: TObject);
begin
COM2Dlg.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -