LSZipWizard v.1.40

(DE) Projekte für OS/2, eCS und ArcaOS
(EN) OS/2, eCS and ArcaOS related projects
Antworten
Benutzeravatar
LotharS
Beiträge: 1015
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

LSZipWizard v.1.40

Beitrag von LotharS »

Das neue "hobbesarchive.com" hatte mich nun wiederholt mit dem Bannstrahl gestraft, wahrscheinlich weil ich ca. 3 1/2 mal nacheinander dort kurz gestöbert und unerhört! eine Datei auf ArcaOS heruntergeladen hatte. Nagut, Fritzbox neu gestartet, frische IP und begnadigt... Aber, ein drittes Mal und ich entrümpele meine Bookmarks. :shock:

Wem's ähnlich geht erwähne ich daher, dass ich auch hier die neueste Version abgelegt habe. Sie befindet sich bereits auf 'hobbesarchive.com' (musste zum Upload dorthin nur genau das Gegenteil dessen tun was in der Anleitung steht...) und auch lokal auf 'ecsoft2.org'.

Eigentlich schon vor vier Monaten "fast fertig" :lol: - geplant nur kleine Schönheitsreparaturen mit Resten aus meinen qt-Studien -, hatte ich mehr Möglichkeiten zu besserer interner Ordnung sogar mit Vereinfachungen entdeckt, aber dann auch zu nötigen Maßnahmen gegen Unsinn durch - hä warum? - Aufruf von Subdialogen. Schließlich sicher die interne Architektur zu Aufruf und Rückgabe der Subdialoge komplett neu geordnet und daher einen kleinen Versionsnummern-Sprung gewagt. Also wirklich "fast" fertig 8-) , denn sofort fand ich einen Kosmetikpunkt, jedoch harmlos und geb' ihn deshalb vorläufig nicht her... :P

Für Insider-Interessierte:
In meiner o.a. qt-Studie benahmen sich "modal" deklarierte Unterfenster auch wirklich modal, dh. Doppel-Aufrufe per se unmöglich. Und zwar deshalb, weil in qt die einzelnen Notebook-Tabs keine echten "Fenster" sind, sondern bloß "Widgets" (zu deutsch: "Dingens"), sowie alle Events nur auf dem "Main-Window" (=der Rahmen um das Notebook) landen und sofort die ganze Anwendung betreffen. Alle Funktionen und Daten dazu dann weiter objektorientiert...
In VisproRexx dagegen gilt jedes Notebook-Tab als eigenes "window" und kann die Events darauf selbst steuern (z.B. Radio-Button-Clicks prüfen und merken, zB. "unzip" aufrufen und auswerten, den User informieren/fragen, das Ergebnis speichern/eintragen). Beim Aufruf eines Subdialoges aber (z.B. Zielverzeichnis-Suche) bleibt der zwar modal für diesen Tab, aber nicht für den Rest (wird zu 95% niemand ausnutzen, aber...). Der Trick endlich :D : Ein "Tuwas"-Button startet den Subdialog nicht selbst, sondern schickt eine Nachricht rauf ans "Main-Form" (=der umgebende Rahmen) es möge bitte den Subdialog mit ein paar wichtigen Infos öffnen. Jener antwortet wiederum zurück an das "Main-Form" mit dem Resultat und der Info über den auslösenden "Tuwas"-Button, auf dessen Tab-Fenster dann weiter operiert und geschrieben wird. Somit - in VisproRexx-Sprache - eine Abfolge von "GeneralNotify" und "SecondaryNotify", das Ganze möglichst ordentlich als ein "Architekturblock" von Modulen mit Fallunterscheidungen unter die Steuerungs-Module des "Main-Form" codiert. Alles Classic-Rexx, aber mit Hilfe strukturierter "SubProcs" und Nomenklatur mag ein wenig Objekthaftes durchschimmern. "Das Teure an der Software ist nicht das Produkt, sondern die Maintenance"...

Zum Editor:
VisproRexx bietet zwar im EventTree-View einen Editor; fürn HelloWorld oder Mini-Prototyp mag's reichen, aber vernünftig nicht mehr. Mein Editor war der MEd, der kann vor allem auch Projekt-orientiert (ähnlich qt-Creator), Syntax-Hilite, finden und ersetzen, *.hlp erzeugen und mehr. Aus dem "weißen Kasten" des VisproRexx-Event-Tree habe ich endlich alles rausgeworfen bis auf je Event einen der Art 'call Sxxx_SteuereWas' im zum Tab passenden SubProc. Vor zwei Jahren hatte ich in Köln erzählt über die Ähnlichkeit solchen Vorgehens mit dem bequemen qt-"Event/Slot"-Prinzip (der weiße Kasten ist der Slot..), nur wenn nötig etwas aufwändiger und doch vergleichbar Vp-"Notify" mit qt-"Connect/Receive" (v.a. für Subdialoge).
Benutzeravatar
Frank Wochatz
Beiträge: 1142
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Offen gesagt ich checke es nicht. :D Kannst du mal wie für einen Funfjährigen erklären, was LSZipWizard ist? Ein Tool um Rexx Programme nach QT zu portieren? Eine gemeinsame Entwicklungsumgebung?
Benutzeravatar
LotharS
Beiträge: 1015
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

Frank Wochatz hat geschrieben: Fr 22. Nov 2024, 10:43 Offen gesagt ich checke es nicht. :D Kannst du mal wie für einen Funfjährigen erklären, was LSZipWizard ist? Ein Tool um Rexx Programme nach QT zu portieren? Eine gemeinsame Entwicklungsumgebung?
I werd' narrisch. Hatte gerade was Ausführlicheres getextet, wollte die Vorschau ansehen und abgemeldet war ich :evil: . Daher nur noch kurz:
Ich als Fünfjähriger hatte einfach neugrierig alles ausgepackt und mit gespielt :) Mit WarpIn installieren und bei Nichtgefallen wieder weg...

Meine wichtigsten Tools zum "Portieren" waren Finger und Tastatur. 8-) Dabei ging ich den Umweg über Linux, weil dort die Qt5-basierte IDE weit besser ist als der uralte Qt4-Creator hier. Weitere Fragen gerne im "Studie..."-Thread.
Ich war einfach neugierig mal Qt mit C++ zu lernen, weil ich zuverlässig gehört hatte, dass sogar ein großer Qt5-basierter Browser für OS/2 blitzschnell produziert werden könne. :twisted:
ArcaOSNewcomer
Beiträge: 48
Registriert: Mo 4. Nov 2024, 18:28

Beitrag von ArcaOSNewcomer »

Ich finde die technische Beschreibung dennoch interessant. Wenn jemand aus der Community weiter gekommen ist und etwas erreicht hat, motiviert das auch andere. Die Beschreibung der Probleme und ihre Lösung lese ich auch ganz gerne (ist so ähnlich, als wenn man einige Oldtimer hat und von anderen hört, was sie so in der Garage haben).
Zuletzt geändert von ArcaOSNewcomer am Sa 23. Nov 2024, 00:21, insgesamt 1-mal geändert.
ArcaOSNewcomer
Beiträge: 48
Registriert: Mo 4. Nov 2024, 18:28

Beitrag von ArcaOSNewcomer »

Frank Wochatz hat geschrieben: Fr 22. Nov 2024, 10:43Kannst du mal wie für einen Funfjährigen erklären, was LSZipWizard ist?
Das ist ein Programm zum Umgang mit Zip-Dateien, was Du bei Hobbes findest:
https://www.hobbesarchive.com/?detail=/ ... z_1-40.wpi

Es ist in REXX geschrieben, und so wie ich das verstehe, hat Lothar das Programm von REXX nach C++ (Programmiersprache) und Qt portiert.
Qt = Fertige Bausteine zum Programmieren, z. B. für grafische Oberflächen (wobei "fertige Bausteine" nicht bedeutet, dass deren Einsatz so schnell ginge wie bei LEGO. Darauf umzustellen macht auch Arbeit, aber verglichen mit "jeden Baustein selbst programmieren" spart man natürlich Zeit, und langfristig kann sich die Umstellung durchaus lohnen.

C++ und Qt sind insgesamt auch moderner und mächtiger. Wenn Du schon so weit gekommen bist, Lothar, was hältst Du davon, ganz darauf zu wechseln? Nicht, weil es für ein Zip-Programm "unbedingt sein müsste", sondern aus anderen Gründen. Aus vielen Programmen lässt sich mit den Möglichkeiten von Qt mehr heraus holen (angefangen beim professionelleren Erscheinungsbild), und Übung mit Qt ist eine gute Basis für andere Software.
Benutzeravatar
LotharS
Beiträge: 1015
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

ArcaOSNewcomer hat geschrieben: Fr 22. Nov 2024, 22:28 Das ist ein Programm zum Umgang mit Zip-Dateien, was Du bei Hobbes findest:
https://www.hobbesarchive.com/?detail=/ ... z_1-40.wpi

Es ist in REXX geschrieben, und so wie ich das verstehe, hat Lothar das Programm von REXX nach C++ (Programmiersprache) und Qt portiert.
Und ich dachte schon jeder hier kennt's schon lange und benutzt es, manchmal 8-) ;)

Das "Portieren" als nur Studie(!) hatte ich ja am Ende in diesem Thread zusammengefasst. In der Projekte-Section hatte ich zuvor noch mehr Fragen zu Qt4/Qt5 gestellt und auch Hilfe bekommen. Ja, war interessant zu lernen. Nein, ich arbeite daran nicht weiter, würde mir zu schwer, Punkt.
C++ und Qt sind insgesamt auch moderner und mächtiger.
C++ allein ist "nur" die Programmier-Sprache, und zwar die objektorientierte Erweiterung von Standard-C. Gibt Bücher... :lol:
Qt heißt eine vorgefertigte "Bibliothek" in C++ verfasster "Klassen" (Strukturen) und "Methoden" (Funktionen) darin. Auch dafür Bücher.., aber obendrein im Netz perfekt mit Beispielen dokumentiert. Und es findet sich immer jemand im Netz der viel schlauer ist als man selbst von sich meint :D

Der Qt-Creator als IDE aus ANPM kann gerade mal altes Qt4, einer für Qt5 war irgendwann versprochen (gut, compilieren geht auch aus Kommandozeile aber so kriegt man sicher nicht mal einen zeigbaren Browser hin...), Qt6 gibt's offiziell nur 64bit. Daher staune ich voller Respekt(!!!) über die erfahrenen OS/2-Cracks die sich auf os2world gleichzeitig über QT5 und QT6 unterhalten und trotz allem Mangel etwas zustande bringen.
ArcaOSNewcomer
Beiträge: 48
Registriert: Mo 4. Nov 2024, 18:28

Beitrag von ArcaOSNewcomer »

LotharS hat geschrieben: Sa 23. Nov 2024, 19:54Und es findet sich immer jemand im Netz der viel schlauer ist als man selbst von sich meint :D
Das klingt etwas komisch.

Von mir war es nur als gut gemeinte Anregung gedacht. Der "Grund" für den Vorschlag war, dass du irgendwo geschrieben hast (ich find die Stelle grad nicht mehr), der C++ Port könne fast alles, was die REXX-Version kann. Das klingt doch schon ziemlich fortgeschritten. Die meisten, die sagen "Das ist nichts für mich", wären gar nicht so weit gekommen. Selbstverständlich ist es nur ein Vorschlag.
Benutzeravatar
LotharS
Beiträge: 1015
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

ArcaOSNewcomer hat geschrieben: So 24. Nov 2024, 19:04
LotharS hat geschrieben: Sa 23. Nov 2024, 19:54Und es findet sich immer jemand im Netz der viel schlauer ist als man selbst von sich meint :D
Das klingt etwas komisch.
Von mir war es nur als gut gemeinte Anregung gedacht.
SORRY.. gemeint hatte ich Antworten Dritter wie auf 'Startpage/Google'-Suche - ergab meist 'stackoverflow.com' -. Natürlich dann alles Linux- oder Win-bezogen, aber der xte Tipp passte schon irgendwie, denn ich befand mich ja zwischendurch auf Linux mit benutzerfreundlicher IDE. Anders hätte ich sowieso nicht einmal den Start geschafft. Aber jetzt noch ein "Fünftstudium" zu beginnen kann ich mir zeitlich nicht mehr leisten. Danke fürs freundliche Aufmuntern, geb's gerne an alle Mitleser weiter :D
Benutzeravatar
LotharS
Beiträge: 1015
Registriert: So 29. Dez 2013, 20:07
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von LotharS »

LotharS hat geschrieben: Do 21. Nov 2024, 15:24 ... Also wirklich "fast" fertig 8-) , denn sofort fand ich einen Kosmetikpunkt, jedoch harmlos und geb' ihn deshalb vorläufig nicht her... :P
Nun, pünktlich zum Jahresende habe ich doch ein paar nötige Ausbesserungen entdeckt und mit Version 1.41 @hobbesarchive hochgeladen (eigentlich hätten dabei die vorigen Versionen wie angefordert verschwinden sollen, vielleicht liest ja deren webmaster gelegentlich auch Mails...). Befindet sich auch lokal @ecsoft2.org als auch zur Sicherheit hier.
Kurz: eine vielseitige GUI zum Auflisten von zip-Archiven und Hineinsehen und Extrahieren, oder zum flexiblen Bauen/Updaten von zip-Archiven, ausführliche Hilfe DE und EN. Mit WarpIn rasch installiert (notfalls ebenso leicht wieder weg..)

Wenn keine ernsten Bugs gemeldet werden, sollte dies die wohl abschließende Version sein. :|

Abschließende Anmerkungen:
(1) Einer Anregung folgend hatte ich das neue "Fontsize-Feature" der XWP 1.0.16 ausprobiert (gedacht für moderne hochauflösende Schirme): Das Vergrößern wirkte zwar auf auf Fenster und -elemente, aber selbst mit (lt. Manual gefordertem) WarpSans nicht auf Beschriftungen innerhalb des Fensters; anscheinend dringt das Feature nicht in VisproRexx hinein (es änderten sich nur Message-Boxen und File-Dialog, was VisproRexx OS/2-original anstößt). Dieser Versuch brachte also keinen Fortschritt, deshalb: Der Default-Font in VisproRexx ist "Helv", somit habe ich's weiter belassen und dürfte auch auf Warp3 zufrieden stellen, hoffe ich... :)

(2) Beim Spielen mit Qt war mir aufgefallen dass dort ein "MainWindow" immer eine "StatusLine" mitliefert. Und warum die nicht nutzen für einfache Erfolgs- oder Fehlermeldungen die keine Benutzer-Antwort erfordern!? :idea: (Sowieso) inkrementell hatte ich parallel zum Event-Mangement ein "Message-Management" gebastelt mit zig Return-Codes, und schon war's ruhiger... Natürlich kam das objektorientierte Design solchem Verfahren entgegen. Das Resultat der Studie(!) liegt eingefroren hier.
Dagegen jetzt noch eine solche Kosmetik in Rexx nachzubauen wäre zwar irgendwie machbar, aber nur unter großem Aufwand, den ich mir für verbliebene geschätzt 33 1/3 User gern ersparen möchte... :)
Antworten