Benutzer-Werkzeuge

Webseiten-Werkzeuge


k28:k28.1:k28.1.2:start

28.1.2 Klasse Uncompress

Für das De-Komprimieren einer Datei oder das Entpacken einer einzelnen Datei aus einem Archiv sind vor allem die Eigenschaft Type und die Methode Uncompress.File informativ, denn bevor Sie eine Methode dieser Klasse verwenden können, müssen Sie den Kompressionstreiber auswählen, den Sie zum Entpacken verwenden wollen. Zur Wahl stehen die zwei Typen: zlib oder bzlib2.

Die Methode Uncompress.File hat folgende Syntax:

SUB File ( Source AS String, Target AS String )

Source: Pfad zur Archiv-Datei. Target: Pfad der ausgepackten Datei. Existiert die ausgepackte Datei, dann wird diese ohne Rückfrage überschrieben.

B1

Abbildung 28.1.2.1: Programm zum Entpacken einer Archiv-Datei nach zwei unterschiedlichen Algorithmen

28.1.2.1 Projekt Un_Compress

Auch für dieses Projekt wird der vollständige Quelltext angegeben und in den folgenden Kommentaren kurz erläutert:

' Gambas class file
' Um eine komprimierte Datei zu entpacken, benötigen Sie die Komponente gb.compress.
 
Private sFileSource As String
Private sFileTarget As String
 
Public Sub Form_Open()
  FMain.Center
  FMain.Resizable = False
End ' Form_Open()
 
Public Sub btnUnCompressZLIB_Click()
  Dim UCp As New Uncompress
 
  Dialog.Filter = ["*.gz", "Archiv-Datei", "*", "Alle Dateien"]
  Dialog.Path = User.Home
  Dialog.Title = "Wählen Sie eine Datei aus!"
  If Dialog.OpenFile() Then Return
 
  sFileSource = Dialog.Path
  sFileTarget = File.Dir(Dialog.Path) &/ File.BaseName(Dialog.Path)
 
  UCp.Type = "zlib"
  UCp.File(sFileSource, sFileTarget)
 
End ' UnCompressZLIB
 
Public Sub btnUnCompressBZLIB2_Click()
  Dim UCp As New Uncompress
 
  Dialog.Filter = ["*.bz2", "Archiv-Datei", "*", "Alle Dateien"]
  Dialog.Path = User.Home
  Dialog.Title = "Wählen Sie eine Datei aus!"
  If Dialog.OpenFile() Then Return
 
  sFileSource = Dialog.Path
  sFileTarget = File.Dir(Dialog.Path) &/ File.BaseName(Dialog.Path)
 
  UCp.Type = "bzlib2"
  UCp.File(sFileSource, sFileTarget)
 
End ' UnCompressBZLIB2
 
Public Sub btnClose_Click()
  FMain.Close
End ' btnClose_Click()

28.1.2.1 Kommentar

  • Zuerst wird ein Uncompress-Objekt erzeugt.
  • Dann können Sie im Dialog die Archiv-Datei auswählen. Der Datei-Filter ist im Projekt auf gz-Archive und bz2-Archive eingestellt. Diese Einstellungen folgen den Empfehlungen im Zusammenhang mit den eingesetzten 2 Algorithmen. Die entpackte Datei wird hier im gleichen Verzeichnis abgespeichert wie die Archiv-Datei.
  • Abschließend wird die ausgewählte Archiv-Datei nach dem gewählten Algorithmus (Type) unter Verwendung der Pfade für die Quell- und Ziel-Datei entpackt.

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k28/k28.1/k28.1.2/start.txt · Zuletzt geändert: 23.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge