?? unit1.~pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MSCommLib_TLB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
MSComm1: TMSComm;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Button2: TButton;
Label5: TLabel;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Label6: TLabel;
Label9: TLabel;
Edit8: TEdit;
Label10: TLabel;
Edit10: TEdit;
Label11: TLabel;
Edit11: TEdit;
Label12: TLabel;
Edit12: TEdit;
Label13: TLabel;
Edit9: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure MSComm1Comm(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
procedure comopen; //設置串口狀態
public
{ Public declarations }
comstate:integer; //狀態變量,用來表示電子稱是連接狀態,斷開狀態
scom:string; //串口號
sbt:string; //波特率
comorder,startchar,endchar,charstartno,charlong:string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
comstate:=0;
scom:='COM1';
sbt:='9600,n,8,1';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if comstate=0 then
begin
comopen;
Button1.Caption :='斷開電子稱';
comstate:=1;
end
else
begin
if MSComm1.PortOpen =true then
MSComm1.PortOpen :=false;
Button1.Caption :='連接電子稱';
comstate:=0;
end;
end;
procedure TForm1.comopen;
var s1:string;
begin
if MSComm1.PortOpen then
MSComm1.PortOpen :=false;
if scom='COM1' then
MSComm1.CommPort:=1
else
MSComm1.CommPort:=2;
MSComm1.Settings :=sbt;
MSComm1.InputMode:=0;
MSComm1.InputLen :=1;
MSComm1.RThreshold := 1;
MSComm1.SThreshold := 1;
MSComm1.PortOpen :=true;
end;
procedure TForm1.MSComm1Comm(Sender: TObject);
var ssss,sstr,slend,strcom,sweight: string;
begin
//提示:串口數據是按字節發送和接收的,一個字節一個字節的接收的
if MSComm1.PortOpen=true then
ssss:=MSComm1.Input; //讀數據
if ssss=chr(strtoint(startchar)) then //如果是開始字符,則清空字符串
strcom:='';
if ssss=chr(strtoint(endchar)) then
begin // 如果是結束字符,則輸出重量
sweight:=copy(strcom,strtoint(charstartno)+1,strtoint(charlong));
Edit1.Text :=sweight;
end
else //如果不是是結束字符,則繼續接受數據
strcom:=strcom+ssss;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//設置狀態
scom := ComboBox2.Text;
sbt := ComboBox3.Text;
comorder := Edit8.Text;
startchar := Edit10.Text;
endchar := Edit11.Text;
charstartno := Edit12.Text;
charlong := Edit9.Text;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -