ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v1.0.c

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v1.0.c

Beitrag von Euklid »

ZPAQ's Face ist eine mit Lazarus erstellte Benutzeroberfläche für ZPAQ, eines sehr starken Kompressionsprogramms.

Wie leistungsfähig ist ZPAQ?
Dank Nutzung modernster Kompressionsverfahren ist ZPAQ stärker und bei gleicher Kompressionsdichte schneller als die gängigen Kompressionsprogramme wie zip, 7zip oder gz.

Code: Alles auswählen

ZPAQsFACE_V1.0_MacOS:        4.938.915 Bytes            Ordner mit unkomprimierten Originaldateien
ZPAQsFACE_V1.0_MacOS.tar.gz: 1.506.023 Bytes            mit gz komprimiert
ZPAQsFACE_V1.0_MacOS.zip:    1.439.185 Bytes            mit zip komprimiert
ZPAQsFACE_V1.0_MacOS.7z:     1.049.328 Bytes            mit 7zip komprimiert
ZPAQsFACE_V1.0_MacOS.zpaq:     874.720 Bytes            mit ZPAQ's Face komprimiert
Einen detaillierteren Artikel zur Datenkompression mit neuronalen Netzen gibt es hier: https://lazarusforum.de/viewtopic.php?f=13&t=13052

Wie komprimiert ZPAQ?
- Deduplikation: Mehrfach vorhandene Dateien werden nur ein mal archiviert.
- Kontextabhängige Kompression: Je nach Datentyp wählt ZPAQ einen geeigneten Kompressionsalgorithmus.
- Fehlererkennung: Die komprimierten Archieve sind in mehrere Blöcke unterteilt, für die Prüfsummen abgespeichert werden.
--> Werden defekte Blöcke entdeckt, so können die Dateien in den anderen Blöcken dennoch entpackt werden.

ZPAQ's Face sieht so aus:
ZPAQsFACE_v10c.png
ZPAQsFACE_v10c.png (99.59 KiB) 3362 mal betrachtet
Die leichte Bedienbarkeit steht im Vordergrund:
[*]Durch "Datei hinzufügen" oder "Ordner hinzufügen" können Dateien und Ordner in das Archiv hinzugefügt werden.
[*]Durch "Kompressionslevel" kann die Stärke der Kompression gewählt werden. Informationen dazu befinden sich im oben verlinkten Artikel.
[*]Durch "Archiv speichern" wird das Archivinhalt komprimiert.

Lizenzen:
ZPAQ und die Benutzeroberfläche ZPAQ's Face sind Freie Software. zpaq selbst ist public domain, Für ZPAQsFACE gelten die Bedingungen der GPL V3.

Dateien und Versionen:
[*]ZPAQsFACE_V1.1.1_BETA_SRC_und_LINUX.zpaq: Experimentelle Beta-Version - eignet sich noch nicht für den täglichen Gebrauch.
[*]ZPAQsFACE_V1.0_Windows_MacOS.7z: Die kompilierte und direkt ausführbare Windows- und Linux-Binärdatei der älteren Version 1.0 (Von Winni und reiter kompiliert)
[*]ZPAQsFACE_V1.0.c_SRC.zip: Der Sourcecode der aktuellsten stabilen Version 1.0.c
[*]ZPAQsFACE_V1.0.c_Linux_64bit.7z: Kompilierte und direkt ausführbare Linux-Binärdatei der aktuellsten stabilen Version 1.0.c
Dateianhänge
ZPAQsFACE_V1.1.1_BETA_SRC_und_LINUX.zpaq
Experimentelle Beta-Version
(1.32 MiB) 130-mal heruntergeladen
ZPAQsFACE_V1.0_Windows_MacOS.7z
Kompilierte und direkt ausführbare Windows- und MacOS-Binärdateien der älteren Version 1.0
(1.94 MiB) 132-mal heruntergeladen
ZPAQsFACE_V1.0.c_SRC.zip
Der Source-Code der aktuellen Version 1.0.c
(862.23 KiB) 137-mal heruntergeladen
ZPAQsFACE_V1.0.c_Linux_64bit.7z
Kompilierte und direkt ausführbare Linux-Binärdatei der aktuellen Version 1.0.c
(921.39 KiB) 132-mal heruntergeladen
Zuletzt geändert von Euklid am Fr 4. Aug 2023, 14:00, insgesamt 25-mal geändert.

wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression

Beitrag von wennerer »

Hallo Euklid,
finde dein Projekt sehr interessant und habe mal getestet.
Leider komme ich mit der Bedienung noch nicht klar. Ich habe zuerst eine Datei zum Testen in einen neuen Ordner kopiert. Dann habe ich dein Programm gestartet und auf "Datei Hinzufügen" geklickt. Nun habe ich die Datei ausgewählt. Der Dateipfad wurde im Programmfenster angezeigt. (Anmerkung: Mein Pfad war etwas lang und konnte nicht komplett angezeigt werden, hier wäre es schön wenn du dir noch was einfallen lässt). Jetzt ging ich auf "Archiv Speicher" und habe im Dialog einen Namen eingegeben und dann speichern geklickt. Leider finde ich keine komprimierte Datei auf meiner Festplatte. Da mach ich wohl was falsch.
Kannst du nochmal kurz beschreiben wie man eine einzelne Datei komprimiert?

Viele Grüße
Bernd

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression

Beitrag von Euklid »

Hallo Bernd,

gerne:
Wenn alles ohne Bug läuft startest Du das Programm, klickst auf "Datei hinzufügen", wählst die Datei aus und klickst anschließend auf "Archiv speichern".

Sollte das nicht funktionieren, schreibe mir bitte nochmal - ich bin über jeden Bugreport dankbar. Es handelt sich ja erst um eine noch nicht perfekte BETA.

Liebe Grüße, Euklid

PS: Danke auch schonmal für die Bedienungsrückmeldung. Hast Du einen Vorschlag, wie man es besser aufbauen kann?

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression

Beitrag von Euklid »

wennerer hat geschrieben:
So 19. Jul 2020, 17:16
Hallo Euklid,
finde dein Projekt sehr interessant und habe mal getestet.
Leider komme ich mit der Bedienung noch nicht klar. Ich habe zuerst eine Datei zum Testen in einen neuen Ordner kopiert. Dann habe ich dein Programm gestartet und auf "Datei Hinzufügen" geklickt. Nun habe ich die Datei ausgewählt. Der Dateipfad wurde im Programmfenster angezeigt. (Anmerkung: Mein Pfad war etwas lang und konnte nicht komplett angezeigt werden, hier wäre es schön wenn du dir noch was einfallen lässt). Jetzt ging ich auf "Archiv Speicher" und habe im Dialog einen Namen eingegeben und dann speichern geklickt. Leider finde ich keine komprimierte Datei auf meiner Festplatte. Da mach ich wohl was falsch.
Kannst du nochmal kurz beschreiben wie man eine einzelne Datei komprimiert?

Viele Grüße
Bernd
Gerade habe ich Deinen Beitrag nochmal durchgelesen. Ich glaube, Du hast intuitiv alles richtig gemacht.

Bitte mache mal Folgendes:
Gehe in den Unterordner "bin".
Dort findest Du eine Datei zpaq. Rechtsklick auf diese Datei, dann auf "Eigenschaften" und im Reiter "Zugriffsrechte" die Option "Der Datei erlauben sie als Programm auszuführen" aktivieren.
Edit: zpaq ist das Kompressionsprogramm, welches von "ZPAQ's Face" angesteuert wird, um die Dateien zu komprimieren.

Je nach Linux-Distribution kann das Menü zu den Zugriffsrechten ähnlich aussehen (ich nutze Linux Mint).
Leider scheint die Eigenschaft der Ausführbarkeit durch das 7zip-Archiv nicht mitgespeichert zu werden.

In der nächsten Version werde ich eine entsprechende Routine in "ZPAQ's Face" integrieren, die diese Eigenschaft automatisch setzt.

Liebe Grüße, Euklid

EDIT: In Verson v0.9.1 wird jetzt automatisch das Dateiattribut von zpaq auf "Executable" gesetzt.
v0.9.1 befindet sich zum Download im obersten Beitrag zu diesem Thread.

EDIT 2: Bernd, angeregt durch Deine Rückmeldung habe ich ZPAQ's Face jetzt auf verschiedenen Distributionen ausgeführt. Es läuft unter Linux Mint 20 perfekt, unter Linux Mint 19.3 zeigt es das gleiche fehlerhafte Verhalten, das Du beschreibst. Aktuell weiß ich nicht, weshalb sich das Programm auf unterschiedlich aktuellen Systemen unterschiedlich verhält. Ich versuche dahinter zu kommen und werde Dich hier informieren, sobald ich den Fehler finde.

wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.1

Beitrag von wennerer »

Hallo Alexander,
habe auch noch ein wenig herum probiert. Die Dateiattribute habe ich schon beim ersten Versuch gesetzt, daran liegt es sicher nicht. Ich habe dann mal die zpaq im Terminal ausgeführt und bekomme dort folgende Fehlermeldung:
Bildschirmfoto1.png
Bildschirmfoto1.png (31.45 KiB) 5576 mal betrachtet
Vielleicht werden da noch irgendwelche Libraries benötigt? Oder vielleicht kann ein Linux Spezialist hier im Forum was mir der Meldung anfangen?

Zu dem Thema langer Pfad wäre eine einfache Lösung wenn du im OI bei der ShellListView die ScrollBars auf ssBoth setzt. Hab es mal getestet. Man kann es dann zumindest so rüber ziehen das man alles lesen kann.
Bildschirmfoto.png
Bildschirmfoto.png (25.83 KiB) 5576 mal betrachtet
Viele Grüße
Bernd

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Euklid »

Lieber Bernd,

das ist perfekt, vielen vielen Dank für die Untersuchung! Anscheinend habe ich beim Bauen des zpaq-Binarys einen Fehler gemacht.

Die im ersten Beitrag neu angehängte Version v0.9.2 enthält die neu gebaute zpaq. (Quelle: http://mattmahoney.net/dc/zpaq.html)
Das Programm ZPAQ's Face läuft bei mir jetzt auf allen Systemen. D.h. Du hast den entscheidenden Hinweis gegeben. :idea: :idea:

Vielleicht kannst Du mir mal Rückmeldung geben, ob es bei Dir jetzt auch läuft?

Danke nochmal für den Bugreport! :D

Liebe Grüße vom Euklid

PS: Danke auch für die Rückmeldung zu TShellListView. Ich finde die Änderung einen guten Kompromiss und werde sie in der nächsten Version einbauen. Aktuell überlege ich, ob die Dateien in der ersten Spalte vielleicht ohne Pfad angezeigt werden sollen.

wennerer
Beiträge: 507
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von wennerer »

Hallo Alexander,
ich habe unter LinuxMint19.3 Cinnamon 64bit getestet. Läuft einwandfrei!
Meine Ergebnisse:
Bildschirmfoto.png
Bildschirmfoto.png (21.67 KiB) 5555 mal betrachtet
Meine Ursprungsdatei hat 24,5 MB, die höchste Stufe komprimiert auf 3,7MB. Das ist auf meinem alten Laptop aber eine Geduldssache :D . Bis Stufe 3 gehts eigentlich schnell (5,3 MB!).

Unter Windows lässt sich deine Source nicht kompilieren. Folgende Fehlermeldung:
unit1.pas(26,77) Fatal: Kann baseunix nicht finden verwendet von Unit1 des Projektinspektors.
Ich weiß nicht ob du die Unit für Windows austauschen kannst?

Eine kleine Sache würde ich auf jedenfall noch ändern: Ich würde alle Leer- und Sonderzeichen aus dem Dateinamen entfernen (ZPAQ's Face V0.9.2 SRC). Ich habe da unter Linux schon so meine Aha Erlebnisse hinter mir.

Zur Bedienung noch zwei kleine Wünsche: Es wäre noch schön wenn beim Auswählen der Datei der Dateiname schon als Vorauswahl im Dateidialog drin wäre. Und die Reihenfolge der Buttons würde ich so ändern das Archiv öffnen und Entpacken untereinander stehen. Gehört für mich irgendwie besser zusammen.

Mein Fazit: ein tolles Programm!

Viele Grüße
Bernd

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Euklid »

wennerer hat geschrieben:
So 19. Jul 2020, 21:01
Hallo Alexander,
ich habe unter LinuxMint19.3 Cinnamon 64bit getestet. Läuft einwandfrei!
Wunderbar. Danke Dir für das Testen und für Deine Rückmeldung. Jetzt haben wir auch jeden Fall schonmal zwei der Bugs behoben. :)
Meine Ergebnisse:
Bildschirmfoto.png
Meine Ursprungsdatei hat 24,5 MB, die höchste Stufe komprimiert auf 3,7MB. Das ist auf meinem alten Laptop aber eine Geduldssache :D . Bis Stufe 3 gehts eigentlich schnell (5,3 MB!).
Ui, das ist erheblich - zumal ja png auch schon ein komprimiertes Format ist.
Ja, der Modus -m5 ist im Vergleich zu -m1 bis -m4 recht langsam. Das liegt daran, dass zpaq mit der Option -m5 zum Erreichen der hohen Kompressionsdichte sich selbst anhand der Datei trainiert und das benötigt etwas Power :D
Unter Windows lässt sich deine Source nicht kompilieren. Folgende Fehlermeldung:
unit1.pas(26,77) Fatal: Kann baseunix nicht finden verwendet von Unit1 des Projektinspektors.
Ich weiß nicht ob du die Unit für Windows austauschen kannst?
Aaah - danke, ja. In der baseunix-Unit befindet sich der Code, um das Dateiattribut von zpaq auf "Executable" zu setzen. Dieses Attribut existiert nur in Linux, daher muss ich hier noch eine {$IFDEF Unix} drum machen, damit der Compiler die Einbindung dieser Unit unter Windows ignoriert.
Eine kleine Sache würde ich auf jedenfall noch ändern: Ich würde alle Leer- und Sonderzeichen aus dem Dateinamen entfernen (ZPAQ's Face V0.9.2 SRC). Ich habe da unter Linux schon so meine Aha Erlebnisse hinter mir.
Ja, daran hatte ich auch schon gedacht. Mein zweiter Gedanke war dann, dass ZPAQ's Face auch mit diesen Extremnamen zurecht kommen soll. Mein dritter Gedanke ist jetzt aber, dass das Programm für Konsolen-Liebhaber zum Albtraum wird. In der nächsten Version werde ich die Sonderzeichen dann wieder entfernen.
Zur Bedienung noch zwei kleine Wünsche:
Gerne! :)
Es wäre noch schön wenn beim Auswählen der Datei der Dateiname schon als Vorauswahl im Dateidialog drin wäre.
Du meinst beim "Archiv-Speichern"-Dialog?
Ja, finde ich eine gute Idee.
Und die Reihenfolge der Buttons würde ich so ändern das Archiv öffnen und Entpacken untereinander stehen. Gehört für mich irgendwie besser zusammen.
Sehr gut. Dadurch wird es etwas intuitiver...
Mein Fazit: ein tolles Programm!

Viele Grüße
Bernd
Danke Dir! :)

Ich komme wahrscheinlich kommendes Wochenende wieder zum Programmieren und werde die Funktionen dann einarbeiten.

Ich bin gespannt, ob sich weitere Bugs ergeben, die ich dann direkt beheben kann. Dann kommen wir langsam in den Bereich einer stabilen Version 1.0 :mrgreen:

Dir noch einen schönen Abend!

Liebe Grüße, Euklid

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Euklid »

Liebe Forumsmitglieder,

am heutigen Tag hat sich die folgende Liste an Änderungen ergeben, die bis zur genannten Version eingearbeitet werden sollen.

Falls Ihr weitere Bugs findet oder Wünsche für das Programm habt, könnt Ihr mir gerne schreiben und die ToDo-Liste wird erweitert.

Bis zur Version 1.0 (Release)
// ab v0.9.6: Behoben! -> BUG: "Datei hinzufügen" fügt bei geöffnetem Archiv zwar die gewünschte Datei hinzu, allerdings werden beim anschließenden Öffnen alle anderen Dateien im Archiv nicht mehr angezeigt.
//ab v0.9.3:-> Bernds Tipp aus dem Forum zu TShellListView aufnehmen und Gedanken machen, die PFade weg zu lassen.
//ab v0.9.3:-> $IFDEF Unix um BaseUnix-Unit, sonst lässt sich das Programm nicht unter Windows kompilieren
//ab v0.9.5: -> Sonderzeichen aus Datei- und Ordnernamen von ZPAQ's Face entfernen.
//ab v0.9.3: -> Nach Vorschlag von Bernd im Forum: Buttons tauschen
//ab v0.9.5: -> Öffnen-Dialog soll sich letztes Verzeichnis merken und automatisch öffnen.
//ab v0.9.5: -> Beim Speichern: Falls 1 Datei in der Liste: Dateiname.zpaq, ansonsten Archiv.zpaq ggf mit Datum
//ab v0.9.3: -> Entsprechend dem Vorschlag von winni "DirectorySeparator" für das Verzeichnistrennzeichen verwenden
//ab 0.9.4: -> Mauszeiger zur Uhr werden lassen, während zpaq arbeitet. (Idee von winni)
//ab v0.9.3:-> (gelöst durch feste Fenstergröße) Mit Panels die sich Automatisch an der Fenster Größe ausrichten. (Pluto)
// ab v0.9.3: Behoben! -> Bug: Bei Archiven mit sehr vielen Dateien werden nicht alle Dateien in der ShellListView angezeigt.
//ab v0.9.3: -> AusgabeMemo soll während der Laufzeit von zpaq aktualisiert werden.
//ab v0.9.3: Behoben!-> Bug: Bei sehr langsamen Datenträgern kommt es beim Öffnen großer Archive zum Zugriffsfehler, da ZPAQ langsamer ist als das Einlesen des Outputs. Dadurch werden in der Prozedur ArchivinhaltAusAusgabeParsen in den Ausgabezeilen auf Zeichen zugegriffen, die "hinter" dem Ende der Zeile liegen.
//ab v0.9.4: -> Wahl der Threadanzahl (mehr=schneller) und des Arbeitsspeicherbedarfs (mehr=bessere Kompression)
//ab v0.9.4: -> application.ProcessMessages einfügen (Tipp von winni, Integration falls es Vorteile bringt--> Rückmeldung erfragt)
//ab v0.9.4: ->Kompressionslevel: Style--> csOwnerDrawFixed
//ab v0.9.6: Behoben!-> BUG: Bei seeehr großen zpaq-Datein in Kombination mit einem langsamen System wird der Inhalt der Datei nicht angezeigt.
//ab v0.9.5: -> Von Winni erstelltes Icon hinzufügen
//ab v0.9.6: -> Die Möglichkeit ergänzen, einzelne Dateien/Ordner aus einem Archiv zu entpacken.
//ab v0.9.6: -> Möglichkeit, noch nicht archivierte Dateien aus der ShellListView zu entfernen. (ggf. über weiteres Archivinhalt.Subitem mit Information, ob Datei neu hinzugefügt)
//ab v1.0: -> Bei neu hinzugefügten Dateien: Leerzeichen zwischen Dateigröße und Einheit " kB".
//ab v1.0:-> Die Möglichkeit, den Prozess des Entpackens anzuhalten (STOPP! - für Entpacken, ähnlich wie beim Archvieren.)
//ab v1.0: Erledigt! -> Quellcode nochmal gezielt auf potenziellen Fehlern hin untersuchen.
//ab v1.0: Erledigt!-> Code aufräumen (Hints bereinigen, Kommentierung vervollständigen, ggf. einzelne Routinen aus ButtonClick ausgliedern)
//ab v1.0: -> Mac-Kompatibilität herstellen: -s1 raus, "neuesarchiv.enabled:=true;" in Formcreate, zpaqmac von Andy einbinden.
//ab v1.0: -> Verbesserungsvorschläge von six1 einarbeiten.

Bis zur Version 1.1:
-> Internationalisierung i18n
-> Plutos Drag'n Drop-Funktion einfügen.
-> Eine Stichwortsuche für den Archivinhalt integrieren.
-> ggf. Ordnergröße als Gesamtgröße anstelle '' im Archivinhalt angeben.
-> Integration von paq8px_v189 für experimentelle und extrem starke Kompression
-> Icons für die Dateien in die TShellListView einbauen (Pluto)
-> Möglichkeit, bei großen Archiven nach einem Datei- oder Ordnernamen zu suchen
-> Sprache in Sprachdateien ausgliedern und anschließend mit Roland Chastain Kontakt aufnehmen.

Bis zur Version 1.2:
-> Verschlüsselung einbauen, falls es interessierte Anwender für Verschlüsselung gibt.

Euch eine gute Zeit! :)

Liebe Grüße, Alexander alias Euklid

EDIT: Mac-Kompatibilität ergänzt.
EDIT 2: Ideen von Winni hinzugefügt.
EDIT 3: Ideen von Pluto hinzugefügt.
Zuletzt geändert von Euklid am Fr 31. Jul 2020, 19:58, insgesamt 36-mal geändert.

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von reiter »

Hallo Alexander,
ich wollte es auf dem MAC auch mal compilieren ,bekomme aber die Fehlermeldung
auf Linux Mint kein Problem

Gruss
Reiter
Dateianhänge
Bildschirmfoto 2020-07-19 um 22.59.42.png
Bildschirmfoto 2020-07-19 um 22.59.42.png (94.8 KiB) 5519 mal betrachtet

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Euklid »

reiter hat geschrieben:
So 19. Jul 2020, 23:01
Hallo Alexander,
ich wollte es auf dem MAC auch mal compilieren ,bekomme aber die Fehlermeldung

