Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#6

AW: TZIpFile Komprimierung

  Alt 15. Jan 2022, 10:33
Das ist auch egal.

NTFS macht der Dateisystemtreiber.
Das hat nichts mit ZIP zu tun.

Es gibt nur noch das ZipFolder-Addon im Explorer und das kennt die MinimalAusstattung der ZIP-Spezifikation. (inkl. Zip64)






im Dateisystem:
FindFirstFile/GetFileAttribute/... mit FILE_ATTRIBUTE_COMPRESSED zum Lesen,
oder DeviceIoControl mit FSCTL_SET_COMPRESSION zum Setzen
und GetCompressedFileSize für die "reale" Dateigröße"


Es gibt im .NET / C# eine Zip-Klasse System.IO.Compression.ZipFile (die Win32-API hat sowas wohl nicht)
https://docs.microsoft.com/en-us/win...-decompression

Der Lempel-Ziv-Algorithmus ist OpenSource von Microsoft auf GitHub zu finden.
Aber es gibt auch passende APIs dafür, um es selbst im Programm zu nutzen. (außerhalb des NTFS)
https://docs.microsoft.com/en-us/win...ompression-api
https://docs.microsoft.com/de-de/dot...-extract-files
Das ist dann sowas ähliches wie TCompressedStream, womit man die Komprimierung von ZIP einzeln nutzen kann.




Die NTFS-Verschlüsselung ist da schöner gelöst, als die Komprimierung.
FILE_ATTRIBUTE_ENCRYPTED mit EncryptFile, DecryptFile, OpenEncryptedFileRaw usw.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (15. Jan 2022 um 11:28 Uhr)
  Mit Zitat antworten Zitat