Midas三层中,如何从客户端上传文件至服务器端? 结构:Client(SocketConnection) + Server(RemoteDataModule ) + DataBase(sql server 2000)Midas三层中,如何从客户端上传文件至服务器端? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在APP当中添加一个方法,比如使用varByte Array作为参数类型,然后传递过去。这个在好多年前的老贴子当中就有了,网上众多资料都会提到,一些书上也会讲到。其实就是一个FileStream/Stream与Variant相互转换。 procedure TFilePacket.ReadFile(const FileName: WideString; var Packet: OleVariant);var TempStream:TFileStream; Param:OleVariant; p:Pointer;begin TempStream:=TFileStream.Create(String(FileName),fmOpenRead); try Param:=VarArrayCreate([0,TempStream.Size-1],varByte); p:=VarArrayLock(Param); try TempStream.Position:=0; TempStream.Read(p^,TempStream.Size); finally VarArrayUnlock(Param); end; finally TempStream.Free; end; Packet:=Param;end;function TFilePacket.WriteFile(var Stream: OleVariant; const FileName: WideString): SYSINT;var OutStream:TFileStream; p:Pointer;begin Result:=-1; p:=VarArrayLock(Stream); OutStream:=TFileStream.Create(String(FileName),fmCreate); try OutStream.Write(p^,VarArrayHighBound(Stream,1)+1); finally VarArrayUnlock(Stream); OutStream.Free; end; Result:=0;end; 模拟画一个时钟的问题 熊猫烧香作者的csdn号,谁知道呀,大家客观的评论下他的水平! 大家帮忙啊,ado的问题。 请问怎样使程序在最小化后图标放在任务栏的托盘上? 我用QReport做报表,预览时可以看到所有的东西,但打印时却打不完? 如何修改 DBGridEh 代码,使之支持unicode码? 关于连接sql server,请高手指教 问一个用IdTcpclient自动连接的问题 小妹急需解决一问题,望大哥哥们多多指教。 <@> 关于 ProcessMessages 找不到ado.net组件在delphi7上 如何判断table 是打开的 还是关闭的?
var Packet: OleVariant);
var
TempStream:TFileStream;
Param:OleVariant;
p:Pointer;
begin
TempStream:=TFileStream.Create(String(FileName),fmOpenRead);
try
Param:=VarArrayCreate([0,TempStream.Size-1],varByte);
p:=VarArrayLock(Param);
try
TempStream.Position:=0;
TempStream.Read(p^,TempStream.Size);
finally
VarArrayUnlock(Param);
end;
finally
TempStream.Free;
end;
Packet:=Param;
end;function TFilePacket.WriteFile(var Stream: OleVariant;
const FileName: WideString): SYSINT;
var
OutStream:TFileStream;
p:Pointer;
begin
Result:=-1;
p:=VarArrayLock(Stream);
OutStream:=TFileStream.Create(String(FileName),fmCreate);
try
OutStream.Write(p^,VarArrayHighBound(Stream,1)+1);
finally
VarArrayUnlock(Stream);
OutStream.Free;
end;
Result:=0;
end;