Gruss
Reiter
Jawoll, danke Dir Reiter - wird zur ToDo hinzugefügt! :)

Ich vermute, dass hier das Problem beim Ordnertrennzeichen / bzw. \ und ebenfalls an der Baseunix-Unit liegt, die ich noch ausklammern muss.

Leider habe ich kein Mac - die Entwicklung wird für mich also sehr schwierig. Ich werde es versuchen, kann allerdings nicht versprechen, dass es mir gelingt.

Ich habe den Quelltext allerdings sehr ausführlich auf Deutsch kommentiert, er sollte leicht nachvollziehbar sein. Falls Du Interesse hast, kannst Du mir einen Mac-Patch senden und ich pflege ihn dann ein?

Das Kompressionsprogramm Zpaq müsste ebenfalls noch für Mac kompiliert werden, die ausführbaren Binärdateien liegen mir nur für Windows und Linux vor.
Das sollte aber ziemlich einfach möglich sein, Du benötigst lediglich ein g++ Compiler, die Befehlszeile für die Eingabeaufforderung findest Du in der Readme im folgenden Archiv mit dem Quelltext von ZPAQ:

http://mattmahoney.net/dc/zpaq715.zip

Falls Du Lust hast, ZPAQ's Face an den Mac anzupassen, kannst Du mir ja bei Gelegenheit schreiben. Ansonsten würde ich es "blind", also ohne eigenen Mac, selbst versuchen, sobald ich Zeit habe.

Liebe Grüße und einen schönen Abend noch!

- Alexander alias Euklid

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Winni »

Hi!

Benutze für / bzw. \ die Konstante

Code: Alles auswählen

DirectorySeparator
Die macht im jeweiligen Betriebssystem das Richtige.

Winni

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Euklid »

Hi Winni,

das ist perfekt! Ich habe schon vermutet, dass es in einer Multiplattform-Entwicklungsumgebung so etwas geben muss. Mit Deinem Hinweis bleibt mir eine längere Suche erspart, danke Dir! 8)

Liebe Grüße, Euklid

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von Winni »

Hallo!

Hardrock-Test;

Hardware: AMD Ryzen 5 2400g mit 4/8 CPUs

OS: Suse Tumbleweed, Kernel 5.7.7-1

Testobject: Film, 1.98 GB, mpg Format das allgemein als nicht mehr komprimierbar gilt.

Start: 17:30:00 Fertig: 20:08:xx

Kompressionslevel 5: 1.98 GB --> 1.79 GB

Dafür dass man mpg (und jpg, mp3, mp4) für nicht mehr komprimierbar hält trotzdem ein guter Erfolg.

Hardware-Verhalten: Von 8 CPUs 7 permanent auf 100%, ,eine auf 96-99%. Gegen Ende zusehends zunehmende Anzahl von CPUs nur noch unter Teilllast .
Top zeigt an: Used Memory: 10.2 GB

Unbedingt notwendig für den User:
a) Screen. Cursor := crHourglass - damit man sieht, dass er noch arbeitet.
b) Ein progressbar wäre gut.
c) "Estimated time" wäre gut.
d) Im Memo: "komprimiere ...." melden

Weiter so!

Winni

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: ZPAQ's Face - eine Benutzeroberfläche zur effizienten Datenkompression v0.9.2

Beitrag von pluto »

Ich habe es auch mal getestet. Kompilieren geht ohne Probleme. Bin aber etwas verwundert:
Ich habe ein Ordner komprimiert. Dieser hat eine Größe von ca
"938,7 kB"

Als ZIP 867,2 KB
Als .tar.7z 773,6 KB
Als zpaq 747,9 kb

Im Ordner selbst sind überwiegend kleine Text Dateien, kann es sein das zpaq damit Probleme hat? Habe Level 5(m5) Ausgewählt.

Was die Oberfläche angeht, ein paar Anregungen(Zum Überlegen):
- Mit Panels die sich Automatisch an der Fenster Größe ausrichten.
- Mit Trenner zwischen den Panels, damit die Größe der Panels Manuel beeinflusst werden kann.
- Mit ein paar Icons(z.b. die Standard Icons von Linux unter /usr/share/icons
- Tastenkombinationen
- Einer Horizontalen Toolbar

zum Einfachen testen, reicht die Oberfläche völlig aus(bitte nicht falsch verstehen).
MFG
Michael Springwald

Antworten