Abfrage von Mausklick in Standard-REXX

(DE) Anwendungen für Office, Multimedia und Spiele, Werkzeuge, Hilfsprogramme, etc
(EN) Applications for Office, Multimedia or Games, Tools, Utilities, e.g.
User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Abfrage von Mausklick in Standard-REXX

Post by Wolfie » Wed 5. Dec 2018, 15:32

Hallo REXX-Freunde,

gibt es außer den beiden auf Hobbes verfügbaren DLLs (mruntime-1.00b und rexxmous) eine weitere Möglichkeit, einen Mausklick nebst Mauskoordinaten in Standard-REXX abzufragen?

Ich habe ein umfangreiches Programm in Standard-REXX (mit Erweiterungen REXXUtil, ydbautil, sqlrexx und PYRxUtil), das ich noch durch Maus-Interaktionen aufhübschen möchte. Leider funktionieren die beiden oben genannten Routinen nicht bzw. nicht zuverlässig.

- mruntime ist für mich nicht anwendbar, da es auf einen Mausklick wartet, ich will aber Maus und Tastatur gleichberechtigt benutzen.
- rexxmous dagegen hat das Feature, nur die Mauskoordinaten bei Klick zu melden, nicht aber auf einen Klick zu warten. Es funktioniert auch wie gewünscht. Sobald ich jedoch eine interne REXX-Prozedur oder -Funktion aufrufe, erhalte ich anschließend keine Ergebnisse mehr auf die Mausklickabfrage.

Vielleicht wäre mruntime für mich nutzbar. Ohne verfügbare Dokumentation kann ich aus dem mitgelieferten Beispiel aber nicht erkennen, wie ich das Warten auf Mausklick abschalten kann.

Viele Grüße
Wolfgang

User avatar
ak120
Posts: 933
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Thu 6. Dec 2018, 23:40

Wolfie wrote:
Wed 5. Dec 2018, 15:32
Hallo REXX-Freunde,

gibt es außer den beiden auf Hobbes verfügbaren DLLs (mruntime-1.00b und rexxmous) eine weitere Möglichkeit, einen Mausklick nebst Mauskoordinaten in Standard-REXX abzufragen?
Na klar. Da fallen mir zumindest RexxBOS (http://www.logisoftar.com/ProductsRexxbos.htm) und REXXIO (http://www.lestec.com.au/lestec/lestec.cgi) ein, falls es um die Basisbetriebssystemfunktionalität geht.

Es gibt evtl. noch weitere Möglichkeiten, ohne sich selbst eine entsprechende Funktionsbibliothek basteln zu müssen.

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Sat 8. Dec 2018, 00:13

Vielen Dank ak120 für Deine Antwort.

Ich habe mir sogleich Deine beiden Vorschläge angesehen:

Bei RexxIO ist die Mausposition etwas umständlich aus einer Datei auszulesen. Das wäre nicht das Hauptproblem. Das aus der Datei ausgelesene Ergebnis enthält jedoch leider die absolute Pixelposition auf dem Bildschirm, unabhängig davon, ob der Mausklick auf meinem REXX-Textfenster erfolgte oder daneben. Um die aktuelle Spalten und Zeilenposition im REXX-Textfenster zu erhalten müsste ich also ständig die Position meines REXX-Textfensters auf dem Bildschirm überwachen und zusätzlich anhand der Schriftartgröße berechnen. Sicherlich keine unlösbare Aufgabe, aber momentan doch etwas viel Aufwand für ein kleines "nice to have".

Ob die Funktion RmGetPtrPos im Paket RexxBos ebenfalls die Koordinaten des Mauszeigers in Pixeln auf dem Desktop angibt wie bei RexxIO oder als Spalten-/Zeileninformation im Textfenster wie bei rexxmous weiß ich nicht, dazu müsste ich mir das Paket für 59$ kaufen. Da ich nicht weiß, ob mir diese Routine etwas nützt, nehme ich doch erst einmal Abstand davon, das Paket zu erwerben.

Schade, dass rexxmous so buggy ist, ansonsten würde es genau meinen Anforderungen genügen.

Danke nochmals für die Info,
Wolfgang

User avatar
ak120
Posts: 933
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Sat 8. Dec 2018, 10:31

Wolfie wrote:
Sat 8. Dec 2018, 00:13
Bei RexxIO ist die Mausposition etwas umständlich aus einer Datei auszulesen. Das wäre nicht das Hauptproblem. Das aus der Datei ausgelesene Ergebnis enthält jedoch leider die absolute Pixelposition auf dem Bildschirm, unabhängig davon, ob der Mausklick auf meinem REXX-Textfenster erfolgte oder daneben.
Das Betriebssystem bietet leider keine andere Möglichkeit. Das bezeichnete "Textfenster" ist leider eben auch nur ein "PM-Fenster" zumindest aus der Sicht des Zeigers.
Um die aktuelle Spalten und Zeilenposition im REXX-Textfenster zu erhalten müsste ich also ständig die Position meines REXX-Textfensters auf dem Bildschirm überwachen und zusätzlich anhand der Schriftartgröße berechnen. Sicherlich keine unlösbare Aufgabe, aber momentan doch etwas viel Aufwand für ein kleines "nice to have".
Zusätzlich wären noch die weiteren Möglichkeiten zur Ereignisauslösung und Zustandsänderung zu beachten.
Ob die Funktion RmGetPtrPos im Paket RexxBos ebenfalls die Koordinaten des Mauszeigers in Pixeln auf dem Desktop angibt wie bei RexxIO oder als Spalten-/Zeileninformation im Textfenster wie bei rexxmous weiß ich nicht, dazu müsste ich mir das Paket für 59$ kaufen. Da ich nicht weiß, ob mir diese Routine etwas nützt, nehme ich doch erst einmal Abstand davon, das Paket zu erwerben.
Ich habe es nicht ohne Grund zuerst aufgeführt, da es noch am ehesten den vermuteten Anforderungen entspricht. Man kann dort sicherlich freundlich für eine Probierversion anfragen.

Die russischen Lösungen, welche entweder nur teilweise oder nur in einer Gesamtbildschirmsitzung funktionieren, habe ich wegen der entstehenden Folgekosten bereits während der Selektion ausgesondert.

Der Aufwand die gesamte REXX-Anwendung in eine visuelle Umgebung zu übertragen ist oftmals deutlich geringer.

User avatar
ak120
Posts: 933
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Sat 8. Dec 2018, 15:26

Wolfie wrote:
Sat 8. Dec 2018, 00:13
Ob die Funktion RmGetPtrPos im Paket RexxBos ebenfalls die Koordinaten des Mauszeigers in Pixeln auf dem Desktop angibt wie bei RexxIO oder als Spalten-/Zeileninformation im Textfenster wie bei rexxmous weiß ich nicht, dazu müsste ich mir das Paket für 59$ kaufen. Da ich nicht weiß, ob mir diese Routine etwas nützt, nehme ich doch erst einmal Abstand davon, das Paket zu erwerben.
Man braucht kein Paket zu kaufen, es ist auch die elektronische Lieferung zu €51,98 möglich - deutlich günstiger als diese Sponsor Unit und sonstige Vaporware-Geschichten - und mit ordentlicher Dokumentation als INF-Datei. Wer unbedingt das gedruckte Handbuch benötigt, sollte weitere €60,31 für die Express-Lieferung einplanen.

Die Funktionen arbeiten Zellen-basiert und bilden die entsprechenden OS/2-Subsystemaufrufe ab. Ich hänge einfach die Beispiele in den Anhang.
Schade, dass rexxmous so buggy ist, ansonsten würde es genau meinen Anforderungen genügen.
Das wurde auch nur schnell aus dem Virtual Pascal Beispielen zusammengeschustert.
You do not have the required permissions to view the files attached to this post.
Last edited by ak120 on Sat 8. Dec 2018, 15:26, edited 1 time in total.

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Sun 9. Dec 2018, 08:50

Vielen Dank Andreas für Deine Infos und Unterstützung, ich werde mal schauen, wie ich jetzt weitermache. Vorrangig bereite ich mich jetzt erst mal auf das Usertreffen in Köln vor.

Gruß
Wolfgang

User avatar
ak120
Posts: 933
Joined: Thu 8. May 2014, 12:50
Location: Demmin

Post by ak120 » Tue 11. Dec 2018, 20:35

Wolfie wrote:
Sun 9. Dec 2018, 08:50
Vielen Dank Andreas für Deine Infos und Unterstützung, ich werde mal schauen, wie ich jetzt weitermache. Vorrangig bereite ich mich jetzt erst mal auf das Usertreffen in Köln vor.
Bei den Unmengen an verwendeten proprietären REXX-Bibliotheken von Drittanbietern habe ich den Ansatz über Curses ausgeschlossen, da mir der Änderungsaufwand doch etwas zu hoch erscheint. Daher habe ich die Erweiterungen, welche manche Implementierungen bzgl. der Mausunterstützung bieten, nicht näher betrachtet. Aber wenn eine gewisse Plattformneutralität erreicht werden soll, möchte ich es an dieser Stelle auch nicht verschweigen.

Ob der Aufwand gegenüber der Erstellung einer eigenen spezifischen Bibliothek in diesem Fall lohnt, kann ich leider nicht beurteilen. Das hängt zu sehr von der Ausgangslage ab. Die Ausgabe 7/95 der Zeitschrift OS/2 Inside enthält dazu u.U. einen praktischen Artikel ("Über den Tellerrand"). Das Begleitmaterial befindet sich im Anhang und die paar Seiten kann ich zur Not faxen.
You do not have the required permissions to view the files attached to this post.

User avatar
Frank Wochatz
Posts: 948
Joined: Sun 22. Dec 2013, 22:04
Location: Berlin

Post by Frank Wochatz » Wed 12. Dec 2018, 13:22

Hallo Wolfgang,

VisproRexx ist schon eine Weile frei verfügbar. Ev. kannst Du dein Programm nach Vispro übertragen, und dort die Mausfunktionen benutzen. Falls das in Frage kommt, bitte noch al die Aufgabe genau beschreiben (ich hab es noch nicht ganz kapiert), dann sehe ich mal nach ob das mit den Vispro Funktionen geht. Das wäre dann allerdings ein PM-Programm.

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Wed 12. Dec 2018, 14:55

Vielen Dank für Eure Hinweise.

Das Programm, was das im Laufe der Jahre auf nunmehr über 4000 Zeilen angewachsen ist, habe ich speziell meinen Anforderungen angepasst. Die Menüsteuerung erfolgt über Hotkeys und Pfeiltasten. Letztens ertappte ich mich dabei, dass ich einen Menüpunkt mit der Maus anklicken wollte, anstelle mich dorthin mit den Pfeiltasten zu bewegen. Diese Möglichkeit wäre zwar schön, ist aber nicht essentiell wichtig. Auf jeden Fall denke ich, dass es den Aufwand nicht rechtfertigt, das Programm allein aus diesem Grunde auf eine andere Sprache umzustellen. Momentan habe ich auch noch eine Menge anderer Baustellen, so dass ich die Mausunterstützung erst einmal auf Eis gelegt habe.

Vielen Dank für Eure Hinweise.
Wolfgang

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Fri 4. Jan 2019, 14:11

Ein vielversprechender Ansatz, die Mauscursor-Abfrage in mein Standard-REXX-Programm einzubauen, war die Routine rexxmous (Simple mouse DLL for REXX, with VP source), die auf Hobbes verfügbar ist. Leider funktionierte sie nicht zuverlässig. Ich sprach über dieses Problem beim Usertreffen in Köln und Frank hat sich die Mühe gemacht, die Routine anhand des Pascal-Quelltextes in C neu zu schreiben. Das Umswitchen von rexxmous auf Franks rxmous war denkbar einfach, da Aufruf und Rückgabeparameter völlig identisch sind. Franks Routine funktioniert einwandfrei, nochmals vielen Dank dafür. Ich habe die Mausabfrage schon an vielen Stellen in meinem Programm einbauen können. :D

Gruß
Wolfgang

User avatar
efbe
Posts: 50
Joined: Thu 11. Sep 2014, 19:33
Location: Dortmund

Post by efbe » Sat 5. Jan 2019, 21:28

Wolfie wrote:
Fri 4. Jan 2019, 14:11
Ein vielversprechender Ansatz, die Mauscursor-Abfrage in mein Standard-REXX-Programm einzubauen, war die Routine rexxmous (Simple mouse DLL for REXX, with VP source), die auf Hobbes verfügbar ist. Leider funktionierte sie nicht zuverlässig. Ich sprach über dieses Problem beim Usertreffen in Köln und Frank hat sich die Mühe gemacht, die Routine anhand des Pascal-Quelltextes in C neu zu schreiben. Das Umswitchen von rexxmous auf Franks rxmous war denkbar einfach, da Aufruf und Rückgabeparameter völlig identisch sind. Franks Routine funktioniert einwandfrei, nochmals vielen Dank dafür. Ich habe die Mausabfrage schon an vielen Stellen in meinem Programm einbauen können. :D
Nachdem das klappt, will ich die dll nicht für mich behalten. Soll ich sie auf Hobbes hochladen, oder wohin sonst?

MfG
Frank

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Sun 6. Jan 2019, 13:10

Hobbes wäre gut, da steht Deine Routine dann gleich neben ihrem Vorgänger.

Ich habe übrigens die Mausabfrage jetzt auch in IrxRadio eingebaut. Da kann man die Radio-Tasten direkt per Maus bedienen. Die neue Version von IrxRadio kommt dann auch auf Hobbes.

Gruß
Wolfgang

User avatar
efbe
Posts: 50
Joined: Thu 11. Sep 2014, 19:33
Location: Dortmund

Post by efbe » Sun 6. Jan 2019, 13:27

Wolfie wrote:
Sun 6. Jan 2019, 13:10
Hobbes wäre gut, da steht Deine Routine dann gleich neben ihrem Vorgänger.
Ist auf Hobbes in pub/incoming

MfG
Frank

User avatar
mseidel
Posts: 24
Joined: Tue 14. Mar 2017, 10:45
Location: Hamburg

Post by mseidel » Sun 19. May 2019, 18:57

Wolfie wrote:
Sun 6. Jan 2019, 13:10
Ich habe übrigens die Mausabfrage jetzt auch in IrxRadio eingebaut. Da kann man die Radio-Tasten direkt per Maus bedienen. Die neue Version von IrxRadio kommt dann auch auf Hobbes.
Vielen Dank nochmal für das nette Gepräch gestern in Utrecht.

Ich habe mir die Version 1.7 von irxradio von hobbes geladen [1], habe aber sowohl unter ArcaOS, als auch unter Ubuntu Probleme beim entpacken des Inhalts.
Kann es sein, dass die ZIP-Datei defekt ist?

Gruß/2
Matthias

[1] http://hobbes.nmsu.edu/h-search.php?key ... ton=Search

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Sun 19. May 2019, 21:50

Das ist natürlich höchst ärgerlich, dass Hobbes die Version 1.7 vom incoming-Verzeichnis sogar in das Apps-Verzeichnis übernommen hat. Beim Hochladen mit FTP hatte ich nämlich vergessen, auf binary umzuschalten und stattdessen den Standard ascii belassen. Die ZIP-Datei ist dadurch nicht verwendbar. Ich versuchte diese Datei auf die bei Hobbes angegebene Weise zu löschen. Das funktionierte leider nicht. Zwei bis drei E-Mails an den Hobbes-Support blieben unbeantwortet. Das hing möglicherweise mit der damals in den USA herrschenden Haushaltssperre zusammen, von der ja vermutlich auch die Universitäten betroffen waren.

Als die Version 1.7 aus dem Incoming-Verzeichnis verschwunden war, dachte ich, das Problem ist vom Tisch. Aber stattdessen haben die Kollegen von Hobbes damit die funktionierende Vorgängerversion 1.5 Überschrieben.

In Kürze werde ich die Version 2.0 hochladen, die ich auch bei der WSE2019 gezeigt habe. Ich warte nur auf die Überarbeitung der Dokumentation. Keith Merrington hat sich freundlicherweise bereiterklärt, meinen etwas holprigen Text in guten englischen Stil zu übertragen.

Gruß Wolfgang

User avatar
mseidel
Posts: 24
Joined: Tue 14. Mar 2017, 10:45
Location: Hamburg

Post by mseidel » Sun 19. May 2019, 23:34

Hallo,

Das erklärt alles... ;-)
Ich übe mich dann in Geduld und werde auf die Version 2.0 warten!

Gruß/2
Matthias

aschn
Posts: 775
Joined: Wed 25. Dec 2013, 22:47

Post by aschn » Sun 19. May 2019, 23:49

Wolfie wrote:
Sun 19. May 2019, 21:50
Ich versuchte diese Datei auf die bei Hobbes angegebene Weise zu löschen. Das funktionierte leider nicht.
Das funktioniert nur kurz nach dem Upload, wie mir Steven geschrieben hat.
Wolfie wrote:
Sun 19. May 2019, 21:50
Zwei bis drei E-Mails an den Hobbes-Support blieben unbeantwortet.
Ging bei mir gut. Curtis hat bei mir sogar die fehlerhafte .txt-Datei gefixt, so dass die Einsortierung die .wpi-Datei richtig verarbeiten konnte.
Wolfie wrote:
Sun 19. May 2019, 21:50
Als die Version 1.7 aus dem Incoming-Verzeichnis verschwunden war, dachte ich, das Problem ist vom Tisch. Aber stattdessen haben die Kollegen von Hobbes damit die funktionierende Vorgängerversion 1.5 Überschrieben.
Einfach nochmal E-Mail an Curtis.
Wolfie wrote:
Sun 19. May 2019, 21:50
In Kürze werde ich die Version 2.0 hochladen
Das ist die andere Möglichkeit solche Probleme zu fixen.
Last edited by aschn on Sun 19. May 2019, 23:50, edited 1 time in total.
Andreas Schnellbacher

User avatar
Wolfie
Posts: 87
Joined: Sat 9. Aug 2014, 19:11
Location: Leipzig

Post by Wolfie » Mon 20. May 2019, 16:55

Hallo Andreas,

es ist ja nun nicht so, dass ich nicht versucht hätte, das Problem zu lösen, als mich Wilfried ein paar Tage nach dem Upload über das fehlerhafte ZIP-Archiv informierte. Erst der beschriebene Weg des Löschens, an mehreren Tagen. Ich dachte, irgendwann muss es doch klappen. Wer kann denn ahnen, dass das nur kurze Zeit funktioniert. Danach habe ich mich dann per E-Mail an den Archivar gewandt ( archiver@hobbes.nmsu.edu), ich kenne keinen Curtis. Wenn man dann aber auf mehrere E-Mails weder Eingangsbestätigung noch Antwort erhält, resigniert man dann irgendwann.Dass die fehlerhafte Version in dass Apps-Verzeichnis gewandert ist, hatte ich ja erst gestern erfahren, ich schaue ja nun auch nicht jeden Tag bei Hobbes vorbei. Da die Version 2.0 in Kürze fertig sein wird, investiere ich jetzt keine Zeit mehr an die 1.7.

Wer übrigens einen kleinen Vorgeschmack auf die 2.0 bekommen möchte - ich habe ein Video davon erstellt:
youtu.be/hXcY_Bv-7Do (englische Hinweise) bzw. youtu.be/VjLv3Mtlgyo (deutsche Hinweise).

Gruß
Wolfgang

aschn
Posts: 775
Joined: Wed 25. Dec 2013, 22:47

Post by aschn » Mon 20. May 2019, 17:27

Die E-Mail-Adresse hatte ich auch benutzt. Curtis hat sich darauf gemeldet.
Andreas Schnellbacher