zoukankan      html  css  js  c++  java
  • 简单的在线升级程序

    如果你的升级过程比较简单(例如只需要下载更新一个主程序),那么本示例就比较适合你。

    下载升级文件的程序这里就不再赘述,详细使用方法请参考http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html

    现在,我们只需要在主程序中加入一个很简单的Procedure就可以完成升级任务了。

    假设下载回来的最新程序的完整路径是New,当前运行的程序的路径是Old。

    那么,在程序一开始运行的时候加入一个版本判断的Procedure(用Tidhttp或者Socket都可以)。在确定需要升级时调用升级的Procedure(这里就叫它Updater吧)。

    Updater(New,Old);

    这样就可以了。

    下面来看看Updater里是些什么东西:

    ProcedureUpdater(new,old:string);
    var
      f:Textfile;
    begin
      AssignFile(f,'temp.bat');
      Rewrite(f);
      Writeln(f,'@set new=%1');
      Writeln(f,'@set old=%2');
      Writeln(f,'del %old%');
      Writeln(f,'copy %new% %old%');
      Writeln(f,'del %new%');
      Writeln(f,'%old%');
      Writeln(f,'del %0');
      CloseFile(f);
      Application.Terminate;
      WinExec(PChar('temp.bat "' + new +'" "' +old +'"'),SW_HIDE);
    end;

  • 相关阅读:
    __del__ 析构方法 __init__ 构造方法
    单态模式
    面向对象小练习2
    __new__ '''魔术方法
    菱形继承
    继承:多继承
    继承: .单继承
    面向对象小练习
    __init__ 魔术方法
    如何访问私有成员
  • 原文地址:https://www.cnblogs.com/Aricc/p/1341377.html
Copyright © 2011-2022 走看看