Hola tulio.
Te hice un ejemplo que funciona con
7-Zip y debería hacerlo con
WinRar ya que los parámetros son los mismos.
Código Delphi
[-]
...
uses ShellApi;
procedure CompressBD(SourcePath, TargetPath: string);
var
zName: string;
begin
SourcePath := IncludeTrailingPathDelimiter( SourcePath );
TargetPath := IncludeTrailingPathDelimiter( TargetPath );
zName := IncludeTrailingPathDelimiter( TargetPath ) +
FormatDateTime( 'ddmmyy', Date ) + '.ZIP'; ShellExecute( 0,
'open',
PChar( GetEnvironmentVariable('ProgramFiles') + '\7-Zip\7z.exe' ), PChar( Format( 'a -r %s %s*.GDB',[zName, SourcePath] ) ),
nil,
SW_SHOWNORMAL );
end;
Llamada ejemplo:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
CompressBD( 'c:\base_de_datos', 'c:\prueba\archivo' );
end;
(1) '.ARJ'
(2) Para tu caso creo que sería algo como: '\WinRar\WinRar.exe'.
Saludos
