本人使用SPCOMM控件来接收数据,以下代码是本人在网上找的.为什么不能编译呢.请指点一下.procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
viewstring:String;
rbuf : array[0..31] of Char;
begin
viewstring:='';
move(buffer^,@rbuf^,bufferlength);//编译报错.
viewstring:=rbuf;//
memo1.lines.add(viewstring);end;
我的意思是想将接收的数据放到一个String类型变量中去.
BufferLength: Word);
var
i:integer;
viewstring:String;
rbuf : array[0..31] of Char;
begin
viewstring:='';
move(buffer^,@rbuf^,bufferlength);//编译报错.
viewstring:=rbuf;//
memo1.lines.add(viewstring);end;
我的意思是想将接收的数据放到一个String类型变量中去.
解决方案 »
- 这句SQL语句错在哪
- 怎么样把一个MDB里面的数据全部导入到一个新的空MDB里面
- fastreport Groupheader按星期分组问题
- 大伙帮忙看看写的这几行代码正确吗?关于函数返回 TJpegImage
- 请问哪有SPCOMM.DCU和Tcomm组件下载啊? 谢谢各位了!
- 急!本人的一个区号邮编查询工具,想添加打印,统计,快捷键功能,请问怎么做?
- 为什么我用Excel.Application创建的对象操作完excel文件后,在我的系统盘自动出现被操作文件的快捷方式呢?
- 如何让数据表某一字段只能输入唯一值
- 怎样将加密后生成的不可见字符存入oracle表中?
- 请各位帮忙看一下adoquery的问题.
- 三层应用中一个奇怪的问题!!不知道你遇到过吗??
- 问一个关于10022的奇怪问题
procedure TDM.CommReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:Integer;
ReceiveStr:string;
rbuf:array[1..6] of byte;
Channel:array[1..4] of string;
C:array[1..4] of Integer;
begin
ReceiveStr:='';
Move(Buffer^,PChar(@rbuf)^,BufferLength);
for i:=1 to bufferlength do
ReceiveStr:=ReceiveStr+inttohex(rbuf[i],2); if Length(ReceiveStr)=10 then {握手信息[RS]验证}
GetHand:=Copy(ReceiveStr,7,2);//取'5B5253005D'中的'00',设备指纹信息 if Length(ReceiveStr)>10 then
if Copy(ReceiveStr,1,12)='5B53'+GetHand+'43015D' then
begin
Channel[1]:=Copy(ReceiveStr,13,4);
Channel[2]:=Copy(ReceiveStr,17,4);
Channel[3]:=Copy(ReceiveStr,21,4);
Channel[4]:=Copy(ReceiveStr,25,4); C[1]:=StrToInt('$'+Channel[1]); //16进制字符换算成10进制数值
C[2]:=StrToInt('$'+Channel[2]);
C[3]:=StrToInt('$'+Channel[3]);
C[4]:=StrToInt('$'+Channel[4]); IsData:=True ;
for i:=1 to 4 do
begin
Y_show[i]:=C[i]/SendCharData(i);{传递纵坐标给子窗口}
Debug[i]:= C[i];{供调0调100用}
end;
end;end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
viewstring:String;
begin
SetString(viewstring, PChar(Buffer), BufferLength);
memo1.lines.add(viewstring);
end;