Seite 1 von 1

RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 14:43
von BJelinek
Hallo zusammen.

Wozu braucht oder benutzt man RunRexx().

Komme mit der Beschreibung in der Version 2.0 1392 nicht klar.

Wird dies von jemandem benutzt?

Schon mal Frohe Ostern

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 14:52
von Martin Altmann
Moin,
meinst Du das hier: https://doc.alaska-software.com/content ... nrexx.html
Wenn ja: Wahrscheinlich keiner von uns - ist für OS/2-Skripte

Viele Grüße,
Martin

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 15:06
von Jan
Martin,

REXX geht auch unter Windows (und Linux, Amiga, Unix-Derivate, und noch ein paar mehr). Wenn das nur für OS/2 wäre, dann würde Alaska da sicher keine Zeit rein investieren. Es gibt ja keine aktuelle Xbase++-Version für OS/2.

Wobei ich Dir sonst zustimme: Ich kenne wissentlich niemanden, der REXX benutzt. Aber irgend ein Alaska-Kunde muß wichtig genug sein das Alaska das für den umgesetzt hat. Wäre mal interessant zu wissen, was man damit ganz praktisch gesehen alles anstellen kann. Vielleicht käme man dabei dann ja auf den Geschmack.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 15:37
von Werner_Bayern
REXX is an interpreter language which automates program execution and allows for easy changes. Using REXX, procedures are programmed which can be called and executed using a REXX command processor. Open Object Rexx (ooRexx) is an open-source REXX interpreter which can be used for executing REXX scripts under Windows, see https://www.oorexx.org.
Aus der Hilfe.

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 16:48
von BJelinek
Die Hilfe ist jetzt viel umfangreicher.
Kein Verweis auf oorexx.org

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 17:07
von Werner_Bayern
:?:

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 17:12
von BJelinek
In der Version 2.0 1392 von Heute

Lange Hilfe mit vielen Beispielen.

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 17:16
von Jan
Achtung: Die Onlinehilfe, auf die Martin verlinkt hat. Nicht die lokal Hilfefunktion.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 17:25
von BJelinek
Der Hinweis auf oorexx.org steht doch drin, habs überlesen.

Aber wie kommt man auf die Online-Hilfe ?

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 19:15
von Jan
Bernd,

schau Dir den ersten Beitrag von Martin an, der zweite Beitrag in diesem Thread.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 21:21
von BJelinek
Danke Jan,

Was ich meine, gab es einen Hinweis auf der Homepage von Alaska oder Workbench oder
sonst wo.

Wo habe ich die Information übersehen.

Habe mir jetzt eine Verknüpfung gesetzt aus dem Link von Martin.
( Danke Martin )

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 22:08
von Jan
Bernd,

meines WIssens gibt es nur drei von Alaska geführte Orte, wo das erwähnt wird:
- Die entsprechenden Themen in der chm in der Xbase++-Installation
- Die Hilfe (Release Information->Xbase++->Changelog per build->Build 2.00.1392)
- Die Onlinehilfe auf doc.alaska-software.com

Auf der Homepage sowieso nicht, die ist seit Jahren vollkommen veraltet, da tut sich niemals überhaupt irgend was (ich hab denen vor mehreren Jahren mal eine lange Liste mit den allerschlimmsten Punkten geschickt, das gab ein unterkühltes Danke, und das wars dann. Nicht ein Punkt davon wurde jemals von denen angepackt). In der Workbench nur das was die Hilfefunktion DIr bietet. Und in den mitgelieferten Samples auch keine Erwähnung.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 23:24
von BJelinek
Danke :idea:

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 23:37
von Martin Altmann
Jan hat geschrieben: Mi, 31. Mär 2021 15:06 Martin,

REXX geht auch unter Windows (und Linux, Amiga, Unix-Derivate, und noch ein paar mehr). Wenn das nur für OS/2 wäre, dann würde Alaska da sicher keine Zeit rein investieren. Es gibt ja keine aktuelle Xbase++-Version für OS/2.
Ok, du hast also nicht gelesen, was ich oben verlinkt hatte. Schade. Dort steht:
Executes an OS/2 command file.
...

This function is not available in the Xbase++ Windows version since REXX is not part of Windows NT or Windows 9x.

RunRexx() executes an OS/2 command file and passes optional arguments to the REXX procedure in this file.
...
Viele Grüße,
Martin

Re: RunRexx() Wozu braucht man das ?

Verfasst: Mi, 31. Mär 2021 23:52
von Jan
Martin,

stimmt, ich hatte das nicht gelesen. Wobei ich mich dann doch wundern muß: Warum baut Alaska das in die 2.0 ein, wo es die 2.0 nur für Windows gibt, nicht aber für OS/2? Genau aus dem Grund habe ich vorausgesetzt das die REXX auch unter Windows unterstützen (da es ja REXX auch für Windows gibt). Kann es sein das diese Doku da veraltet ist und einen alten Stand widerspiegelt? Immerhin ist Xbase++ ja ursprünglich mal vor vielen Jahren für OS/2 geschrieben worden.

Mal ganz abgesehen davon: In der chm-Hilfe heißt es explizit zu RunRex(), das man REXX per ooRex unter Windows nutzen kann. Also geht das doch, anders als in der Online-Hilfe beschrieben.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 0:45
von BJelinek
Hallo Martin,

in der Hilfe von Version 2.0 1392 steht nichts mehr von OS/2

Im Chanchelog steht
Review documentation on RunRexx() for Windows. (*.chm) (W21GX7)
Deshalb bin ich ja erst darauf gekommen.

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 9:38
von Martin Altmann
Moin,
die Onlinehilfe ist von Build 1377 (zumindest steht das oben links)

Viele Grüße,
Martin

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 9:54
von Jan
Martin,

ist ja alles richtig.

Aber dennoch gibt es in diesem Bereich eine erhebliche Diskrepanz. Während der Online-Artikel sagt daß das nur unter OS/2 läuft, sagt die Hilfe in der Installation daß das auch unter Windows geht. Und das macht auch Sinn - wie ich schon 2x schrieb gibt es nur noch ein Xbase++ für Windows, keines mehr für OS/2. Warum also sollte Alaska eine Funktion, die lt. Onlinehilfe nur und ausschließlich unter OS/2 laufen kann, in eine Sprache ausschließlich für Windows einbauen? Das macht doch keinen Sinn.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 10:24
von Martin Altmann
Moin Jan,
ja - aber nochmal: Die Onlinehilfe ist von 1377.
Die Offlinehilfe ist mittlerweile 1392 (oder größer, keine Ahnung).

Viele Grüße,
Martin

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 13:49
von brandelh
Jan hat geschrieben: Mi, 31. Mär 2021 15:06 Martin,
REXX geht auch unter Windows (und Linux, Amiga, Unix-Derivate, und noch ein paar mehr). Wenn das nur für OS/2 wäre, dann würde Alaska da sicher keine Zeit rein investieren. Es gibt ja keine aktuelle Xbase++-Version für OS/2.
Wobei ich Dir sonst zustimme: Ich kenne wissentlich niemanden, der REXX benutzt. Aber irgend ein Alaska-Kunde muß wichtig genug sein das Alaska das für den umgesetzt hat. Wäre mal interessant zu wissen, was man damit ganz praktisch gesehen alles anstellen kann. Vielleicht käme man dabei dann ja auf den Geschmack.
Jan
Möglich, dass es eine REXX Implementation für Windows etc. gibt, aber Xbase++ ist dafür nicht vorgesehen, das steht sogar in der Hilfe:
Xbase++ 2.0 Build 2.00.1087 hat geschrieben:RunRexx()
Executes an OS/2 command file.

RunRexx( <cCmdFileName> [, <cArguments,...>] ) --> xReturn

Parameters
<cCmdFileName>
<cCmdFileName> is a character string which contains the file name for the OS/2 command file executed. The file name can be specified without an extension. The default file extension is "CMD".

<cArguments,...>
<cArguments,...> is a comma-separated list of character expressions passed as arguments to the OS/2 command file. Any number of arguments can be passed.

Return
The function RunRexx() returns the return value of the REXX procedure in the file <cCmdFileName>.

Description
This function is not available in the Xbase++ Windows version since REXX is not part of Windows NT or Windows 9x.

RunRexx() executes an OS/2 command file and passes optional arguments to the REXX procedure in this file.

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 13:56
von BJelinek
Aktuell 1392 sieht die Hilfe so aus:
RunRexx()
Executes a REXX script file.

RunRexx( <cScriptFileName> [, <cArguments,...>] ) --> xReturn

Parameters
<cScriptFileName>
<cCmdFileName> is a character string which contains the file name of the script file to be executed.

<cArguments,...>
<cArguments,...> is a comma-separated list of character expressions passed as arguments to the script file. Any number of arguments can be passed.

Return
The function RunRexx() returns the return value of the REXX script file.

Description
RunRexx() executes a script file and passes optional arguments to the REXX procedure in this file.

REXX is an interpreter language which automates program execution and allows for easy changes. Using REXX, procedures are programmed which can be called and executed using a REXX command processor. Open Object Rexx (ooRexx) is an open-source REXX interpreter which can be used for executing REXX scripts under Windows, see https://www.oorexx.org.

REXX procedures are typically stored in files with the extension .rex. These are script files comparable to .bat files in DOS. REXX script can be replaced, processed and changed with a simple text editor. They differ from .bat files in that they must always begin with a comment line (/* Comment */) so the characters "/*" must be the first two characters in the file. These characters are key identifiers for the REXX interpreter.

All commands and functions of REXX are usable within a REXX file. If such a file is started by RunRexx() from an Xbase++ application, the REXX procedure runs in the address space of the Xbase++ application. RunRexx() extends the language scope of REXX to all globally visible functions, procedures and dynamic variables of the calling Xbase++ application. This means that all Xbase++ functions and procedures can be called and executed within the REXX script. That includes all the functions of the Xbase++ runtime library and all globally visible user-defined functions and procedures. Also, all dynamic variables visible when the call RunRexx() occurs are visible. Access to lexically scoped variables and calls to functions or procedures declared as STATIC is not possible. The program operation of an Xbase++ application can be changed without compile and link cycles since REXX script files can simply be processed with a text editor.

Passing of arguments to REXX

The function RunRexx() can pass many arguments to the REXX procedure using <cArguments,...>. The passed arguments must always have the data type "character", since REXX is a character based interpreter language. To access the passed arguments within the REXX procedure, REXX provides the command ARG and the function ARG(). The command ARG is generally needed when a REXX procedure is started from the command line. The following REXX procedure demonstrates this and receives two arguments:
Dann kommen jede menge Beispiele.

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 14:26
von Jan
Hubert,

das habe ich jetzt Martin schon 2x geschrieben. Die also auch Dir noch mal: In der Onlinehilfe (die, wie Martin ganz richtig bemerkte, sich auf die 1377 bezieht) steht, das Xbase++ REXX nur in OS/2 unterstützt (wobei es die 2.0 gar nicht für OS/2 gibt). Die Hilfe in der Installation zur 1392 sagt dagegen, daß Xbase++ REXX auch unter Windows unterstützt.

Jan

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 14:30
von brandelh
Hätte ich mal besser weiter gelesen vor meinem Zitat, was da alles abging dazwischen 8)

Also man kann nun wohl auch RunRexx() unter Windows verwenden, habe ich noch nicht probiert.
Wenn man das braucht ist das so schön wie andere Neuerungen, die manche nutzen - oder eben nicht.

Ich werde mich jedenfalls nicht darauf verlassen, dass jemand REXX nachinstalliert hat und nutze weiterhin RunShell() :D

Re: RunRexx() Wozu braucht man das ?

Verfasst: Do, 01. Apr 2021 15:39
von BJelinek
Vielleicht kann man da VT100 Terminal mit steuern und Rückmeldungen erhalten.
In einem Beispiel wird die VT100.CH eingebunden und VT_ .... Werte/Funktionen
benutzt.
In der 1289 haben Sie ja auch VT100 support eingebaut.