请问如何表示? 在DataArrival事件中 var strdata:OleVariant; begin winnsock.getdata(strdata); memo1.lines.add(strData); end;
var str: String; i: Integer; strdata:OleVariant; begin {...} if VarIsArray(strdata) then for i := 0 to Length(strdata)-1 do str := str + Chr(StrToInt(strdata[i])); memo1.lines.add(str); end;
var v: variant; i: integer; // buffer: array[0..300-1] of byte; buffer: byte; temp,l,j,m,n: integer; tmpstr: string; tmpbin: string; t1,t2: pchar; begin v:=mscomm1.Input; j:=vararraydimcount(v); l:=vararraylowbound(v,1); k:=vararrayhighbound(v,1); buff[1]:=v[0];
通过winsock.getadata()得到,就是不能正常显示,得到全是???????或其它字符组成的串
在DataArrival事件中
var
strdata:OleVariant;
begin
winnsock.getdata(strdata);
memo1.lines.add(strData);
end;
str: String;
i: Integer;
strdata:OleVariant;
begin
{...}
if VarIsArray(strdata) then
for i := 0 to Length(strdata)-1 do
str := str + Chr(StrToInt(strdata[i]));
memo1.lines.add(str);
end;
v: variant;
i: integer;
// buffer: array[0..300-1] of byte;
buffer: byte;
temp,l,j,m,n: integer;
tmpstr: string;
tmpbin: string;
t1,t2: pchar;
begin
v:=mscomm1.Input;
j:=vararraydimcount(v);
l:=vararraylowbound(v,1);
k:=vararrayhighbound(v,1);
buff[1]:=v[0];
tmpbin:=bytetohex(buff[1]);
tmpstr:=buftostr(buff[1]); d1:=d1+' '+tmpbin+tmpstr;
memo1.Text:=d1+' '+inttostr(strlen(pchar(d1)))+' '+inttostr(j)+' '+inttostr(l)+' '+inttostr(k);