如题,我一般把需要更新的文件放在服务器的一个目录下,然后想写个程序让客户下载更新这些文件

解决方案 »

  1.   

    如果是放在服务器的某个目录下供用户下载,开放服务器的FTP服务就是了....
    然后用IDFTP做个客户端的下载程序即可也可以把程序放在数据库中,供客户端用户下载....
      

  2.   

    用ftp下载:FtpGetfile()自己上网搜去吧
      

  3.   

    用AutoUpgrade组件, 一句代码都不用写.
      

  4.   

    用http
    var
      tStream: TFileStream;
    begin //Http方式下载
      if FileExists(aFile) then //如果文件已经存在
        tStream := TFileStream.Create(aFile, fmOpenWrite) else
        tStream := TFileStream.Create(aFile, fmCreate);  if bResume then //续传方式
      begin
        IdHTTP1.Request.ContentRangeStart := tStream.Size - 1;
        tStream.Position := tStream.Size - 1; //移动到最后继续下载
        IdHTTP1.Head(aURL);
        IdHTTP1.Request.ContentRangeEnd := IdHTTP1.Response.ContentLength;
      end else //覆盖或新建方式
      begin
        IdHTTP1.Request.ContentRangeStart := 0;
      end;  try
        IdHTTP1.Get(aURL, tStream); //开始下载
      finally
        tStream.Free;
      end;
    end;
      

  5.   

    ftpvar
      tStream: TFileStream;
      sName, sPass, sHost, sPort, sDir: string;
    begin //ftp方式下载
      if FileExists(aFile) then //建立文件流
        tStream := TFileStream.Create(aFile, fmOpenWrite) else
        tStream := TFileStream.Create(aFile, fmCreate);  GetFTPParams(aURL, sName, sPass, sHost, sPort, sDir);
      with IdFTP1 do
      try
        if Connected then Disconnect; //重新连接
        Username := sName;
        Password := sPass;
        Host := sHost;
        Port := StrToInt(sPort);
        Connect;
      except
        exit;
      end;  IdFTP1.ChangeDir(sDir); //改变目录
      BytesToTransfer := IdFTP1.Size(aFile);
      try
        if bResume then //续传
        begin
          tStream.Position := tStream.Size;
          IdFTP1.Get(aFile, tStream, True);
        end else
        begin
          IdFTP1.Get(aFile, tStream, False);
        end;
      finally
        tStream.Free;
      end;
    end;