var Form2: TForm2; atom:Integer; fbpath:string; implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject); var fdb,fbk,CmdLines,binpath:string; begin fdb:=FixPathStr(cxButtonEdit1.Text); fbk:=FixPathStr(cxButtonEdit2.Text); if (fdb='')or(fbk='') then Exit; binpath :=fbpath+'bin\'; CmdLines:=' /c '+'gbak -v -t -user SYSDBA -password "masterkey" '+fdb+' '+fbk; Screen.Cursor :=crHourGlass; Timer1.Enabled :=False; ShellExecute(handle, 'open', pchar('cmd'), pchar(CmdLines),pchar(binPath), SW_Show); Timer1.Enabled :=True; Screen.Cursor :=crDefault; end;
procedure TForm2.cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if OpenDialog1.Execute then cxButtonEdit1.Text :=OpenDialog1.FileName; end;
procedure TForm2.cxButtonEdit2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if SaveDialog1.Execute then cxButtonEdit2.Text :=SaveDialog1.FileName; end;
procedure TForm2.FormActivate(Sender: TObject); var i:Integer; begin if ParamCount = 0 then exit; for i := 1 to ParamCount do begin if LowerCase(ParamStr(i)) = '-h' then postMessage(Application.handle,WM_SYSCOMMAND,SC_CLOSE,0); end; end;
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Self.Hide; canclose:=False; end;
procedure TForm2.FormCreate(Sender: TObject); var reg:TRegistry ; ini:TIniFile; begin reg:=TRegistry.create; try reg.rootkey:=HKEY_LOCAL_MACHINE; if reg.openkey('\SOFTWARE\Firebird Project\Firebird Server\Instances',false) then fbpath:=reg.ReadString('DefaultInstance') else begin MessageBox(Handle, PChar('此计算机未安装Firebird!'), PChar('提示'), $00000030); application.Terminate; end; finally reg.Free; end;
TrayIcon1.Icon := Application.Icon; if GlobalFindAtom('seidb_backup')=0 then atom:=GlobalAddAtom('seidb_backup') else begin Application.MessageBox('程序已经在运行!', '确认', MB_OK + MB_ICONWARNING); Halt; end;