unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SPComm, ExtCtrls; function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; IntTime:integer;IsMessage:integer):integer;stdcall;external 'JCYData.DLL'; function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL'; function GetCommData(fhandle:hwnd;var defnum1,defnum2:double;var fisjz:integer):integer;stdcall;external 'JCYData.DLL'; type TForm1 = class(TForm) Panel1: TPanel; ComboBox1: TComboBox; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Button1: TButton; Edit2: TEdit; Button3: TButton; Button2: TButton; Label3: TLabel; Button4: TButton; Comm1: TComm; Edit3: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private procedure On1201(Var Message:Tmessage);Message 1201; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.On1201(Var Message:Tmessage); var i1,i2:integer; unitname:string; fdata:double; begin i1:=message.WParam; i2:=message.LParam; Edit1.Text:= floattostr(i1/100000 ); IF i2=0 then edit3.Text:='M' else edit3.Text:='Y'; end; procedure TForm1.Button1Click(Sender: TObject); begin if CommOpen(Form1.Handle,pchar(trim(ComboBox1.Text)),500,1)<1 then begin showmessage('´يخَ'); end else begin end; end; procedure TForm1.Button2Click(Sender: TObject); begin CommClose(pchar('com2')); end; procedure TForm1.Button3Click(Sender: TObject); var num1,num2:double; i:integer; str1:string; begin // SetLength(str1, 255); if GetCommData(Form1.Handle,num1,num2,i)>0 then begin Edit2.Text:= floattostr(num1 ); // Edit2.Text:= floattostr(num2 ); end; end; procedure TForm1.Button4Click(Sender: TObject); begin if CommOpen(Form1.Handle,pchar(trim(ComboBox1.Text)),500,0)<1 then begin showmessage('´يخَ'); end; end; end.