📄 uni_update.~pas
字号:
unit Uni_Update;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, ShellCtrls, XPMenu, ImgList;
type
TFrm_Update = class(TForm)
Timer: TTimer;
MCopy: TMemo;
BUpdate: TButton;
TimerCheck: TTimer;
ProgressBar: TProgressBar;
Label1: TLabel;
XPMenu1: TXPMenu;
ImageList1: TImageList;
Button1: TButton;
procedure BUpdateClick(Sender: TObject);
procedure TimerTimer(Sender: TObject);
procedure TimerCheckTimer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_Update: TFrm_Update;
implementation
USES IniFiles;
{$R *.dfm}
procedure TFrm_Update.BUpdateClick(Sender: TObject);
VAR
MYINIFILE:TIniFile;
Update:String;
begin
MYINIFILE:=TIniFile.Create(GetCurrentDir+'\DATABASE.INI');
Update:=MYINIFILE.ReadString('DATABASE','update','');
MYINIFILE.Free;
IF Update=''
THEN BEGIN
ShowMessage('未设置升级目录,请与管理联系!');
Exit;
END;
MCopy.Clear;
MCopy.Lines.Add('XCOPY "'+Update+'\*.*" . /Y /E /C');
MCopy.Lines.Add('ECHO 拷贝完成 >UPDATE.LOG');
MCopy.Lines.SaveToFile('C.BAT');
Timer.Enabled:=True;
end;
procedure TFrm_Update.TimerTimer(Sender: TObject);
begin
ProgressBar.StepIt;
IF FileExists('C.BAT')
THEN BEGIN
WinExec('C.BAT',WS_MINIMIZE);
Timer.Enabled:=False;
TimerCheck.Enabled:=True;
END;
end;
procedure TFrm_Update.TimerCheckTimer(Sender: TObject);
begin
ProgressBar.StepIt;
IF FileExists('UPDATE.LOG')
THEN BEGIN
DeleteFile('C.BAT');
DeleteFile('UPDATE.LOG');
TimerCheck.Enabled:=False;
ShowMessage('升级成功!');
Application.Terminate;
END;
end;
procedure TFrm_Update.Button1Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -