码迷,mamicode.com
首页 > Windows程序 > 详细

学习咏南BLOG的datasanp 用流下载文件,同时记录WINDOWS系统日志

时间:2014-11-08 22:01:59      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   sp   for   文件   

服务器端:

function TServerMethods1.getfile(filename: string): TStream;
var
   FilePath,DownFile:String;
   FS:TFileStream;
   log:TEventLogger ;//需要在USES里加上 Vcl.SvcMgr,才可以引用TEventLogger
begin
   FilePath:=‘d:\xe\‘;
   DownFile:=FilePath+FileName;
   log:=TEventLogger.Create(‘MyMessage‘);//创建一个消息
   log.LogMessage(DownFile);//输出一个消息
   result:=nil;
   if not FileExists(DownFile) then begin
    log.LogMessage(‘文件不存在‘);//在输出一个,会产生两条日志
   Exit;
   end;
   result:=TFileStream.Create(DownFile,fmOpenRead);
   if result<>nil then
      Result.Position:=0;
end;

 

客户端:

procedure TForm4.btn1Click(Sender: TObject);
const
  bufferSize=10240;
var
   con:TServerMethods1Client;
   FStream:TStream;
   FileFs:TFileStream;
   buffer:TBytes;
   count:Integer;
begin
   con:=TServerMethods1Client.Create(SQLConnection1.DBXConnection);
   count:=0;
   SetLength(Buffer, bufferSize);

//从服务器上下载来以后,更名delphidown.pdf‘
    FileFs:=TFileStream.Create(‘d:\delphidown.pdf‘,fmCreate);

 

try
   FStream:=con.getfile(‘delphi.pdf‘);//服务器上的文件名,服务器上必需要有
   edt1.Text:=con.ReverseString(‘abc‘);//这个用来掉用自带的一个字符串翻转的例子
   repeat
     count:=FStream.Read(buffer[0],bufferSize);//不停的读流
     if count>0 then

//不停的读流的写流,写到‘d:\delphidown.pdf‘
       FileFs.WriteBuffer(buffer[0],count);

 

      until (count<bufferSize);
      except

   end;
end;

注意的地方:

 

1、 windows要启用日志服务。要不然看到输出的日志了。

bubuko.com,布布扣

2、查看日子

  在计算机管理可以查看系统日志:如图

bubuko.com,布布扣

学习咏南BLOG的datasanp 用流下载文件,同时记录WINDOWS系统日志

标签:style   blog   http   io   ar   os   sp   for   文件   

原文地址:http://www.cnblogs.com/hudechun/p/4084014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!