unit1.pas
来自「扫描枪通过串口读取条形码,减少手工输入错误」· PAS 代码 · 共 71 行
PAS
71 行
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,spcomm, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Timer1: TTimer;
procedure FormShow(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
Comm: TComm;
procedure CommReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.CommReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
TempPtr: Pointer;
ReceiveStr: string;
begin
TempPtr := StrAlloc(BufferLength+1);
StrLCopy(TempPtr, Buffer, BufferLength);
//转换成string
ReceiveStr := StrPas(TempPtr);
edit1.Text:=ReceiveStr;
//释放字符串
StrDispose(TempPtr);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
comm := TComm.Create(self);
with comm do begin
commname := 'COM1';
BaudRate := 9600;
ParityCheck := False;
ByteSize := _8;
Parity := None;
StopBits := _1;
//OnReceiveData := CommReceiveData;
startcomm;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
comm.OnReceiveData := CommReceiveData;
edit2.Text:=edit1.Text;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?