Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
759 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Neue Zip-Archiv Komponente

  Alt 2. Sep 2020, 11:26
Hallo Willie

du schreibst in #10, dass du die Files aus der ZIP Datei zuerst auf Platte in einen Ordner abspeichern willst. Dabei willst du die in der ZIP vorhandene Unterordnerstruktur nicht übernehmen. Wenn du das so tust, dann sind wahrscheinlich Kollisionen punkto Filenamen nicht vermeidbar(?). Vielleicht hast du aber auch eindeutige Namen für deine Bilder gewählt - dann wäre ja alles gut.

ZIP Datei auspacken in einen Ordner ohne dabei die Unterordnerstruktur zu übernehmen:

Delphi-Quellcode:
procedure auspacken( zipfilename : string; ausgabeordner : string );
var
    zip : TZipfile;
    filename : string;

begin
  if forcedirectories(ausgabeordner) then
  if TZipFile.IsValid( zipfilename ) then
  begin
    zip := TZipFile.Create;
   try
    zip.Open( zipfilename,zmRead );
    for filename in zip.FileNames do
        zip.Extract( filename, ausgabeordner, false);
   finally
    zip.Free;
   end;
  end;
end;
Die Bilder filterst du vor (wenn du zum Beispiel nur auf FileExtension prüfst) oder nach dem Extract raus.

Wie oben mehrfach erwähnt wird: Wenn du Bild nach Bild in deinem Programm anzeigen (und nie als Datei auf Platte) willst, dann ist der Weg über Streams praktischer.
Michael Gasser

Geändert von Michael II ( 2. Sep 2020 um 11:37 Uhr)
  Mit Zitat antworten Zitat