Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Compactar arquivos


João Paulo Taraciuk

Pergunta

Olá, gostaria de saber como devo fazer para compactar um arquivo e colocar senha nele, estou utilizando a seguinte procedure para compactá-lo:

procedure Tform1.compactar; //Procedure criada para compactar o banco//

begin

If winexec(PChar('c:\arquivos de programas\winzip\winzip32.exe -a -rsenha C:\teste.zip' + ' '+

'C:\teste'), sw_show) < 32 then begin

MessageDlg('Não é possível criar o arquivo compactado.', mtError, [mbOk], 0);

end;

Exit;

end;

e para descompactá-lo :

sDir := 'C:\';

sNomeZip := 'C:\teste.zip';

sNomeArq := 'C:\pastatemporaria\teste;

WinExec( PChar('"C:\Arquivos de Programas\WinZip\winzip32" -e -rsenha ' + sNomeZip + ' ' + sNomeArq), SW_SHOW );

end;

então procedo desta maneira, porque estou fazendo um backup para ftp, sendo que o usuário faz o backup, e quando necessário baixa ele no local escolhido, da tudo certo, somente quando tive que por senha no arquivo é que não está dando certo, ele até envia pro ftp, mas na hora de baixar, não dá certo.

Se alguém puder me ajudar eu agradeço;

end.

Bom pessoal, já consegui colocar senha na procedure, agora estou querendo saber se tem como eu colocar a senha através de um TEdit o form para o usuário colocar a senha que ele preferir, pois da maneira que eu fiz, a senha vai ser sempre a que eu adicionei, ah e onde eu tinha colocado -r na verdade é -s, hehe

procedure Tform1.compactar;

begin

If winexec(PChar('c:\arquivos de programas\winzip\winzip32.exe -a -ssenha C:\teste.zip' + ' '+

'C:\teste'), sw_show) < 32 then begin

MessageDlg('Não é possível criar o arquivo compactado.', mtError, [mbOk], 0);

end;

Exit;

end;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Bom pessoal, já consegui colocar senha na procedure, agora estou querendo saber se tem como eu colocar a senha através de um TEdit o form para o usuário colocar a senha que ele preferir, pois da maneira que eu fiz, a senha vai ser sempre a que eu adicionei

eu faço desta maneira e funciona muito bem, voce pode estudar o codigo e modifica-lo para seu uso

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    BtCompactar: TButton;
    OpenDialog1: TOpenDialog;
    Edit1: TEdit;
    BtDescompactar: TButton;
    procedure BtCompactarClick(Sender: TObject);
    procedure BtDescompactarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  sNomeZip, senha, s : string;
implementation

{$R *.DFM}

procedure TForm1.BtCompactarClick(Sender: TObject);
begin
  senha := trim(edit1.Text);

  if OpenDialog1.Execute then
      sNomeZip := OpenDialog1.FileName;

  s := 'C:\Arquivos de Programas\WinZip\winzip32 -a -s' + senha + ' ' + sNomeZip;

  WinExec( PChar(s), SW_SHOW );
end;

procedure TForm1.BtDescompactarClick(Sender: TObject);
begin
  senha := trim(edit1.Text);

  if OpenDialog1.Execute then
      sNomeZip := OpenDialog1.FileName;

  s := 'C:\Arquivos de Programas\WinZip\winzip32 -e -s' + senha + ' ' + sNomeZip;

  WinExec( PChar(s), SW_SHOW );

end;

end.

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...