有谁做过ICS的TWSocket和TWSocket做过文件传输的?? ICS自己带的例子都是字符串传递,我现在想先传字符串,然后接着传一个二进制的文件,这个不知道在ICS怎么弄??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没用过ICS,如果有流的发送/接收的话,应该是方便用的;如果有Buffer的传送也可以把文件分段到Buffer中传输 发送:procedure TForm1.Button1Click(Sender: TObject);var s: string; stream: TFileStream;begin stream:=TFileStream.Create('1.txt', fmOpenRead); try setlength(s, stream.Size); stream.Read(s[1], stream.Size); IdTcpClient1.WriteLn(s); finally stream.Free; end;end;接收:procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);var buf: array of byte; stream: TFileStream;begin try count:=AThread.Connection.ReadFromStack; if count<>0 then begin setlength(buf, count); AThread.Connection.ReadBuffer(buf[0], count); stream:=TFileStream.Create('2.txt', fmCreate); try stream.Write(buf[0], count-2);//indy控件发string时会在后面加2个字符(\r\n),现在要去掉 finally stream.Free; end; end; Memo1.Lines.Add(inttostr(count)); finally end;end;可以直接把文件流当string发过去,注意我加的注释,然后根据你那个控件自行修改。 呵呵,谢谢clasj,我直接用winsock写了,不用控件了。结账! delphi7 如何实现txt文件转换成excel文件~ CXGRID中如何改变某些行的颜色 这样的菜鸟问题: 在delphi中能否动态生成变量呢? 小问题,别笑! 兄弟门 救命`~~硬盘可能被锁了 。 一个简单问题 请教:怎样判断word和excel文档的格式??? ListView中的如何控制图标的大小??? 帮忙,简单但我不明白的数据库问题 我想对文本文件中的信息进行读取,我这里没有相关资料可查,请高手帮助!! 如何在一个Application中弹出多个模式窗口并可切换!
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
stream: TFileStream;
begin
stream:=TFileStream.Create('1.txt', fmOpenRead);
try
setlength(s, stream.Size);
stream.Read(s[1], stream.Size);
IdTcpClient1.WriteLn(s);
finally
stream.Free;
end;
end;接收:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
buf: array of byte;
stream: TFileStream;
begin
try
count:=AThread.Connection.ReadFromStack;
if count<>0 then
begin
setlength(buf, count);
AThread.Connection.ReadBuffer(buf[0], count);
stream:=TFileStream.Create('2.txt', fmCreate);
try
stream.Write(buf[0], count-2);//indy控件发string时会在后面加2个字符(\r\n),现在要去掉
finally
stream.Free;
end;
end;
Memo1.Lines.Add(inttostr(count));
finally end;
end;可以直接把文件流当string发过去,注意我加的注释,然后根据你那个控件自行修改。