Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renanbg

Compactando com o TtsqZip

Recommended Posts

Amigos, estou testando alguns componentes de compactação.

 

este TtsqZip me pareceu bem atrativo

 

então junto com o componente vem o exemplo de uso e resolvi usar um que mostra o progresso da compactação

 

procedure TForm1.tsqZip1Print(Buffer: PChar; Size: Cardinal;
  var PResult: Integer);
begin
  memo1.Lines.Add(Buffer);
  Application.ProcessMessages;
end;

procedure TForm1.tsqZip1Service(Buffer: PChar; Size: Cardinal;
  var PResult: Integer);
begin
  memo1.Lines.Add('--->' + Buffer);
  ProgressBar1.Position := ProgressBar1.Position + 1;
  Application.ProcessMessages;
  if FAborted then begin
	//Abort button was pressed, terminate the zip process by setting PResult to 1
	PResult := 1;
  end;
end;

e no botão

tsqzip1.ZipFileName := 'c:\test_tsqzip.zip';
tsqzip1.FilesToZip.Clear;
tsqzip1.FilesToZip.Add('c:\mydir\file1.exe');
tsqzip1.FilesToZip.Add('c:\mydir\file2.txt');
tsqzip1.Execute; //compress file

O problema é que ele preenche a barra de progresso só até a metade. ja reduzi o tamanho dela, mas ele ainda preenche só a metade

 

alguem usa esse componente e sabe o pq disso?

 

ou recomenda um outro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei como esse componente funciona.

 

Mas para preencher um Progress Bar é necessário fazer um laço, para que ele possa ir incrementando de acordo com os resultados encontrados.

 

Olha só este exemplo de Progress Bar, bem simples:

 

Progress Bar

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, o componente não oferece muito nesse sentido.

 

Você conheçe algum outro metodo ou componente que posso usar para compactar?

 

atualmente uso o winzip, mas quero abortar pq senao todas maquinas devem te-lo instalado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.