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

📄 unit1.pas

📁 扫描枪通过串口读取条形码,减少手工输入错误
💻 PAS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -