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

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7192
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.4

Beitrag von pluto »

Es gibt auf der wiki seite zu TProzess ein nettes Beispiel, wie man große Ausgaben einlesen kann, während das Programm läuft:
https://wiki.freepascal.org/Executing_E ... rograms/de

unter "Einlesen eines großen Outputs"
Leider ist die Wiki Seite an vielen Stellen veraltet inzwischen.
MFG
Michael Springwald

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.4

Beitrag von Winni »

pluto hat geschrieben: Do 23. Jul 2020, 14:36 Es gibt auf der wiki seite zu TProzess ein nettes Beispiel, wie man große Ausgaben einlesen kann, während das Programm läuft:
https://wiki.freepascal.org/Executing_E ... rograms/de

unter "Einlesen eines großen Outputs"
Leider ist die Wiki Seite an vielen Stellen veraltet inzwischen.
Hallo!

Das Beispiel hatte ich bereits angepasst hier abgeliefert auf Seite 2:
siehe zpack_echo.zip

Winni

wennerer
Beiträge: 608
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.4

Beitrag von wennerer »

Hallo,
also ich habe es eben nochmal mit einem Ordner und mehreren Dateien getestet. Beim Komprimieren bleibt bei mir die Memo leer bis das Komprimieren komplett fertig ist. Dann erfolgt die Ausgabe auf ein Mal. Beim Dekomprimieren wird was angezeigt. Für mich sieht es so aus als wär es aber immer die gleiche Ausgabezeile.
Zum Thema welche Vorbelegung beim Speicherndialog: Ist natürlich Geschmackssache! Aber ich würde bei einer einzelnen Datei den Dateinamen vorschlagen. Bei einem Ordner den Ordnernamen. Wenn verschiedene Ordner und/oder Dateien in ein Archiv gepackt werden sollen die nicht wirklich zusammen gehören wird es natürlich schwierig. Aber warum macht man das? Kann mir höchsten vorstellen als Backup. Dann schreib halt Backup oder Sicherung mit dem aktuellem Datum rein? Aber wie schon gesagt da wird es wohl verschiedene Ansichten geben!
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.4

Beitrag von Euklid »

Winni hat geschrieben: Do 23. Jul 2020, 14:34 Die Seite mit "altmodischen" Cursorn:

http://cool-web.de/mouse-pointer/cursors.htm
Perfekt, danke! Da ist in jedem Fall auch der dabei, den ich verwenden wollte :D

... und ohne Dein Beispielprogramm im Beitrag oben würde ich glaube ich an der Einbindung scheitern... :wink:

Dir noch einen schönen Abend! :)

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.4

Beitrag von Euklid »

wennerer hat geschrieben: Do 23. Jul 2020, 20:03 Hallo,
also ich habe es eben nochmal mit einem Ordner und mehreren Dateien getestet. Beim Komprimieren bleibt bei mir die Memo leer bis das Komprimieren komplett fertig ist. Dann erfolgt die Ausgabe auf ein Mal. Beim Dekomprimieren wird was angezeigt. Für mich sieht es so aus als wär es aber immer die gleiche Ausgabezeile.
Okay, ich werde mich drum kümmern. Danke für das ausführliche Testen, Bernd! :)

Zum Thema welche Vorbelegung beim Speicherndialog: Ist natürlich Geschmackssache! Aber ich würde bei einer einzelnen Datei den Dateinamen vorschlagen. Bei einem Ordner den Ordnernamen. Wenn verschiedene Ordner und/oder Dateien in ein Archiv gepackt werden sollen die nicht wirklich zusammen gehören wird es natürlich schwierig. Aber warum macht man das? Kann mir höchsten vorstellen als Backup. Dann schreib halt Backup oder Sicherung mit dem aktuellem Datum rein? Aber wie schon gesagt da wird es wohl verschiedene Ansichten geben!
Das ist doch eine tolle Idee! Bei mehreren Dateien/Ordner finde ich "Archiv.zpaq" eine gute Bezeichnung. Vielleicht noch versehen mir dem aktuellen Datum...

Auch Dir noch einen schönen Abend! :)

- Alexander

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

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

Beitrag von reiter »

hallo
hab die zpaq für den MAC compiliert mit g++ und dem Ordner bin hinzugefügt

dann nochmal versucht das auf dem MAC zu compilieren und konnte auch schon verschiedene Fehler ausmerzen

aber die Fehlermeldung mit Code 13 sagt mir nix... und im Contex Menü steht da nix weiter drüber
vielleicht hat ja jemand anders ne Idee mit dem Code 13 Fehler
Dateianhänge
Bildschirmfoto 2020-07-23 um 20.50.42.png
Bildschirmfoto 2020-07-23 um 20.50.42.png (82.66 KiB) 3355 mal betrachtet

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.4

Beitrag von Winni »

Hi!

Bei solch einem Project gibt's ja immer ,viele lose Enden .

Ich hab schon mal ein Icon entworfen.
Vielleicht gefällt es ja.

Winni
Dateianhänge
zpaq_icon256x256.png
zpaq_icon256x256.png (22.54 KiB) 3323 mal betrachtet

Benutzeravatar
Roland Chastain
Beiträge: 168
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

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

Beitrag von Roland Chastain »

Euklid hat geschrieben: So 19. Jul 2020, 13:47 ZPAQ's Face ist eine mit Lazarus erstellte Benutzeroberfläche für ZPAQ, eines sehr starken Kompressionsprogramms.
Hallo! Sehr interessantes Projekt. Wenn Sie Zeit haben, wäre es schön, die Benutzeroberfläche in mehreren Sprachen verfügbar zu machen. Ich kümmere mich gerne um die französische Version. :)
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

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.4

Beitrag von Euklid »

reiter hat geschrieben: Do 23. Jul 2020, 21:00 hallo
hab die zpaq für den MAC compiliert mit g++ und dem Ordner bin hinzugefügt

dann nochmal versucht das auf dem MAC zu compilieren und konnte auch schon verschiedene Fehler ausmerzen

aber die Fehlermeldung mit Code 13 sagt mir nix... und im Contex Menü steht da nix weiter drüber
vielleicht hat ja jemand anders ne Idee mit dem Code 13 Fehler
Sehr cool, dann gibt es bald eine MAC-Version :D

Mit dem Kompilieren von zpaq für den Mac ist glaube ich die höchste Hürde genommen.

Danke für Deine Arbeit! :)

- 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.4

Beitrag von Euklid »

Winni hat geschrieben: Fr 24. Jul 2020, 00:58 Ich hab schon mal ein Icon entworfen.
Vielleicht gefällt es ja.
Seeehr cool! :D

Das wird direkt in die nächste Beta v0.9.5 eingebunden 8)

Danke Dir Winni!

- 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.4

Beitrag von Euklid »

Roland Chastain hat geschrieben: Fr 24. Jul 2020, 04:36
Euklid hat geschrieben: So 19. Jul 2020, 13:47 ZPAQ's Face ist eine mit Lazarus erstellte Benutzeroberfläche für ZPAQ, eines sehr starken Kompressionsprogramms.
Hallo! Sehr interessantes Projekt. Wenn Sie Zeit haben, wäre es schön, die Benutzeroberfläche in mehreren Sprachen verfügbar zu machen. Ich kümmere mich gerne um die französische Version. :)
Lieber Roland Chastain,

das finde ich eine tolle Idee und würde mich sehr freuen - vielen Dank für das Angebot! :)

Bisher verwende ich noch keine Sprachdateien (*.po) - d.h. alle Texte, die ausgegeben werden, befinden sich noch direkt im Quelltext.
Weil es etwa 10 Jahre her ist, als ich das letzte Mal mit Sprachdateien gearbeitet habe, muss ich mich komplett neu einarbeiten.
Daher würde ich erst ab Version 1.1 dazu kommen, die Sprache aus dem Quelltext auszugliedern und dann noch einmal mit Ihnen Kontakt aufnehmen, wenn das so in Ordnung ist.

Falls Sie Zeit und Lust haben sollten und sich mit Sprachdateien auskennen, können Sie auch gerne die dazu notwendigen Anpassungen am Quelltext der v0.9.4 vornehmen und mir den angepassen Quelltext zusenden. Ich würde die Änderungen dann bereits in die nächsten Version v0.9.5 aufnehmen können.

Herzlichen Dank und beste Grüße,

Euklid

Benutzeravatar
Roland Chastain
Beiträge: 168
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

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

Beitrag von Roland Chastain »

Euklid hat geschrieben: Fr 24. Jul 2020, 11:25 Bisher verwende ich noch keine Sprachdateien (*.po) - d.h. alle Texte, die ausgegeben werden, befinden sich noch direkt im Quelltext.
Weil es etwa 10 Jahre her ist, als ich das letzte Mal mit Sprachdateien gearbeitet habe, muss ich mich komplett neu einarbeiten.
Daher würde ich erst ab Version 1.1 dazu kommen, die Sprache aus dem Quelltext auszugliedern und dann noch einmal mit Ihnen Kontakt aufnehmen, wenn das so in Ordnung ist.

Falls Sie Zeit und Lust haben sollten und sich mit Sprachdateien auskennen, können Sie auch gerne die dazu notwendigen Anpassungen am Quelltext der v0.9.4 vornehmen und mir den angepassen Quelltext zusenden. Ich würde die Änderungen dann bereits in die nächsten Version v0.9.5 aufnehmen können.
Danke für ihre nette Antwort. Ja, ich habe gesehen, dass die Texte im Code sind.

Persönlich habe ich keine Erfahrung mit Sprachdateien (*.po). Es wird eine Gelegenheit zum Lernen sein.

In meinen Projekten verwende ich so etwas:
https://github.com/rchastain/eschecs/bl ... nguage.pas

Ich gebe zu, dass dies nicht die professionellste Lösung ist. :)

Bis bald für den Rest der Operationen. :wink:
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

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.5

Beitrag von Euklid »

NEUE BETA 0.9.5 veröffentlicht

Hallo zusammen,

in der neuen Beta wurde vor allem die Bedienbarkeit verbessert:
--> Die Öffnen- und Speicherndialoge merken sich jetzt die bereits geöffneten Ordnernaben.
--> Beim Speichern eines Archivs wird jetzt ein Dateiname vorgeschlagen. Falls nur eine einzige Datei/Ordner komprimiert werden soll, entspricht dieser Dateiname der zu komprimierenden Datei + .zpaq
--> Winnis Icon für ZPAQsFACE wurde hinzugefügt - sieht echt klasse aus, danke @winni! :D

Bis zum Release V1.0 bleiben im Prinzip nur noch zwei Bugs zu beheben. Ich freue mich schon!

Vielen Dank an alle Leute, die hier mit Ideen, Lösungsvorschlägen und eigenem Einsatz erheblich an Schwung rein gebracht haben und dadurch das Programm bereichern - es macht wirklich Spaß, mit Euch zusammen zu arbeiten! :mrgreen:

Also dann - verbringt noch einen schönen Nachmittag und ein entspanntes Wochenende!

Es grüßt Euch 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.5

Beitrag von Winni »

Hallo Euklid!

So bekommt man graue Haare - wenn ich sie nicht schon hätte .…..

Wie Wennerer und andere bemerkten, wird der Status nicht im Memo während des Laufs angezeigt.

Wenn man dem Binary keinen Befehl gibt, den Status anzuzeigen, dann zeigt es keinen Status an.
Komisch, nicht???

In der
procedure THauptfenster.StartButtonClick(Sender: TObject);

muss eingefügt werden:

With ZPAQ.Parameters do begin :
add('a');
. .....
.....
end; //Experteneinstellung
add('-s1');
// Meldungen ausgeben !!!!
end; // with


Kleine Ursache, lange Suche!

Grüße, 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.5

Beitrag von Euklid »

Winni hat geschrieben: Fr 24. Jul 2020, 17:02 Hallo Euklid!

So bekommt man graue Haare - wenn ich sie nicht schon hätte .…..
Hallo Winni,

danke für Deine Bugsuche! :D
Ohwei, graue Haare. Ja, die Suche nach Bugs ist immer eine mühsame Sache.

Ich danke Dir, dass Du Dir die Arbeit gemacht hast und dabei den Quelltext nach möglichen Ursachen durchforstet hast.

Um ehrlich zu sein, vermute ich die Ursache in den Untiefen der LCL oder gar von gtk2 oder in der Dokumentation, nach der ich den Code aufgeschrieben habe. *duck*

Diese ZPAQ-Option kannte ich auch noch nicht:
add('-s1');
Und sie wird mir das Leben erheblich erleichtern, wenn ich später eine Progressbar mit geschätzter verbleibender Zeit implementiere.

Im Manual zu ZPAQ heißt es zur Option -s1:
With add and extract, when N > 0, do not list files as they are added or extracted. Show only percent completed and estimated time remaining on a 1 line display.
D.h. die Option -s1 schränkt die Ausgabe von ZPAQ auf den Fortschritt in % und die geschätzte verbleibende Zeit ein.
Ohne die Option -s1 wird zusätzlich noch Pfad+Dateiname der zu komprimierenden Datei sowie Pfad+Dateiname, unter dem die Datei im Archiv intern abgespeichert wird, ausgegeben.
-s1 schneidet also die Pfad- und Dateinamen ab und was übrig bleibt ist % und die Zeit.
Zudem scheint -s1 die Ausgabe auf 1 Zeile zu begrenzen.

Weil die Option -s1 bei Dir Abhilfe geschaffen hat, erhärtet sich jedoch mein Verdacht eines Bugs in der lcl. Denn das bedeutet ja, dass die Memo-Ausgabe dann funktioniert, wenn zpaq seine Ausgabe massiv einschränkt, also nicht mehr so viele Informationen auf einmal von zpaq per OutputStream an das Memo übergeben werden.

Diesen Verdacht hatte ich schon bei der Beobachtung, dass das TMemo einen gtk-Error auslöst, wenn ich über "Archiv öffnen..." sehr große Archive mit vielen zehntausenden Dateien öffne.

Dem Programm ZPAQ's Face hilfe die Option -s1 erstmal als "Workaround" weiter. Workaround deshalb, weil ich in den nächsten Schritten durchaus auch die Dateinamen parsen und über ZPAQ's Face ausgeben lassen möchte, die zpaq gerade in diesem Augenblick komprimiert.

Um den Bug dann ganz grundlegend zu beheben, werde ich mal versuchen, den Output-Stream nicht direkt in das Memo zu streamen, sondern in eine TStringList. Das Memo bekommt dann nur die letzten Zeilen zu sehen, damit es nicht überlastet ist, während in der TStringList die gesamte Ausgabe gespeichert bleiben soll.

Liebe Grüße und danke nochmal für die Analyse, die uns ein Stück weiter bringt.
Euklid

Antworten