Como zipar arquivo pelo Delphi
Quero fazer um sistema de backup no meu programa sem usar shell pro dos. Tem como ? De pref. que seja zipado. tem como zipar via codigo ?
Anonymous
Curtidas 0
Respostas
Dor_poa
20/03/2003
existem componentes para isto.. nos componentes no site do clube delçphi..
GOSTEI 0
Anonymous
20/03/2003
Se vc não resolveu seu problema aqui vai uma dica:
// criar o backup no disquete
procedure TfrmPrincipal.button1Click(Sender: TObject);
begin
if not FileExists(´A:\nul´) then // verifica se existe um disco na unidade A:
ShowMessage(´Insira um disco formatado na unidade A: e efetue o Backup!´) // caso não exista mostra a mensagem
else
begin
ShellExecute(0,nil,´winzip32.EXE´, ´-a a:\backup.zip C:\SCP\tabelas\*.db´,nil,sw_show); // existindo o disco então chama o Winzip e começa a compactar dentro do disquete
Exit; // fecha o winzip após o términino da compactação
end;
end;
// restaura os arquivos
procedure TfrmPrincipal.button2Click(Sender: TObject);
begin
if not FileExists(´A:\nul´) then
ShowMessage(´Insira um disco com o Último Backup na unidade A: e efetue a Restauração!´)
else
begin
ShellExecute(0,nil,´winzip32.EXE´, ´-e a:\backup.zip C:\SCP\copia\´,nil,sw_show);
Exit;
end;
end;
Nesta rotina deve ser declarado ShellApi na clausula USES; e as tabelas tem que estarem desativadas para poderem ser copiadas (TABELA.ACTIVE:=FALSE)
a instrução ´-a a:\backup.zip C:\SCP\tabelas\*.db´ indica respectivamente que será criado um arquivo .zip na unidade A: com o nome de backup.zip onde os arquivos de origem são da pasta C:\SCP\tabelas\ com extensão .db; o mesmo serve para a restauração onde apenas muda-se de -a para -e
// criar o backup no disquete
procedure TfrmPrincipal.button1Click(Sender: TObject);
begin
if not FileExists(´A:\nul´) then // verifica se existe um disco na unidade A:
ShowMessage(´Insira um disco formatado na unidade A: e efetue o Backup!´) // caso não exista mostra a mensagem
else
begin
ShellExecute(0,nil,´winzip32.EXE´, ´-a a:\backup.zip C:\SCP\tabelas\*.db´,nil,sw_show); // existindo o disco então chama o Winzip e começa a compactar dentro do disquete
Exit; // fecha o winzip após o términino da compactação
end;
end;
// restaura os arquivos
procedure TfrmPrincipal.button2Click(Sender: TObject);
begin
if not FileExists(´A:\nul´) then
ShowMessage(´Insira um disco com o Último Backup na unidade A: e efetue a Restauração!´)
else
begin
ShellExecute(0,nil,´winzip32.EXE´, ´-e a:\backup.zip C:\SCP\copia\´,nil,sw_show);
Exit;
end;
end;
Nesta rotina deve ser declarado ShellApi na clausula USES; e as tabelas tem que estarem desativadas para poderem ser copiadas (TABELA.ACTIVE:=FALSE)
a instrução ´-a a:\backup.zip C:\SCP\tabelas\*.db´ indica respectivamente que será criado um arquivo .zip na unidade A: com o nome de backup.zip onde os arquivos de origem são da pasta C:\SCP\tabelas\ com extensão .db; o mesmo serve para a restauração onde apenas muda-se de -a para -e
GOSTEI 0
Nebrio
20/03/2003
Aconselho vc a utilizar o componente ZipTV, é o melhor que conheço e grátis.
Nébrio
Nébrio
GOSTEI 0