Gambas: Kompression

Aus Wikibooks


Zurück zum Gambas-Inhaltsverzeichnis.


Laden der Kompressions-Komponente[Bearbeiten]

Um mit Gambas komprimierte Datei zu erstellen, brauchen Sie die Gambas-Komponente gb.compress. Sie können diese über die Gambas-Projektseite zuschalten. Dazu klicken Sie auf den Menüpunkt Projekt und dann weiter auf Eigenschaften. Von den dort angebotenen Reitern wählen Sie Komponenten. Suchen Sie aus der Liste gb.compress heraus und versehen Sie die Box davor mit einem Häkchen.

Siehe auch Komponenten

Beispielprogramm[Bearbeiten]

Im folgenden Beispiel wird eine Textdatei erzeugt. Diese wird unkomprimiert abgespeichert. Dann wird sie komprimiert und gespeichert. Die komprimierte Datei wird geladen und ausgegeben. Dann wird die komprimierte Datei wieder entkomprimiert und mit PRINT im Direktfenster ausgegeben.

Sie brauchen:

  • 1 Textarea
  • 7 Befehlsfelder (Commandbuttons)

um das Programm in Gang zu bringen.

Der Quellcode:

' Gambas class file
PUBLIC DateiTxt AS String
PUBLIC DateiZip AS String
PUBLIC DateiUnzip AS String

PUBLIC SUB Form_Open()
  Textarea1.Text = ""
  ME.Text = "Kompression mit Gambas"
  DateiTxt = System.Home & File.Separator & "ziptest.txt"
  DateiZip = System.Home & File.Separator & "ziptest.txt.gz"
  DateiUnzip = System.Home & File.Separator & "unziptest.txt"
END 

PUBLIC SUB Button1_Click()
  s AS String 
  sp AS String 
  n AS Integer 
  s = " Dies ist ein Test "

  FOR n = 1 TO 10 
    s = s & Str(n)
    sp = sp & s
  NEXT

  PRINT sp
  TextArea1.Text = sp
END

PUBLIC SUB Button2_Click()
  'Testdatei speichern
  File.Save( DateiTxt, TextArea1.Text )
  CATCH 
  IF ERROR THEN RETURN
END

PUBLIC SUB Button3_Click()
  DIM Cp AS Compress
  'DIM Cp AS NEW Compress
  Cp = NEW Compress
  Cp.Type = "zlib"
  Cp.File ( DateiTxt, DateiZip, Cp.Max )
END

PUBLIC SUB Button4_Click()
  DIM sLine AS String
  sLine = File.Load(DateiZip)
  'Die Datei muss existieren, 
  'sonst kann sie nicht geladen werden. 
  PRINT sLine
  'TextArea1.Text = sline
END

PUBLIC SUB Button5_Click()
   DIM UCp AS Uncompress
   UCp = NEW Uncompress
   UCp.Type = "zlib"
   UCp.File ( DateiZip, DateiUnzip )  
END

PUBLIC SUB Button6_Click()
   DIM sLine AS String
   sLine = File.Load(DateiUnzip)
   'Die Datei muss existieren, 
   'sonst kann sie nicht geladen werden. 
   PRINT sLine
   'TextArea1.Text = sline
END

PUBLIC SUB Button7_Click()
  ME.Close 
END