Olá pessoal, estou tentando compactar com o zlib do delphi, a compactacao em consigo mas noa consigo mostrar o andamento da compactação em um ProgressBar, o progressbar so funciona apos ter acabado de compactar, alguém tem alguma resposta simples para isso pois sou novato em programacao. Grato Marcos Augusto
esse é o codigo que compacata mas não funciona o progressbar
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Zlib, ComCtrls, StdCtrls;
type
TForm4 = class(TForm)
ProgressBar1: TProgressBar;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure CompactaArquivo(CaminhoIn, CaminhoOut, NomeFile : String);
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
CompactaArquivo('c:\z.z', 'c:\', 'z.y');
end;
procedure TForm4.CompactaArquivo(CaminhoIn, CaminhoOut, NomeFile : String);
var
FileIni, FileOut : TFileStream; //TMemoryStream
Zip : TCompressionStream;
cont : Integer;
begin
if FileExists(CaminhoIn) then
begin
Screen.Cursor := crHourGlass;
if NomeFile <> '' then NomeFile := CaminhoOut + NomeFile;
if NomeFile = '' then NomeFile := CaminhoOut + '\DefArq.cmf';
FileIni := TFileStream.Create(CaminhoIn, fmOpenRead and fmShareExclusive);
FileOut := TFileStream.Create(NomeFile, fmCreate or fmShareExclusive);
Zip := TCompressionStream.Create(clMax, FileOut);
ProgressBar1.Max := FileIni.Size;
Zip.CopyFrom(FileIni, FileIni.Size);
ProgressBar1.Position := FileIni.Position;
Zip.Free;
FileOut.Free;
FileIni.Free;
Screen.Cursor := crDefault;
end
else
begin
Application.MessageBox('Arquivo não encontrado.','Erro',MB_ICONERROR);
end;
end;
end.
Editado por Micheus Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Pergunta
Marcos Augusto
Olá pessoal, estou tentando compactar com o zlib do delphi, a compactacao em consigo mas noa consigo mostrar o andamento da compactação em um ProgressBar, o progressbar so funciona apos ter acabado de compactar, alguém tem alguma resposta simples para isso pois sou novato em programacao. Grato Marcos Augusto
esse é o codigo que compacata mas não funciona o progressbar
Editado por MicheusIncluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.