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;