Zipar sem ZipMaster
Alguem pode me dizer algum outro componente q pra compactar arquivos q não seja o ZipMaster???
Pq esse precisa das dll´s e queria uma q não tivesse necessitasse de nenhum outro arquivo...
Se alguem souber
Alan Vieceli
Pq esse precisa das dll´s e queria uma q não tivesse necessitasse de nenhum outro arquivo...
Se alguem souber
Alan Vieceli
Alansvieceli
Curtidas 0
Respostas
Nildo
08/04/2005
Olha, talvez meu artigo o ajude: http://www.clubedelphi.net/artigos/U_DLLnoDelphi.asp
GOSTEI 0
Nerdex
08/04/2005
Esse é meu artigo Nildo!... vê se gosta:
Não me perguntem o porquê, mas tenho um certo facínio por compressão de dados, sendo que já testei vários componentes.
Hoje não uso nenhum deles e sim um pequeníssimo arquivo da própria RTL do Delphi chamado zLib.pas.
Fiquei surpreso com os resultados de eficiência, performance e taxas de compressão obtidos nos meus testes, onde equipara-se ao uso do compressor UPX.exe (algorítmo de compressão NRV criado por Markus F.X.J. Oberhumer e László Molnár).
Bem... agora vamos ver como é fácil, simples e leve sua implementação usando a zLib:
Insira zLib no Uses da sua Unit...
procedure TForm1.CompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
Zip: TCompressionStream;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo a ser comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmCreate or fmShareExclusive);
Zip:=TCompressionStream.Create(clMax, FileOut);
Zip.CopyFrom(FileIni, FileIni.Size);
Zip.Free;
FileOut.Free;
FileIni.Free;
end;
procedure TForm1.DescompressãoClick(Sender: TObject);
var
FileIni, FileOut: TFileStream;
DeZip: TDecompressionStream;
i: Integer;
Buf: array[0..1023]of Byte;
begin
FileIni:=TFileStream.Create(´C:\pasta\...arquivo comprimido...´, fmOpenRead and fmShareExclusive);
FileOut:=TFileStream.Create(´C:\pasta\...arquivo descomprimido...´, fmCreate or fmShareExclusive);
DeZip:=TDecompressionStream.Create(FileIni);
repeat
i:=DeZip.Read(Buf, SizeOf(Buf));
if i <> 0 then FileOut.Write(Buf, i);
until i <= 0;
DeZip.Free;
FileOut.Free;
FileIni.Free;
end;
Dependendo da tua necessidade... poderá adaptá-lo para que execute a compressão e descompressão de pastas inteiras e também que realize um teste de verificação na integridade dos arquivos com o auxílio de uma tabela CRC 32.
Ricardo Bastos Campos
Tec em Proc de Dados e Acad. em Sist de Informação
Santa Maria - RS
ricbcampos@ubbi.com.br
GOSTEI 0
Lucaniasalvatore
08/04/2005
Bom dia, alansvieceli.
Vc não precisa usar necessariamente as dll´s. O ZipMaster 1.78 vem com um mini-aplicativo ´MAKEdllRes´ para vc criar um arquivo ´ResDll.res´ das dll´s.
Dessa forma vc apenas inclui:
{$R resdlls.res}
e voilá...
o endereço: [url]http://www.delphizip.net/[/url]
o aplicativo ficará na subpasta Tools.
boa programação
Lucania Salvatore
Vc não precisa usar necessariamente as dll´s. O ZipMaster 1.78 vem com um mini-aplicativo ´MAKEdllRes´ para vc criar um arquivo ´ResDll.res´ das dll´s.
Dessa forma vc apenas inclui:
{$R resdlls.res}
e voilá...
o endereço: [url]http://www.delphizip.net/[/url]
o aplicativo ficará na subpasta Tools.
boa programação
Lucania Salvatore
GOSTEI 0
Nildo
08/04/2005
Esse é meu artigo Nildo!... vê se gosta
Muito bom! Parabens!
Dois artigos diferentes para apenas uma solução! Eeeeta esse forum ta ficando cada vez com maior qualidade!
GOSTEI 0
Madrick
08/04/2005
De uma olhada ai...
http://forum.devmedia.com.br/viewtopic.php?t=60429&highlight=zlib&sid=4a78b63e9ac7fb3bfe1eb18a558cc86f
http://forum.devmedia.com.br/viewtopic.php?t=60429&highlight=zlib&sid=4a78b63e9ac7fb3bfe1eb18a558cc86f
GOSTEI 0
Rfpsatin
08/04/2005
Salve Gente...
como faço pra descompactar um arquivo(usando zLib.pas) compactado pelo winzip, p.ex.?
ta dando erro, acusa erro!
valeu
como faço pra descompactar um arquivo(usando zLib.pas) compactado pelo winzip, p.ex.?
ta dando erro, acusa erro!
valeu
GOSTEI 0
Gandalf.nho
08/04/2005
Salve Gente...
como faço pra descompactar um arquivo(usando zLib.pas) compactado pelo winzip, p.ex.?
ta dando erro, acusa erro!
valeu
Pelo que sei zLib não permite descompactar arquivos padrão ZIP. Vc terá que usar um padrão compatível com ZIP
GOSTEI 0
Rfpsatin
08/04/2005
[quote:8d3e33e815=´rfpsatin´]Salve Gente...
como faço pra descompactar um arquivo(usando zLib.pas) compactado pelo winzip, p.ex.?
ta dando erro, acusa erro!
valeu
Pelo que sei zLib não permite descompactar arquivos padrão ZIP. Vc terá que usar um padrão compatível com ZIP[/quote:8d3e33e815]
Pra mim isso é um problema, pq nao posso agregar um componente neste projeto!
Vc ou alguém tem alguma rotina, unit, algo simples que pudesse disponibiliar sem ser um componente?
muito obrigado!
GOSTEI 0
Nildo
08/04/2005
Pra mim isso é um problema, pq nao posso agregar um componente neste projeto!
Qual a diferença de agregar um componente e uma Unit? Você pode colocar as Units do ZipMaster junto com seu projeto, mas sem ter que instalar o TZipMaster, logo você os cria dinâmicamente
GOSTEI 0
Rfpsatin
08/04/2005
[quote:dc1bba7cd5=´rfpsatin´]Pra mim isso é um problema, pq nao posso agregar um componente neste projeto!
Qual a diferença de agregar um componente e uma Unit? Você pode colocar as Units do ZipMaster junto com seu projeto, mas sem ter que instalar o TZipMaster, logo você os cria dinâmicamente[/quote:dc1bba7cd5]
legal, legal, legal....
são muitas units?
vc pode me mandar!
rfpsatin@yahoo.com.br
GOSTEI 0
Nildo
08/04/2005
Baixa deste site: http://www.delphizip.net/
Joga as units dentro da pasta do seu projeto (de preferencia), vincula as units ao seu projeto, declara elas no seu Uses e crie-os dinamicamente.
Joga as units dentro da pasta do seu projeto (de preferencia), vincula as units ao seu projeto, declara elas no seu Uses e crie-os dinamicamente.
GOSTEI 0
Rfpsatin
08/04/2005
uia ki ki eu achei :shock: :shock: :shock: :shock:
http://www.delphi32.com/vcl/3173/download,xid,3173.asp
gostei muito.
http://www.delphi32.com/vcl/3173/download,xid,3173.asp
gostei muito.
GOSTEI 0
Dpinho
08/04/2005
Quero utilizar a zLib, ate ja testei e gostei da taxa de compactação e a facilidade de uso, Gostaria de saber se tem jeito de compactar todos os arquivos de uma pasta, utilizando o path dela ou usar mascaras *.* e ao descompactar retonar para o path original
GOSTEI 0
Nerdex
08/04/2005
Quero utilizar a zLib, ate ja testei e gostei da taxa de compactação e a facilidade de uso, Gostaria de saber se tem jeito de compactar todos os arquivos de uma pasta, utilizando o path dela ou usar mascaras *.* e ao descompactar retonar para o path original
[list:4e27b73f93]Sim... naturalmente existe a possibilidade... para isto veja [url=http://cc.borland.com/ccweb.exe/listing?id=21894]este arquivo aqui do Code Central da Borland.[/url]
[u:4e27b73f93]Nome do arquivo[/u:4e27b73f93]:
A single unit adding Zip file handling to Delphi 1.1
[]´s[/list:u:4e27b73f93]
GOSTEI 0
Eniorm
08/04/2005
Ressucitando esse post......
Tem como limitar o tamanho do arquivo compactado usando o zLib
Tipo, tenho um arquivo que, após compactado terá 5 megas, quero que o processo de compactação gere 5 arquivos com 1 mega cada.
Tem como?
Tem como limitar o tamanho do arquivo compactado usando o zLib
Tipo, tenho um arquivo que, após compactado terá 5 megas, quero que o processo de compactação gere 5 arquivos com 1 mega cada.
Tem como?
GOSTEI 0
Khundalini
08/04/2005
No site http://codecentral.borland.com, tem um exemplo de um cara que usou a ZLib pra criar um componente que compacta arquivos no formato do .ZIP.
Notem que o padrão de compactação da ZLib é compatível com o padrão de compactação usado pelo WinZip, no entanto, vc precisa gerar arquivos compactados com a ZLib que estejam no formato .ZIP.
Não me lembro do link onde está o exemplo. Registrem-se lá e procurem, que lá tem sim! Quem procura, acha!
[]s
Rubem Rocha
Manaus, AM
Notem que o padrão de compactação da ZLib é compatível com o padrão de compactação usado pelo WinZip, no entanto, vc precisa gerar arquivos compactados com a ZLib que estejam no formato .ZIP.
Não me lembro do link onde está o exemplo. Registrem-se lá e procurem, que lá tem sim! Quem procura, acha!
[]s
Rubem Rocha
Manaus, AM
GOSTEI 0
Dopi
08/04/2005
Experimente usar o [url=http://sourceforge.net/projects/tpabbrevia/]Turbo Power Abbrevia[/url]... Esse conjunto de componentes para ZIP não precisa de nenhuma DLL e ainda é compatível com o Kylix (Linux)
Abbrevia is a compression toolkit for Borland Delphi, C++Builder, & Kylix. It supports PKZIP 4, Microsoft CAB, TAR, & gzip formats & the creation of self-extracting archives. It includes visual components that simplify the manipulation of ZIP files.
GOSTEI 0