var
rbuf,sbuf:array[1..256] of byte;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(rbuf[1],1,4);
end;
//编译出错,有争议的类型
我现在想知道的是怎样将rbuf[1]转换为字符型!!!!
rbuf,sbuf:array[1..256] of byte;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(rbuf[1],1,4);
end;
//编译出错,有争议的类型
我现在想知道的是怎样将rbuf[1]转换为字符型!!!!
我可以直接从数组中拷贝出字节变量不????
@rbuf运算后才算得到它的首地址.
这一点语法同C/C++有区别的.var
rbuf,sbuf:array[1..256] of byte;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(pchar(@rbuf),1,4);end;
rbuf,sbuf:array[1..256] of byte;
avgcount:string;
p:pchar;
begin
//setlength:=(rbuf,1);
p:=@rbuf;
avgcount:=p;end;
var
rbuf,sbuf:array[1..256] of byte;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(rbuf,1,4);
end;
avgcount:=copy(pchar(@rbuf),8,4);
得到的是空值,只能取前面几位:
avgcount:=copy(pchar(@rbuf),1,3);
**说明现在的rbuf=(22,2,1,0,156,0,1,0,0,)
var
h,ipos:integer;
begin
ipos:=18*h;
avgcount:=copy(pchar(@rbuf),ipos,4);
end;
却不能取出后面的几位?
是不是过了长度?
rbuf,sbuf:array[1..256] of char;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(rbuf[1],1,4);
end;
rbuf,sbuf:array[1..256] of pchar;
avgcount:string;
begin
//setlength:=(rbuf,1);
avgcount:=copy(strpas(rbuf[1]),1,4);
end;