[Lazarus-es] firebird: respaldar desde el programa

christian Ortiz xortix en gmail.com
Jue Nov 11 01:47:50 CET 2010


Shellexecute Only HuindoUS, Tprocess funcionara en caulquier SO.

El 10 de noviembre de 2010 19:14, Paola Bruccoleri <
pbruccoleri en adinet.com.uy> escribió:

> El 10/11/2010 10:07 p.m., Hector S. Ponce escribió:
>
>  Paola, experimente rapidito con tu codigo y funciona bien. Ahora yo no uso
>> el path de la base sino el alias.
>>
>> procedure TDataModule1.BackupDB;
>> var
>>  BKPFolder, sNombre, sLog, sBack, sPara: string;
>>  p: TProcess;
>> begin
>>  BKPFolder := ExtractFileDir(Application.ExeName) + '\bkp\';
>>  if not DirectoryExists(BKPFolder) then
>>    MkDir(BKPFolder);
>>  sNombre := 'bkp_' + IBConnection1.DatabaseName + '_' +
>>    FormatDateTime('yyyyMMDD_HHmmss', Now) + '.fbk';
>>  sLog := 'Log_' + IBConnection1.DatabaseName + '_' +
>>    FormatDateTime('yyyyMMDD_HHmmss', Now) + '.log';
>>  sBack := ExtractFilePath(Application.ExeName) + 'gbak.exe';
>>  sPara := ' -v -t -user ' + IBConnection1.UserName + ' -password ' +
>>    IBConnection1.Password + ' -y ' + BKPFolder + sLog +
>>    ' ' + IBConnection1.DatabaseName + ' ' + BKPFolder + sNombre;
>>
>>  if not FileExists(sBack) then
>>    MessageDlg('Aviso', 'Falta ejecutable de backup', mtWarning, [mbOK], 0)
>>  else
>>  begin
>>    p := Tprocess.Create(nil);
>>    p.Options := [poWaitOnExit, poNoConsole];
>>    p.CommandLine := sBack + sPara;
>>    p.Execute;
>>    p.Free;
>>    if FileExists(BKPFolder + sNombre) then
>>      MessageDlg('Aviso', 'Respaldo realizado', mtWarning, [mbOK], 0)
>>    else
>>      MessageDlg('Aviso', 'No se pudo realizar el respaldo', mtWarning,
>> [mbOK], 0);
>>  end;
>> end;
>>
> Hola Héctor..
> veo que tu usas la clase tProcess.. es más eficiente que hacer un
> ShellExecute?
> Claro, usando shellexecute me limito solo a windows... calculo que con el
> tprocess queda multiplataforma..
>
> chauuuuuuuu
>
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
Christian
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20101110/d577448f/attachment-0002.html>


More information about the Lazarus-es mailing list