Código
//Rotina de backup
var HORA, DATA, SOURCE, PATCH, NOME : String;
begin
HORA := FormatDateTime('HHMM', Time);
DATA := FormatDateTime('DDMMYYYY', Date);
SOURCE := 'C:Docume~1richardMeusdo~1*.txt'; //arquivo a ser feito backup
PATCH := 'C:Temp'; //pasta destino
NOME := DATA+'-'+HORA+'.rar';
SaveDialog1.FileName := NOME;
SaveDialog1.InitialDir := PATCH;
SaveDialog1.Execute;
NOME:= SaveDialog1.FileName;
//chama Winrar e começa a compactar. O nome do arquivo será DDMMAAA-HHMM.rar(dia,mes,ano/hora,min)
ShellExecute(0,nil,'winrar.exe', Pchar ('a -ep -ibck '+NOME+' '+SOURCE), nil,sw_show);
//fecha o winrar após o términino da compactação
Exit;
end;
//Rotina de restauração de backup
var PATCH, PATCH1, NOME : String;
begin
OpenDialog1.Execute;
PATCH := OpenDialog1.FileName;
PATCH1 := 'C:Docume~1richardMeusdo~1';
ShellExecute(0,nil,'Winrar.exe', Pchar ('e -ibck '+PATCH+NOME+' '+PATCH1),nil,sw_show);
//restaura os arquivos e fecha o winrar
Exit;
end;
//OBS: É necessário inclur ShellApi no uses do form e ter o Winrar instalado!!!
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009