更新文件2

来源:互联网 发布:java 权限管理 开源 编辑:程序博客网 时间:2024/06/05 05:24

         上次写的更新文件的方式用的是文件的方法:

var
  sFilename:string;
  sIn:string;
begin
  sIn:=extractfilepath(application.ExeName)+'update.ini';
try
 if fileexists(sIn) then
      begin
      //文件进行备份
        sFilename:= extractfilepath(application.ExeName)+'update~1.ini' ;
        if FileExists(sFileName) then
           DeleteFile( sFilename);
        Copyfile(pChar(sIn),pChar(sFilename),false); //文件复制
      end;
      raise Exception.Create('dddd');
 except
    if FileExists(sIn) then  //删除当前文件
           DeleteFile(sin);
     Copyfile(pChar(sFilename),pChar(sIn),false);//还原
    if FileExists(sFilename) then  //删除文件
    DeleteFile(sFilename);
 end;

 

现在用流的方式做一下改进,

var
  ms: TMemoryStream;
  UpdateIniFile: string;

begin
    UpdateIniFile := ExtractFilePath(Application.ExeName) + 'update.ini';
    ms := TMemoryStream.Create; //创建流
    ms.LoadFromFile(UpdateIniFile); //将从文件中读入流

   try

       try

         except

            //升级失败时,将Update.ini还原
            ms.SaveToFile(UpdateIniFile);

      end;

 

   finally
      ms.Free;
    end;

end;

 

比较两种方法,后者的代码要少很多,代码简洁。

 

原创粉丝点击