📄 umaincomm.pas
字号:
{
* purpose: test spcomm
* author: whd0310
* data: 2007-10
}
unit uMainComm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SPComm, StdCtrls, ExtCtrls;
type
TfrmMainComm = class(TForm)
CommTest1: TComm;
Panel1: TPanel;
cbPort: TComboBox;
sttPort: TStaticText;
cbBaut: TComboBox;
cbParity: TComboBox;
cbDataBits: TComboBox;
cbStopBit: TComboBox;
sttBaut: TStaticText;
sttParity: TStaticText;
sttDataBits: TStaticText;
sttStopBit: TStaticText;
Panel2: TPanel;
Memo1: TMemo;
Button1: TButton;
Panel3: TPanel;
Memo2: TMemo;
Panel4: TPanel;
ComboBox1: TComboBox;
StaticText1: TStaticText;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
Button2: TButton;
Panel5: TPanel;
Memo3: TMemo;
Panel6: TPanel;
Memo4: TMemo;
CommTest2: TComm;
btnSend1: TButton;
btnSend2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CommTest1ReceiveData(Sender: TObject; Buffer: PAnsiChar;
BufferLength: Word);
procedure CommTest2ReceiveData(Sender: TObject; Buffer: PAnsiChar;
BufferLength: Word);
procedure btnSend1Click(Sender: TObject);
procedure btnSend2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMainComm: TfrmMainComm;
implementation
{$R *.dfm}
procedure TfrmMainComm.Button1Click(Sender: TObject);
begin
if (Button1.Caption = '打开串口') and
(not CommTest1.PortOpen) then
begin
with CommTest1 do
begin
CommPort:= cbPort.ItemIndex+1;
BaudRate:= StrToInt(cbBaut.Text);
StartComm;
if PortOpen then
Button1.Caption := '关闭串口'
else
showmessage('com is not exist,or is closed');
end;
end
else
begin
CommTest1.StopComm ;
Button1.Caption := '打开串口'
end;
end;
procedure TfrmMainComm.Button2Click(Sender: TObject);
begin
if (Button2.Caption = '打开串口') and
(not CommTest2.PortOpen) then
begin
with CommTest2 do
begin
CommPort:= ComboBox1.ItemIndex+1;
BaudRate:= StrToInt(ComboBox2.Text);
StartComm;
if PortOpen then
Button2.Caption := '关闭串口'
else
showmessage('com is not exist,or is closed');
end;
end
else
begin
CommTest2.StopComm ;
Button2.Caption := '打开串口'
end;
end;
procedure TfrmMainComm.CommTest1ReceiveData(Sender: TObject;
Buffer: PAnsiChar; BufferLength: Word);
var
j: integer;
s: string;
begin
j := BufferLength;
SetLength(S, j); //
Move(Buffer^, PChar(S)^, j);
Memo1.Lines.Text:= Memo1.Lines.Text + s;
end;
procedure TfrmMainComm.CommTest2ReceiveData(Sender: TObject;
Buffer: PAnsiChar; BufferLength: Word);
var
j: integer;
s: string;
begin
j := BufferLength;
SetLength(S, j); //
Move(Buffer^, PChar(S)^, j);
Memo3.Lines.Text:= Memo3.Lines.Text + s;
end;
procedure TfrmMainComm.btnSend1Click(Sender: TObject);
begin
CommTest1.WriteCommData(Pchar(Memo2.Text),Length(Memo2.Text));
end;
procedure TfrmMainComm.btnSend2Click(Sender: TObject);
begin
CommTest2.WriteCommData(Pchar(Memo4.Text),Length(Memo4.Text));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -