只想说明一下SPCOMM是不是不能这样的收信息(10分)

  • 主题发起人 主题发起人 gzcxylsj
  • 开始时间 开始时间
G

gzcxylsj

Unregistered / Unconfirmed
GUEST, unregistred user!
//从端口接收数据
procedure TfrmComm.CommReceiveData(Sender: TObject; Buffer: Pointer; BufferLength: Word);
var
str1,strRecv : string;
begin
setLength(strRecv,BufferLength);
Move(Buffer^,pchar(strRecv)^,BufferLength);
mmoComm.Lines.Add('已收到: '+intTostr(BufferLength)+'字节的数据');
mmoComm.Lines.Add(strRecv);
mmoComm.Invalidate ;
//******************
//出于无奈只有使用以下方法来证实一下真的收到过数据没有.但还是无奈,没有
if StrRecv='abcdefg' then
showmessage(' 收取成功!');
str1:=Copy(StrReCv,1,2);
if Str1='ab' then
showmessage('判断成功!');
end;
结果什么信息没有显示
 
端口接收的都是ASCII值吧,你可以用Byte数组来接收,然后转为字符
 
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
RecvBuffer: array[1..2,1..10] of Byte;
rb:byte;
i: integer;
strNo,s: string;
begin
Move(Buffer^, Pchar(@RecvBuffer)^, rb);
strNo := inttostr(rb);
s:= strNo;
listbox1.Items.Add(s);
end;
 
用Byte数组来接收,然后转为字符
 
谢谢各位
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
1K
import
I
后退
顶部