⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comport1.pas

📁 Delphi采用MSComm控件开发串口测试工具,在Windows+Delphi7编译通过
💻 PAS
字号:
//########################################################
//
//    &    RS232通信端口COM1的通信设置
//                           Create:  Lireo
//                                Jan-23-06
//
//########################################################

unit ComPort1;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls;

type
  TCOM1Dlg = 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
  COM1Dlg: TCOM1Dlg;


implementation

uses ComPort2,MainFrm;

{$R *.dfm}

procedure TCOM1Dlg.OKBtnClick(Sender: TObject);
var
  PortName:String;
  PortNum :Integer;
  BaudRate:String;
  Databits:String;
  Stopbits:String;
  Parity:  String;
  FlowCtrl:String;
begin
  if not Com1On then
   begin
      PortName := COM1Dlg.Port.Text;
      BaudRate := COM1Dlg.Baud.Text;
      Databits := COM1Dlg.Databits.Text;
      Stopbits := COM1Dlg.Stopbits.Text;
      Parity   := COM1Dlg.Parity.Text;
      FlowCtrl := COM1Dlg.Flowcontrol.Text;
      PortNum := 1; //Init
      
  //Open COM1
      if PortName = 'COM1' then
        PortNum := 1;
        Form1.MSComm1.CommPort := PortNum;
        Form1.MSComm1.Settings := BaudRate + Parity + Databits + Stopbits;
        Form1.MSComm1.InputMode := 0;
  //HandShaking
      if FlowCtrl = 'ComNone' then
        Form1.MSComm1.Handshaking := 0
      else if FlowCtrl = 'comXOnXOff' then
        Form1.MSComm1.Handshaking := 1
      else if FlowCtrl = 'ComRTS' then
        Form1.MSComm1.Handshaking := 2
      else if FlowCtrl = 'comRtsXOnXOff' then
        Form1.MSComm1.Handshaking := 3;

      Form1.MSComm1.PortOpen := true;
      Form1.Shape1.Brush.Color := clGreen;
      Form1.SetCom1.Caption := 'CloseCom1';
      Form1.ShowInf('Com1 is already open.');
      Com1On := true;
   end
   else
    begin
      Form1.MSComm1.PortOpen := false;
      Com1On := false;
      Form1.SetCom1.Caption := 'Com1';
      Form1.Shape1.Brush.Color := clRed;
    end;
   COM1Dlg.Close;
end;

procedure TCOM1Dlg.CancelBtnClick(Sender: TObject);
begin
  COM1Dlg.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -