procedure Tfm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
h:integer;
avgcount:string;
ipos:integer;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
for j:=1 to bufferlength do
//将字节从数组中取出来转换为16进制字符串
viewstr:=viewstr+inttohex(ord(rbuf[j]),2);
ssstr:=copy(viewstr,13,2);
rec:=strtoint('$'+ssstr);
case rec of
62:
ipos:=0;
for h:=0 to 8 do
begin
*****//从数组中取出字节(关键是这步不通!!!) ******
avgcount:=copy(pchar(@rbuf[j]),ipos+1,4);
end;
end;或者
procedure Tfm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
h:integer;
ipos:integer;
avgcont:string;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
for j:=1 to bufferlength do
//将字节从数组中取出来转换为16进制字符串
viewstr:=viewstr+inttohex(ord(rbuf[j]),2);
ssstr:=copy(viewstr,13,2);
rec:=strtoint('$'+ssstr);
case rec of
62:
ipos:=0;
for h:=0 to 8 do
begin
//从数组中取出字节(关键是这步不通!!!)
avgcount:=copy(viewstr,2*ipos+1,8);
end;
end;
BufferLength: Word);
var
h:integer;
avgcount:string;
ipos:integer;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
for j:=1 to bufferlength do
//将字节从数组中取出来转换为16进制字符串
viewstr:=viewstr+inttohex(ord(rbuf[j]),2);
ssstr:=copy(viewstr,13,2);
rec:=strtoint('$'+ssstr);
case rec of
62:
ipos:=0;
for h:=0 to 8 do
begin
*****//从数组中取出字节(关键是这步不通!!!) ******
avgcount:=copy(pchar(@rbuf[j]),ipos+1,4);
end;
end;或者
procedure Tfm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
h:integer;
ipos:integer;
avgcont:string;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
for j:=1 to bufferlength do
//将字节从数组中取出来转换为16进制字符串
viewstr:=viewstr+inttohex(ord(rbuf[j]),2);
ssstr:=copy(viewstr,13,2);
rec:=strtoint('$'+ssstr);
case rec of
62:
ipos:=0;
for h:=0 to 8 do
begin
//从数组中取出字节(关键是这步不通!!!)
avgcount:=copy(viewstr,2*ipos+1,8);
end;
end;
解决方案 »
- 谁用过InstantObject,请教怎么安装in Delphi 2007
- TClientDataset 过滤,修改问题!
- Windows NT Service能否有窗口??
- 根据不同用户对应权限来控制他(她)所对应的菜,请看源码为什么这样不行啊?
- 谁能给个SQL2000的数据库分页方法
- 问个问题,关于ADO的简单问题。
- 谁知道win2000信使服务的ip数据包结构是什么?
- 有哪位高手知道对chm文件的编程接口?(xiyi0616)
- 请帮帮忙好吗。我只有这点分了。
- 送分,简单!!!SQL SERVER中如何更改数据库名?
- ADOQuery的ExecSQL执行的问题。。。
- 请问怎么样从SQL SERVER2000里面存取JPG图片啊
或者
procedure Tfm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
h:integer;
ipos:integer;
avgcont:string;
begin
move(buffer^,pchar(@rbuf)^,bufferlength);
for j:=1 to bufferlength do
//将字节从数组中取出来转换为16进制字符串
viewstr:=viewstr+inttohex(ord(rbuf[j]),2);
ssstr:=copy(viewstr,13,2);
rec:=strtoint('$'+ssstr);
case rec of
62:
ipos:=0;
for h:=0 to 8 do
begin
//从数组中取出字节(关键是这步不通!!!)
avgcount:=copy(viewstr,2*ipos+1,8);
end;
end;