Fórum Dúvida para compactar arquivos #353634
14/02/2008
0
procedure TForm1.CompressFiles(Files: TStrings; const Filename: String); var infile, outfile, tmpFile : TFileStream; compr : TCompressionStream; i,l : Integer; s : String; begin if Files.Count > 0 then begin outFile := TFileStream.Create(Filename,fmCreate); try l := Files.Count; outfile.Write(l,SizeOf(l)); for i := 0 to Files.Count-1 do begin infile := TFileStream.Create(Files[i],fmOpenRead); try s := ExtractFilename(Files[i]); l := Length(s); outfile.Write(l,SizeOf(l)); outfile.Write(s[1],l); l := infile.Size; outfile.Write(l,SizeOf(l)); tmpFile := TFileStream.Create(´tmp´,fmCreate); compr := TCompressionStream.Create(clMax,tmpfile); try compr.CopyFrom(infile,l); finally compr.Free; tmpFile.Free; end; tmpFile := TFileStream.Create(´tmp´,fmOpenRead); try outfile.CopyFrom(tmpFile,0); finally tmpFile.Free; end; finally infile.Free; end; end; finally outfile.Free; end; DeleteFile(´tmp´); end; end;
Mas dá o erro Undeclared Identifier:´TCompressionStream´, aí não compila, já declarei a ZLib no Uses da Unit, mas dá esse erro, o que mais eu tenho que fazer para utilizar a ZLib para compactar e descompactar no Delphi 7?
Se alguém puder me ajudar eu agradeço!!
Taraciuk
Curtir tópico
+ 0Posts
14/02/2008
Onjahyr
Creio que seja uma classe de um componente que faltou instalar... As vezes vc tem que criar o pacote (package). Verifique junto do arquivo ZLib se vem outros arquivos com a extensão [b:558986f354].DCR[/b:558986f354], se tiver é que falta instalar....
Procure na internet o programa de instalação do componente [b:558986f354]Zipmaster[/b:558986f354], é um pacote completo para se usar compactação, vem com vários exemplos prontos, ele é freeware e possui os fontes. Genial, eu uso ele!
Gostei + 0
14/02/2008
Paullsoftware
[url=http://www.delphizip.org/]Site do Componente[/url]
[url=http://v179.delphizip.org/index.html]Se preferir pode ir direto a página com a lista das versões[/url] ou efetuar o [url=http://v179.delphizip.org/files/zm1790802.zip]Download da Versão v1.79[/url]
O único inconveniente é ter que carregar junto a sua aplicação as dll´s do mesmo, mais é raro ter uma aplicação que não precise de dll hoje em dia :wink:
Gostei + 0
14/02/2008
Onjahyr
Quanto ao uso de DLL, todos os compactadores que conheço (for Windows) tem DLL e como o companheiro disse, hoje em dia programa sem DLL é difícil, eles fazem parte do nosso dia-a-dia (ainda bem, imagine o tamanho dos aplicativos se não fossem eles) :lol:
O bom, é que este componente aceita não só a extensão .zip como outras...
Blz
Gostei + 0
14/02/2008
Paullsoftware
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)