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: 75
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: 900
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: 75
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: 900
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: 900
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: 75
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