📄 unit2.pas
字号:
//***********************************************
//设置并口和串口的窗体单元
//***********************************************
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TConfIOForm = class(TForm)
Panel1: TPanel;
Label6: TLabel;
rbSerial: TRadioButton;
rbIO: TRadioButton;
btOk: TButton;
btCancel: TButton;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cbBaudRate: TComboBox;
cbParity: TComboBox;
cbDatabits: TComboBox;
cbStopbits: TComboBox;
cbCom: TComboBox;
edtIO: TEdit;
procedure FormCreate(Sender: TObject);
procedure rbSerialClick(Sender: TObject);
procedure rbIOClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ConfIOForm: TConfIOForm;
implementation
uses Unit1;
{$R *.dfm}
//*****************************************
//功能:窗体创建时的处理过程
// 显示原有的并口和串口的设置
// 设置选择选择下来菜单的内容
//*****************************************
procedure TConfIOForm.FormCreate(Sender: TObject);
begin
//显示原有的设置
edtIO.Text:=IntToStr(MainForm.IoPort);
cbCom.Text:=MainForm.conSerialPort.PortNr;
cbCom.Items.Clear ;
cbCom.Items.Add('1') ;
cbCom.Items.Add('2') ;
cbCom.Items.Add('3') ;
cbCom.Items.Add('4') ;
cbBaudRate.Text:=MainForm.conSerialPort.BaudRate;
cbBaudRate.Items.Clear ;
cbBaudRate.Items.Add('19200') ;
cbBaudRate.Items.Add('9600') ;
cbBaudRate.Items.Add('2400') ;
cbBaudRate.Items.Add('1200') ;
cbBaudRate.Items.Add('300') ;
cbDatabits.Text:=MainForm.conSerialPort.DataBits;
cbDatabits.Items.Clear ;
cbDatabits.Items.Add('8') ;
cbDatabits.Items.Add('7') ;
cbDatabits.Items.Add('6') ;
cbParity.Text:=MainForm.conSerialPort.Parity;
cbParity.Items.Clear ;
cbParity.Items.Add('N') ;
cbParity.Items.Add('0') ;
cbParity.Items.Add('E') ;
cbParity.Items.Add('M') ;
cbParity.Items.Add('S') ;
cbStopBits.Text:=MainForm.conSerialPort.StopBits;
cbStopBits.Items.Clear ;
cbStopBits.Items.Add('1') ;
cbStopBits.Items.Add('1.5') ;
cbStopBits.Items.Add('2') ;
//根据当前的选择,确定激活串口配置还是并口配置
if MainForm.bSerial then
begin
rbSerial.Checked :=True;
rbSerialClick(Sender)
end else
begin
rbSerial.Checked :=False;
rbIOClick(Sender);
end;
end;
//*****************************************
//功能:点击单选框" 通过串口发送控制码 “时的相应代码
// 激活串口的各个设置栏,关闭并口的编辑栏
//*****************************************
procedure TConfIOForm.rbSerialClick(Sender: TObject);
begin
edtIO.Enabled :=False; //关闭并口端口的设置
cbBaudRate.Enabled :=True; //激活串口设置控件
cbParity.Enabled :=True;
cbDatabits.Enabled :=True;
cbStopbits.Enabled :=True;
cbBaudRate.Enabled :=True;
cbCom.Enabled :=True;
end;
//*****************************************
//功能:点击单选框" 通过I/O发送控制码“时的相应代码
// 关闭串口的各个设置栏,激活并口的编辑栏
//*****************************************
procedure TConfIOForm.rbIOClick(Sender: TObject);
begin
edtIO.Enabled :=True; //关闭并口端口的设置
cbBaudRate.Enabled :=False; //关闭串口设置控件
cbParity.Enabled :=False;
cbDatabits.Enabled :=False;
cbStopbits.Enabled :=False;
cbBaudRate.Enabled :=False;
cbCom.Enabled :=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -