写一个网络程序,其中Socket.ReceiveLength;
不能跟socket.ReceiveText;共存
两个在一起用的话,会出现错误匡,但是两个又必须要用到。这个问题如何解决我很菜。请指点!!
这个问题怎么解决
不能跟socket.ReceiveText;共存
两个在一起用的话,会出现错误匡,但是两个又必须要用到。这个问题如何解决我很菜。请指点!!
这个问题怎么解决
解决方案 »
- 请问如何将dbgrid中的内容打印出来
- 问一个问题!!!很急!!一解决马上给分!!!
- 怎么样把dbgrid中的数据导入EXECL表格?
- 用ado連接Access庫時,進行adoQuery.open出現的問題.
- 要实现一个 '年-月' 格式日期,同时可以象Tdatetimepick 那样操作,不知如何实现 100分
- 继续加分50,还是很简单.总共200分
- 文件流的read事件費解
- QRHTMLFilter怎麼用?
- edit中的文本怎样居中?
- 为朋友做个普通的数据库应用程序(朋友在外地),他那儿已经有个access库;我想在我这儿把应用程序做好了给他寄过去;请问我的应用程序跟他的那个库怎么连接???
- 如何更改DBGRID的TITLE的高度?
- 找到重要资料[email protected] ,,这个地址是千年复制器作者的EMAIL
iLength:=Socket.ReceiveLength; //了解到达缓冲区的字节数
GetMem(bufRecv,iLength);//分配内存
try
Socket.ReceiveBuf(bufRecv^,iLength); //接收数据包并读入缓冲区内
sTemp:=StrPas(PChar(bufRecv));
sTemp:=Copy(sTemp,1,5);
if sTemp='11111' then
begin
sTemp:=Trim(StrPas(PChar(bufRecv)));
sFileName:=ExtractFileName(Copy(sTemp,6,Length(STemp)));
//在这里拒绝
SaveDialog1.Title:='保存下载文件:';
SaveDialog1.FileName:=sFileName;
if SaveDialog1.Execute then
begin
stream:=TFileStream.Create(SaveDialog1.FileName,fmCreate);
//如果愿意接收数据。
//memo1.Lines.Add ('开始接收!');//??????
TickCount:=GetTickCount;
Socket.SendText('33333');
//通知发送端发送数据。
bStart:=False;
end
else
Socket.SendText('22222');
end else if sTemp='00000' then
begin
//要发送StrToInt(Copy(sTemp,2,Length(sTemp))) 次
//时间进度显示
//iRecvLength:=StrToInt(Copy(sTemp,2,Length(sTemp)));//;1024
Socket.SendText('44444');
//接收文件长度并要求继续传送数据。
end else if sTemp='44444' then
begin
Socket.SendText('55555');
//要求发送端发送数据。
//准备好接收数据。
end else if sTemp='77777' then
begin
//memo1.Lines.Add ('MP_OVER');//??????
stream.Free;
end else if sTemp='99999' then//文件传送结束。
begin
//memo1.Lines.Add ('结束!'+IntToStr(GetTickCount-TickCount));//??????
stream.Free;
end else if sTemp='66666' then
begin
//memo1.Lines.Add ('MP_ABORT');//??????
stream.Free;
end else
begin
if not bStart then
begin
//memo1.Lines.Add('接收数据...');//??????
bStart:=True;
end;
stream.WriteBuffer(bufRecv^,iLength);//
Socket.SendText('44444');
end;
finally
FreeMem(bufRecv,iLength);
//FreeMem(bufRecv,2000);
end;
end;以上这段代码是接收文件的。。不能和strback:=socket.ReceiveText;
strfile:=copy(strback,6,length(strback)-5);
if pos('list!',strback)=1 then //文件
begin
listbox1.Items.Text:=strfile;
end;这段代码用在一起。。我把代码都贴出来了。。希望高手指点如何让他们共存啊···
先up