var sbuf :array[1..290] of Byte;
count:integer;
begin
count:=Socket.ReceiveBuf(sbuf,SizeOf(sbuf));
end;测试出来sbuf为(应该是十进制数组?)(2, 0, 1, 1, 26, 84, 6, 80, 68, 1, 71, 1, 0, 0, 43, 162, 0, 201, 14, 83, 8, 0, 0, 51, 18, 7, 27, 1, 11, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 82, 0, 0, 10, 201, 11, 1, 255, 255, 0, 0, 10, 201, 10, 250, 0, 1, 1, 3, 129, 219, 0, 0, 0, 0, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 103, 16, 0, 16, 6, 2, 86, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 255, 156, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 1, 132, 0, 0, 0, 0, 0, 0, 134, 32, 0, 15, 0, 20, 0, 0, 0, 20, 0, 0, 0, 0, 0, 250, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 0, 0, 143, 251, 5, 255, 0, 0, 255, 128, 5, 16, 0, 0, 7, 12, 5, 29, 0, 0, 255, 254, 5, 0, 0, 0, 139, 144, 60, 15, 160, 0, 0, 0, 0, 35, 47, 35, 35, 35, 160, 0, 212, 255, 160, 0, 160, 0, 160, 0, 0, 60, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 160, 0, 159, 255, 160, 139, 150, 3)怎么把这些读取出来。
解决方案 »
- 搜索文件时提示“Illegal character in input file: '&' ($26)”
- 如何在程序中安装打印机驱动(已有inf文件)?
- 为什么在DBGRID中连续插入两条记录,就会出现BDEENGIE错误,或进入死机状态?
- 怎样克隆一个静态的控件?高分等候
- 200分请指教:弹出的IE小窗口中镶入了ms meadiaplay,通常办法无法得到mms的链接位置,想通过meadiaplay的1755端口 的监控来得到mms的播
- 关于窗体,你是救世主
- 怪事,为何窗体的formkeypree事件不做?
- 关于RS232口的读写
- 用delphi创建基类
- 最近遇到用webbrowser的问题。。。
- 如何用delphi实现ansi编码格式的记事本文件转化为utf-8格式的xml文件
- A,B,C...等等好多父窗口里都会打开Y这个子窗口,然后从Y子窗口选择数据后显示到父窗口的不固定EDIT里去
Move(sbuf[0],i,SizeOf(Integer));
我要转换成string
如果你的是一连串的数据的话,使用string转为后,遇到byte数组值是 0 的地方,字符串就结束了。
如果是一个结构体的话,应该耽搁元素处理,不会出现数据丢失问题。
可以直接强制转换string(sbuf)
var sbuf :array[1..290] of Byte;
count:integer;
tmps:string;
begin
count:=Socket.ReceiveBuf(sbuf,SizeOf(sbuf));
SetLength(tmps,count);
MoveMemory(@tmps[1],@array[0],count);
end;
i,count:integer;
tmps:string;
begin
count:=Socket.ReceiveBuf(sbuf,SizeOf(sbuf));
for i := 0 to count -1
begin
tmps := tmps + ord(sbuf[i]) + ',';
end;
end;
i,count:integer;
tmps:string;
begin
count:=Socket.ReceiveBuf(sbuf,SizeOf(sbuf));
for i := 0 to count -1 do
begin
tmps := tmps + ord(sbuf[i]) + ',';
end;
end;