2012-07-26 8 views
6

Birden çok büyük dosyayı (4gb'yi aşan ve bu nedenle win32 işleminde kullanılabilen belleğe sığmayan dosyalar) tek bir dosyada sıkıştırmak ve şifrelemek için bir bileşen veya başka bir teknik arıyorum. Şifrelemenin çok güçlü olmasını isterim (256 bit AES veya daha iyi) ama sıkıştırma benim için önemli değil.Büyük bir dosyayı harici DLL'leri veya çalışma zamanlarını kullanmadan nasıl sıkıştırabilir ve şifreleyebilirim?

Şu anda, Zip olmayan bir dosya biçimini oluşturan TJvZlibMultiple bileşenini kullanıyorum, ancak arşivi oluşturmalıyım, sonra bunu ayrı bir adımda şifrelemeliyim (şu anda DcpCrypt kullanıyorum). Aynısını tek bir geçişte, akışları kullanarak, dosyanın boyutuna eşit bellek kullanmadan yapmak istiyorum (ergo, sıkıştırma ve şifreleme, akışlarla değil, belleklerle gerçekleştirilmelidir).

Gördüm ve kullanmak istemiyorum, 7zip dll gibi harici bir DLL gerektiren bir şey. Ticari araçlar tamam, ya da herhangi bir kod veya örnek Delphi kaynakları, ama ben Delphi içinde tam bir uygulama için bir dll içinde ithalat ve çağırır bir şey değil arıyorum.

+4

! (esp herhangi bir açıklama olmadan). –

+0

@ François, ikisinin de oyu, yapının yapıcı olmadığıydı; bu bağlamda, bu bağlamda, muhtemelen, bir anket sorusuyla ilgili olduğu için, bileşenlerin teşebbüsüne itiraz ettikleri anlamına gelir. Bunu, özellikle bir bileşen için sormak yerine, belirtilen hedefe nasıl ulaşılacağına dair daha genel bir soru sormak suretiyle, bu sınırdan biraz daha uzağa attım. Çoğu cevap muhtemelen bileşen veya kütüphane önerecektir. –

+1

Teşekkürler @RobKennedy. Gerçekten daha iyi görünüyor. –

cevap

2

DIZipWriter'a bir bakın.

256 bit AES, akış ve sıkıştırma desteği.

Güncelleme: Sürüm 5 büyük boyutlu (64bit) girişler, DIZipWriter History destekleri olduğunu iddia ediyor.

+0

Bu sorunun yanıt işaretini kaldırdım çünkü bu bileşenin güzel şifreleme desteğine sahip olmasına rağmen dosya boyutu ve konum parametreleri için int64 yerine Cardinal (32 bit) kullanıyor, yani geliştiricinin bileşenleriyle dosyalarını kullanmayı düşünmediği anlamına geliyor.> 4 boyutta gb. Bu kolay kısım olduğu için, bu kadar kolay bir şey yapamayacağından şüphelenmeye bile başlamıştım. Ancak indirilebilir sürümüne (tüm API'lerin imzalarını görmenize izin veriyor) bakarak, bunun Büyük Dosyalara hazır olmadığını görebiliyorum. –

-1

Kontrol FlexCompress:

FlexCompress güçlü şifreleme ve WinZip ve RAR daha iyi sıkıştırma oranı ile arşiv oluşturmak için tasarlanmış bir sıkıştırma Delphi bileşenidir. Yerel VCL, DLL'ler, OCX'ler, dosyalar, tamponlar, akışlar ve dizgeler için sıkıştırma sağlar, bellek içi arşivleri destekler, düşük bellek tüketimi> 4 Gb ve diğer kullanışlı özelliklerle büyük dosyaları sıkıştırır. Bu bağlantı tarafından

http://www.componentace.com/flexcompress_features.htm: Ben kapatılması için 2 oy katılmıyorum http://delphi.about.com/od/toppicks/tp/delphi_zip.htm

+0

Zaten yukarıda öneriyoruz. Cevabınızı çoğaltır. Sadece oylama lütfen, –

İlgili konular