开发环境介绍:
Delphi7
+Apdcomport,TurboPower的第一流串口通讯控件,开源
+SUDT Serial Null,串口模拟器,在串口资源如化石搬宝贵的今天,尤其必要,使用方法非常简单,使用其一为接收,其一为发送,即可进行测试。
复杂一点的写法:
View Code
1 procedure TServerFrmMain.btHex2CharClick(Sender: TObject);
2 var
3 i,j,iLength:integer;
4 buf:array [0..256] of char;
5 s:String;
6 sMessage:string;
7 begin
8 sMessage:=mmCommand.text;
9
10 { 23 23 55 53 1E 61 00 02 4D 00 0D 0A $DA
11 1 2 3 4 5 6 7 8 9 10 11 12
12
13 j 0 1 11
14 }
15 try
16 try
17 j:=0;
18 iLength:=length(sMessage) div 2-1; //-2 is a bugfixed for $DA is saved by sqlserver string
19 while j< iLength do
20 begin
21 s:='$'+sMessage[j*2+1]+sMessage[j*2+2];
22 Buf[j]:=Char(strToInt(s));
23 Inc(j);
24 end ;
25 except
26 on E:Exception do ShowMessage(E.Message);
27 end
28 finally
29 mmCommand.Text:=Buf;
30 end;
31 end;
简洁一点的写法:
1 procedure TForm1.btSendClick(Sender: TObject);
2 function Hex2String(sHex:string):String;
3 var s:string;
4 begin
5 while sHex<>'' do
6 begin
7 s:=s+chr(strtoint('$'+copy(sHex,1,2)));
8 delete(sHex,1,2);
9 end;
10 result:=s;
11 end;
12 var s:string;
13 begin
14 s:= edit1.Text;
15 if ckTran2Hex.Checked then
16 s:= Hex2String(s);
17 myComport.PutString(s);
18 end;

第一篇发文,顺道测试一下,感觉很好。

浙公网安备 33010602011771号