procedure TMainForm.BekapExecute(Sender: TObject);
begin
dm.IBDatabase1.Close;
try
if fileexists(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak'))
then deletefile(pchar(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak')));
if fileexists(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk'))
then RenameFile(ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk'),ChangeFileExt(dm.IBDatabase1.DatabaseName,'.bak'));
statusbar1.Panels[4].Text:='Try Shutdown Database';Application.ProcessMessages;
if not(execAndWait(FireBirdPath+'gfix.exe',' -shut -attach 30 '+'"'+dm.IBDatabase1.DatabaseName+'" -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password'],false)) then RAISE Exception.Create('shutdown');
statusbar1.Panels[4].Text:='Try stop Firebird server';Application.ProcessMessages;
if isNT then if not(execAndWait(SystemPath+'NET.exe',' STOP InterbaseServer',false)) then RAISE Exception.Create('stop interbase');
statusbar1.Panels[4].Text:='Try (re) start Interbase guardian';Application.ProcessMessages;
if isNT then if not(execAndWait(SystemPath+'NET.exe',' START InterbaseGuardian',false)) then RAISE Exception.Create('start guardian');
statusbar1.Panels[4].Text:='Backup Database ...';Application.ProcessMessages;
sleep(1000);
// showmessage(' -B -t '+' -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password']+' "'+dm.IBDatabase1.DatabaseName+'"'+' "'+ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk')+'"');
if not(execAndWait(FireBirdPath+'gbak.exe',' -B -t '+' -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password']+' "'+dm.IBDatabase1.DatabaseName+'"'+' "'+ChangeFileExt(dm.IBDatabase1.DatabaseName,'.gbk')+'"',false)) then RAISE Exception.Create('backup');
statusbar1.Panels[4].Text:='Try bring database online ...';Application.ProcessMessages;
if not(execAndWait(FireBirdPath+'gfix.exe',' -online '+'"'+dm.IBDatabase1.DatabaseName+'" -user SYSDBA -pass '+dm.IBDatabase1.Params.Values['password'],false)) then RAISE Exception.Create('online');
statusbar1.Panels[4].Text:='BACKUP OPERATION COMPLETED';Application.ProcessMessages;
QControls.Beep;
finally
dm.IBDatabase1.open;
dm.CommitAndOpen;
end;
koju dobro izvrsi samo hocu jos da taj file npr. kasa.gbk iskopira na floppy koju liniju coda da dodam?!?!?!?