有这样一段SPCOMM接收代码如下:
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; //串口接收
BufferLength: Word);
var
viewstring:string;
rbuf:array[0..7] of byte;
i:integer; begin
viewstring:='';
move(buffer^,pchar(@rbuf)^,bufferlength);
for i:=0 to bufferlength-1 do
begin
viewstring:=inttohex(rbuf[i],2);
end;
edit2.Text:=viewstring;
end;
请问各位大虾们:
viewstring:=inttohex(rbuf[i],2); 是什么意思?
文本控件edit2中是以十六制数呢显示呢?还是以十进制数显示?为什么?
这个问题困扰了我很久。
希望大虾帮忙解答下,谢谢!!
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; //串口接收
BufferLength: Word);
var
viewstring:string;
rbuf:array[0..7] of byte;
i:integer; begin
viewstring:='';
move(buffer^,pchar(@rbuf)^,bufferlength);
for i:=0 to bufferlength-1 do
begin
viewstring:=inttohex(rbuf[i],2);
end;
edit2.Text:=viewstring;
end;
请问各位大虾们:
viewstring:=inttohex(rbuf[i],2); 是什么意思?
文本控件edit2中是以十六制数呢显示呢?还是以十进制数显示?为什么?
这个问题困扰了我很久。
希望大虾帮忙解答下,谢谢!!
move(buffer^,pchar(@rbuf)^,bufferlength); //将接收缓冲区的数据内容拷贝到Buffer中
for i:=0 to bufferlength-1 do
begin
viewstring:=inttohex(rbuf[i],2); //将接收到的每个字节转换为十六进制的字符串
end;
edit2.Text:=viewstring; //显示转换之后的结果
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3688659&bbs_id=1036
24楼的问题就是我要问的问题!
谢谢啦!
end;
edit2.Text:=viewstring;
这个显示应该是16进制.