procedure TForm1.TcpServer1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
ReceiveBuffer:array[0..2000] of byte;
strData,hexstr:string;
showstr:single;
len,i:integer;
begin
strdata:='';
len:=Socket.ReceiveLength;
FillChar(ReceiveBuffer,sizeof(ReceiveBuffer),0);
socket.ReceiveBuf(ReceiveBuffer,len);
copymemory(@showstr,@ReceiveBuffer[52],4);
listbox1.lines.add(floattostr(showstr));
move(hexstr,ReceiveBuffer,len);
listbox1.lines.add(hexstr);
end;
ReceiveBuffer接收数据
'192 0 73 37 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 1 0 48 0 48 0 49 0 48 0 50 0 54 0 48 0 48 0 52 0 0 0 0 0 0 0 0 0 128 63 121 114 163 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 192'
最后执行两句:
move(hexstr,ReceiveBuffer,len);
listbox1.lines.add(hexstr);
结果是空值,怎么回事啊?
Socket: TCustomWinSocket);
var
ReceiveBuffer:array[0..2000] of byte;
strData,hexstr:string;
showstr:single;
len,i:integer;
begin
strdata:='';
len:=Socket.ReceiveLength;
FillChar(ReceiveBuffer,sizeof(ReceiveBuffer),0);
socket.ReceiveBuf(ReceiveBuffer,len);
copymemory(@showstr,@ReceiveBuffer[52],4);
listbox1.lines.add(floattostr(showstr));
move(hexstr,ReceiveBuffer,len);
listbox1.lines.add(hexstr);
end;
ReceiveBuffer接收数据
'192 0 73 37 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 1 0 48 0 48 0 49 0 48 0 50 0 54 0 48 0 48 0 52 0 0 0 0 0 0 0 0 0 128 63 121 114 163 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 192'
最后执行两句:
move(hexstr,ReceiveBuffer,len);
listbox1.lines.add(hexstr);
结果是空值,怎么回事啊?
解决方案 »
- delphi实现像qq那样的传输文件出现的问题
- MSSQLSERVER可以存入WORD,EXCEL文档,能不能存入PDF文档,如行,方法是不是一样?
- access数据库可以做到一条sql语句同时在2个表内插入、删除数据吗?
- try 的问题,各位帮忙!
- 求助:关于文件操作的问题
- 2000下如何将应用程序做成服务?
- 关于WORD和文件流……这个问题比较难,分数不够您言语!
- 请问大家一个小问题
- Delphi有没有函数将大bmp图标转换小的bmp图标?
- 我的软件写好了,但是不知道国内有什么网站可以提交,CSDN上提交了,老是未发布!
- Delphi COM 如何在 type Library editor 中插入自己的接口?
- 请教一个气泡提示问题
// 下面是函数原型,写反了.
procedure Move(const Source; var Dest; count : Integer);
var
ReceiveBuffer:array[0..20] of Byte;
str:string;
begin
SetLength(str,Length(ReceiveBuffer));
move(ReceiveBuffer[0],str[1],Length(ReceiveBuffer));
end;
MOVE前先对字符串分配内存
setlength(strdata,len);
move(ReceiveBuffer,strdata,len);
listbox1.Lines.Add(strdata);
还是要报错误啊,老大们ReceiveBuffer我定义的是2000,
len是实际接受的长度,但是len肯定是小于2000的
setlength(strdata,len);或者setlength(strdata,2000);
都不行啊,着急啊