Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateien zusammenfügen und später wieder Zerlegen (https://www.delphipraxis.net/186834-dateien-zusammenfuegen-und-spaeter-wieder-zerlegen.html)

muhael 6. Okt 2015 14:47

AW: Dateien zusammenfügen und später wieder Zerlegen
 
Jetzt hab ich zur LibTar nochmal ne Frage...
Habe aus den kleinen dateien eine .Tar datei gemacht.
nun läd mein Installer/updater diese Datei in einen tmp ordner mit einer install/update.txt datei.
im weiteren Verlauf geht mein prog die txt datei durch in der steht Welche Datei in der Tar Extrahiert werden soll und wohin sie muss:
in der datei steht das so da "Extract;Hintergrund.bmp;data/gfx/Hintergrund.bmp
mein prog liest die datei und findet Extract heißt für das prog ich geh in die Extract routine.. dort soll es nach der "Hintergrund.bmp" datei in der tar suchen und diese dann an den gegeben Ort Extrahieren.
Meine Frage ist jetzt wie geht das am besten?
Ich werde aus der Demo von LibTar nicht schlau die verwenden eine Listview und bei mir soll es ja im hintergrund passieren :roll: ....

samso 6. Okt 2015 15:41

AW: Dateien zusammenfügen und später wieder Zerlegen
 
Der wahlfreie Zugriff auf einzelne Dateien ist bei tar nicht möglich. Deshalb muss das (Band-)Archiv immer wieder vom Anfang durchgespult werden, bis man bei der richtigen Datei angekommen ist.

Grob etwa so:
Delphi-Quellcode:
function ExtractFileFromTar(const Name, Zielpfad: String);
begin
  tar.reset;
  Found := False;
  while not Found and tar.FindNext(DirRec) do
  begin
    if SameText(String(DirRec.Name),Name) then
      Found := True;
  end;
  if Found then
    tar.ReadFile(Zielpfad + Name);
end
Einige Feinheit müssen noch erledigt werden: Tar-Instanz erzeugen, Fehlerbehandlung, falls Pfade in dem tar-Archive vorkommen muss das berücksichtigt werden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.
Seite 3 von 3     123   

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