spcomm接收数据函数

soulhuman 2005-11-17 04:34:45
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
tmpArray:array[0..4096] of Byte;
ArraySize,i: DWORD;
Count:DWORD;
tmpStr:string;
pStr:PChar;
begin
if Check1.Checked then
begin
pStr:=Buffer;
tmpStr:=string(pStr);
Dec(PStr); {pstr:=pstr-1; }
for i:=0 to Length(tmpStr)-1 do
begin
inc(PStr); {pstr:=pstr+1; }
tmpArray[i]:=Byte(PSTR^);
Memo2.Lines.Add(IntToHEX(Ord(tmpArray[i]),2));
end;
exit;
end;
pStr:= Buffer;
memo2.Lines.Add(pStr);
end;

谁能帮忙给注释一下啊?
哪个变量是接收到的数据16进制?
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuangbx220 2005-11-17
  • 打赏
  • 举报
回复
//不好意思,这句打错了.
strHex:=strHex+format('%.2x ',[tmpArray[i]]);//转换成16进制
zhuangbx220 2005-11-17
  • 打赏
  • 举报
回复
var
tmpArray:array[0..4095] of Byte;
begin
if Check1.Checked then
begin
move(Buffer^,tmpArray[0],BufferLength);
for i:=0 to BufferLength-1 do
begin
strHex:=strHex+format('%.2x ',[tmpArray[0]]);//转换成16进制
end;
end;
end;
sun_cathay 2005-11-17
  • 打赏
  • 举报
回复
IntToHEX(Ord(tmpArray[i]),2)
xixuemao 2005-11-17
  • 打赏
  • 举报
回复
http://www.gjwtech.com/scomm/scdelphispcomm.htm

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