Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert' (https://www.delphipraxis.net/196039-tzipfile-unterstuetzung-fuer-komprimierungsmethode-nicht-registriert.html)

sko1 18. Apr 2018 12:27

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ein Screenshot im Anhang...

Die Datei heißt eigentlich Freizeitföüährer.pdf

Was das Testen betrifft, ich brauche eigentlich den umgekehrten Weg:
Ich muss wissen ob mein Zip korrekt ist und der entpackende Empfänger ein Problem hat...

Das mit der Abbrevia-Änderung probiere ich aus...

Ciao
Stefan

timog 18. Apr 2018 21:08

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Stefan,

leider schreibst Du nicht, welche Version vom TotalCommander Dein Kollege verwendet, sieht auf dem Bildschirmfoto aber schon älter aus. Der aktuelle TotalCommander 9.12 öffnet und entpackt eine mit TZipFile gepackte Umlautdatei aus einer ZIP-Datei (siehe unten) problemlos.

Der "DATEV Importer" wird von Dir nicht näher spezifiziert - es kann also sein, dass es vielleicht an der fehlenden "Unicode"-Unterstützung der Fremdprogramme liegen kann? Dann wäre die Aufgabenstellung eventuell eher, einen OEM/ANSI-Dateinamen in eine ZIP-Datei zu bekommen, um Kompatibilität herzustellen?

Die Prüfung auf Korrektheit der ZIP-Datei ist so eine Sache: Bedeutet korrekt, dass die ZIP RFC-1950 erfüllt, dass das Dateiformat nach PKZip eingehalten wurde oder dass der Kunde in seinem Fremdprogramm damit arbeiten kann?

Doch zurück zu Deiner Frage und dem Titel: 'Unterstützung für Komprimierungsmethode nicht registriert' - da Du leider keinen Code gepostet hast, der zu dem Fehler führt, hier mal ein Beispiel, welches unter Delphi 10.2.3 und Windows 10 Build 1709 die beigefügt ZIP-Datei erstellt hat.

Delphi-Quellcode:
uses
   System.Zip;

procedure ZipAFile(const AArchiveName, AFilename: string);
var
  LZip: TZipFile;
begin
  LZip:=TZipFile.Create;
  try
    if FileExists(AArchiveName) then DeleteFile(AArchiveName);
    LZip.Open(AArchiveName, zmWrite);
    LZip.Add(AFilename);
    LZip.Close;
  finally
    LZip.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ZipAFile('c:\temp\test.zip', 'c:\temp\Freißeitföüährer.txt');
end;
Die gepackte Datei Freißeitföüährer.txt kann mit Windows 10 und unter macOS 10.13 mit Bordmitteln sowie auf iPhone und iPad mit diversen Apps aus test.zip entpackt werden (Android gerade nicht parat) und die Umlaute bleiben intakt.

Modifiziere diesen Code-Schnipsel doch bitte einmal so, dass der Fehler auftritt (interessiert mich gerade, da wir bald etwas mit ZIP-Dateien vorhaben und eigentlich TZipFile nehmen wollten).

Viel Erfolg!

KodeZwerg 18. Apr 2018 21:45

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
TZipFile hat, abgesehen von keiner guten Kompression, den Nachteil das es nicht mit Passwörter klar kommt.
Zumindest in Delphi Berlin gab es da noch keine Passwort Unterstützung.
Vorteil wegen niedriger Komression ist allerdings die Geschwindigkeit.

Uwe Raabe 18. Apr 2018 21:55

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Zitat:

Zitat von KodeZwerg (Beitrag 1399751)
TZipFile hat, abgesehen von keiner guten Kompression, den Nachteil das es nicht mit Passwörter klar kommt.

Das kann man ja ändern: TZipFile with Password Encryption

timog 18. Apr 2018 21:59

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Zitat:

Zitat von KodeZwerg (Beitrag 1399751)
TZipFile hat, abgesehen von keiner guten Kompression, den Nachteil das es nicht mit Passwörter klar kommt.
Zumindest in Delphi Berlin gab es da noch keine Passwort Unterstützung.
Vorteil wegen niedriger Komression ist allerdings die Geschwindigkeit.

So wie Uwe das macht bzw. das Wiki es vorschlägt, würde reichen.

Und zur Kompression: Wenn etwas anderes als deflate verwendet wird, ist es kein normales ZIP File mehr, sondern ein durch WinZip populär gemachtes erweitertes Format, für das mittlerweile zipx als Dateierweiterung verwendet werden sollte. Aber wir schweifen ab...

timog 18. Apr 2018 22:01

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1399752)
Das kann man ja ändern: TZipFile with Password Encryption

Genau das habe ich mir auch gedacht :-)

KodeZwerg 18. Apr 2018 22:05

AW: TZipFile 'Unterstützung für Komprimierungsmethode nicht registriert'
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1399752)
Das kann man ja ändern: TZipFile with Password Encryption

Ich wusste nicht dass das möglich ist, Danke für den Link und Deine Arbeit damit!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz