var SBuf,RBuf:array[1..10] of byte; i:integer; ViewString:string;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin SBuf[1]:=byte($5A); SBuf[2]:=byte('4'); SendData; end;
procedure TForm1.SendData; var i:integer; CommFlg:Boolean; begin ViewString:='; CommFlg:=True; for i:=1 to High(SBuf) do begin if Not Comm1.WriteCommData(@SBuf[i],1) then begin CommFlg:=False; break; end; //发送时字节间的延时 Sleep(2); ViewString:=ViewString+IntToHex(SBuf[i],2)+' '; end; ViewString:='发送'+ViewString; Memo1.Clear; Memo1.lines.Add(ViewString); if not CommFlg then MessageDlg('发送失败!',mtError,[mbyes],0); end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word); var i:integer; begin ViewString:='; move(Buffer^,pchar(@RBuf)^,Bufferlength); for i:=1 to high(RBuf) do ViewString:=ViewString+IntToStr(RBuf[i]); ViewString:='接收'+ViewString; Memo1.lines.Add(ViewString); memo1.lines.Add(' '); end;
procedure TForm1.FormShow(Sender: TObject); begin Comm1.StartComm; end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Comm1.StopComm; end;