AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TArchive - Klasse um mehrere Dateien zusammen zu fassen
Thema durchsuchen
Ansicht
Themen-Optionen

TArchive - Klasse um mehrere Dateien zusammen zu fassen

Ein Thema von Luckie · begonnen am 16. Jul 2004 · letzter Beitrag vom 19. Jul 2004
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

TArchive - Klasse um mehrere Dateien zusammen zu fassen

  Alt 16. Jul 2004, 02:58
TArchive ist eine Klasse, um beliebig viele Datein zu einer zusammenzufassen. Man kann dann entweder gezielt eine Datei extrahieren oder alle in einem Rutsch.

Aufbau der Archivdatei:
Delphi-Quellcode:
{************************************************************

  Archive format:

  4 Byts                  : Number of Files in archive
  4 Bytes * sizeof(Int64)  : Size of files in archive
  255 * sizeof(Int64)      : Filenames of files in archive
  -                        : files in archive

************************************************************}
In den ersten vier Bytes steht die Anzahl der Dateien. Dann folgen die Dateigrößen der Dateien im Archiv und dann die Dateinamen. Und dann die Dateien selber.

Methoden der Klasse:
Delphi-Quellcode:
constructor Create(ArchiveFile: string);
procedure AddFiles(Files: TStrings); // Fügt Dateien dem Archiv hinzu
procedure Contents(var Files: TStrings); // Liest die Dateinemane der enthaltenen Dateien aus
procedure ExtractSingleFile(Index: Integer; Dir: string); // extrahier eine einzelne Datei
procedure ExtractAll(Dir: string); // extrahier alle Dateien
Was die Klasse noch nicht kann:
Zu einem bestehenden Archiv neue Dateien hinzufügen.
Dateien aus dem Archiv entfernen.
Die Pfade werden nicht mitgespeichert.
Keine Fortschrittsanzeige.

Die ersten beiden Punkte liessen sich aber über den Umweg, des erst Extrahierens und dann des neu Zusammenstellens lösen.
Der letzte Punkt liesse sich mit hilfe des StreamProgressAdapeters (Auch auf meiner HP zu finden.) lösen.

Ein Demo Projekt liegt bei.

Download: TArchive1_0.zip [9 KBytes]

Ist nix großes, aber eventuell kann sie ja der ein oder andere brauchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz