wiki:FAQ/ARexx Scripting

Version 7 (modified by damato, 2 years ago) (diff)

--

ARexx Scripting

  1. The "WRITEEDITOR TEXT" arexx command doesn't seem to work?
  2. The GotoURL.yam Arexx script doesn't seem to work and popup my webbrowser if I doubleclick on an URL. Why?
  3. Why can't I send newline characters (0x0a) via the WRITEEDITOR Arexx command to YAM?

The "WRITEEDITOR TEXT" arexx command doesn't seem to work?

If you are having trouble getting the WRITEEDITOR TEXT arexx command to work as expected and your script always returns an error similar to that one:

1 *-* WRITEDITOR TEXT Hello World;
+++ Command returned 10

then chances are high that you simply missunderstood or missread the documentation about the WRITEEDITOR command in the YAM amigaguide documentation. So please note that using the TEXT attribute of the WRITEEDITOR command implies to take care of a special text quoting as otherwise YAM isn't able to identfy what the attribute and what the actual text is you supplied to the WRITEEDITOR arexx command.

For example, if you want to put the text "Hello World!" into an already opened write window in YAM you are ought to have you arexx script designed like:

/* My script */
ADDRESS YAM;
MAILWRITE WINDOW 0;
'WRITEEDITOR "TEXT Hello World!"'

Please take special attention on the used quotating marks (' and ") used on the WRITEEDITOR command. Any other combination of these quotation marks will actually result in the WRITEEDITOR command to return the above mentioned error. However, if you want to just issue the e.g. CLEAR attribute you can also simply use "WRITEEDITOR CLEAR" without any quotating marks. The special quotation is only required for the TEXT attribute.

The GotoURL.yam Arexx script doesn't seem to work and popup my webbrowser if I doubleclick on an URL. Why?

The included GotoURL.yam Arexx script might fail due to several possible reasons.

First of all, we have to mention that due to the direct integration of the openurl.library in YAM 2.4+, the Arexx script is somewhat considered obsolete. The same behaviour/functionality can now be achieved by installen the OpenURL library and its tools. So, we highly recommand to install the openurl.library instead and disable the use of the GotoURL.yam script in your YAM->Arexx configuration.

However, if you still want to continue to use the GotoURL.yam arexx script there are several things you have to consider and eventually modify the arexx script directly:

  • Several parameters within the GotoURL.yam script have to be changed and adapted to your own environment. This includes the correct path to the webbrowser you want to get started as soon as you double-click on an URL
  • Since YAM 2.5+, the way Arexx scripts are executed is slightly changed. In fact, former versions did automatically supply the script the full path to the URL when executing. Since YAM 2.5+ you have to make sure that within the Arexx configuration you supply the script the necessary URL replacement substitution string (%p).

Why can't I send newline characters (0x0a) via the WRITEEDITOR Arexx command to YAM?

You can. But you have to escape such special characters like a newline or an escape (0x1b) character with some special char sequences like:

 *N subsitutes to a newline (0x0a)
 *E subsitutes to a esc char (0x1b)
 ** subsitutes to a *
 *" subsitutes to a "

For example the following command would write a string to a texteditor containing a newline:

'WRITEEDITOR "TEXT Hello Joe,*N I would like to meet you."'

Please note that this applies to all Arexx command arguments and that you have to use proper escape sequences like explained above.