This is an archive of CompuServe forum messages from 1985 to 1995, as saved in transcripts by John Foust.
Search Results (522 messages)
Hi Mike, I haven't tried playing with ORexx yet, though I've seen references to it with the OS/2 developer software. Future work with ARexx depends mostly on how the Escom folks do with reviving the Amiga … -Bill
Jim, The difference in operation of RX under Workbench reflects the limitation of the Execute() function used to run a command (in this case, rexxmast.) Calling Execute() from a WB environment prior to OS 2.04 caused a crash, as WB didin't provide a valid shell environment. With 2.04 and later,…
Bart, The funny "unknown command" errors you're seeing are the result of the function returns from OPEN(), etc. being interpreted as a command. You should either capture the return in a variable (e.g. test = open(…)) or use the CALL instruction to invoke the function. The reason the messages seem…
Mark, If you open a RAW: window from ARexx you can wait for a single key to be pressed without requiring an ENTER. CON: windows accumulate input until ENTER is pressed in order to allow line editing. RAW: windows pass along each character to the output buffer immediately. -Bill Hawes
Are the filenames you're passing to exists() absolute or relative paths? You may have a problem with the current directory of the ARexx program being different from the files. Use pragma('dir') to check the CD of the ARexx program. And as a general debugging aid, put a TRACE R instruction…
#German ARexx-Book
Message #44744
Vance, Yes, you can reach me from Internet as 72230.267@compuserve.com or whawes@bix.com — I check for mail on both quite frequently. -Bill
Hi Mike, Glad to hear your ARexx book is out! I wish my command of the German language were in better shape, but unfortunately I've forgotten most of what I learned — too long without practice! If I get back to studying German, I'll drop you a note and ask…
Andre, A couple of ARexx books you might want to look for: "Using ARexx on the Amiga" by Zamara and Sullivan or "The ARexx Cookbook" by Merrill Callaway. Not sure where you should look, given the scarcity of Amiga dealers these days … -Bill
Andre, A few suggestions to improve your REXX life: When in doubt, turn on tracing. (Just put a TRACE R instruction near the beginning of your program) Enclose command names in quotes, so that no accidental variable substitution takes place. Enclose file names in quotes (A colon in a device…
Greg, It sounds as though one of your internal functions is accidentally setting shutdown to 1. Have you tried running the host program with tracing turned on to see where shutdown is getting set? -Bill
Arnie, I can offer a couple of comments, though I'm not sure I understand what problem you're having. ARexx path searching doesn't work with DOS multi-assigns, as it first obtains a lock on a search directory and then generates the names to look for relative to that lock. If you…
John, There isn't a built-in lower function in ARexx, but you can use the translate() function to do the conversion. For example, say translate("ABC","abc","ABC") [D [D [D [D [D [D You'll need to list the characters you want translated, including the high-range ASCII characters if these will occur in your…
Jim, Yes, ARexx waits until the command returns in order to provide an RC value. Thus an external WAIT command will suspend execution without burning CPU cycles. There's a little more overhead to issuing an external command, so the delay() function is preferable for short timing intervals. -Bill
Looping until a certain time() value comes around will burn processor cycles. It would be preferable to calculate a delay value (ticks = seconds * 50) and call delay() instead of looping. -Bill
Charles, When ARexx sends a command to an application, it waits for a reply so it can report success/failure and take appropriate action. For your timing program you'll probably want to comute the slepp interval for the delay() function based on how long the application commands typically take. After the…
Chris, To turn on tracing in ARexx, try putting a TRACE R instruction near the beginning of the program. (Anywhere after the opening comment is fine.) This will display the results of all expressions as the program is executed, and you'll be able to determine where the trouble begins. After…
Chris, As there weren't any changes in ARexx itself going to AmigaDOS 3.1, my assumption would be that the problem is in the requestor code. The ARexx program looks straightforward, but you could try putting a TRACE R instruction near the beginning and then watch the trace output to see…
It would help if you could post a short example of the ARexx programs you're trying to run, together with the TRACE output. If the ARexx program is issuing commands without error, that would indicate that the command host (the TP program) is at least available. (Commands issued to an…
The DHOpts commands is used to configure WShell's DisplayHandler. It allows a lot more configuration flexibility and does away with having to create a mountlist entry for the handler. Once of the settable options is the amount of stack space required by the DisplayHandler instances, in order to allow for…
Steven, Apparently later versions of AmigaDOS have been using more and more stack space for some library calls, especially when opening a window. To guard against increased requirements the DisplayHandler supports a STACK option in its command template. -Bill Hawes
Darron, It sounds as though you need to supply the DisplayHandler with more stack space, if its window titles are being clobbered. Just add a STACK 5000 (or more, if you need) to your DHOpts command line. -Bill Hawes
Some of the string functions that do conversions that increase the length of the string (e.g. conversion to hex or binary) use an internal buffer area. Operations that do just character-for-character replacement can often do the operation in place (if the source string isn't needed any more.) -Bill
Patrick, To convert a longer string using C2X(), I would suggest using a DO instruction to iteratively break the string into 500 byte chunks with the substr() function. You can then concatenate the partial result onto the final result string. If the original data is coming from an external file,…
#42254-
#Bug in ARexx?
Message #42259
Mike, One of my other customers sent me that example code as well. The examples dealing with variable scoping in procedures (with and without expose) are simply the way REXX is defined. The example dealing with compound variables is again the way REXX is defined — when compound variables are…
The main problem with REXX in current PC environments (i.e. Windows/DOS) is that there's no real multitasking support, so it's hard to get multiple applications interacting with one another. If the Amiga hadn't had good multitasking, ARexx wouldn't have been 1/10 as useful. REXX under OS/2 seems to be growing…
Greg, The TIME() function has resolution in the millisecond range when used to measure elapsed time; you'll probably need to play with it to see whether it will work adequately in your application. Future versions of ARexx will depend on the course of the Amiga market. Right now I'm waiting…
Use TIME() functio
Message #42152
Greg, You can use the REXX time('reset') and time('elapsed') functions to measure the time it takes to perform an operation. -Bill Hawes
Yes, WShell 2.0 is available, and we're happy to sell directly. (With the declining Amiga market, the software is now longer carried by the distributors, so it's hard to find a dealer who stocks it.) You can order by email here on CIS if you wish, or send us mail…
Hi MIke, Sure, I'd be glad to send you a copy of the ARexx customer survey. We've sent them out to all of our registered ARexx customers and have received quite a few replies so far. -Bill Hawes
Paul, Yes, WShell 2.0 is the current version. It's been extremely stable and reliable, so we've had no need to release a newer version. Our address and phone number are also the same: Wishful Thinking Development Corp PO Box 308 Maynard, MA 01754 (508) 568-8695 Email can be sent to…
Grant, Glad to hear ARexx is working well in your projets! -Bill Hawes
Daniel, You should be getting a customer survey very soon — we're sending out the next batch this week. -Bill Hawes
Mike, The console window opened by TCO uses a CON: window, since it can't assume that WShell will be present on the machine and therefore there may not be a CNC: or other console. (TCO is an ARexx utility.) You can use WShell's DisplayHandler to redefine CON:, but you'll need…
Vance, I have you registered for ARexx, at 9079-52 street in Edmonton. We'll keep in touch as long as you keep let us know your current address! -Bill
Paul, We only have registrations from those people who bought our ARexx package. We have no way of contacting those who received ARexx as part of a Commodore system, as Commodore doesn't make its customer lists available (if they track them at all.) -Bill Hawes
Mike, At the moment we're sending out customer surveys to guage the market interest in future versions of ARexx. We have received requests for the REXX Format() function, but haven't made any decisions on what features or improvements would be targeted in a new release. -Bill Hawes
Hi Mike, I'm glad to hear you've got WShell runnig well on your system, though I can't imagine why the setting of the "Pure" bit for any files would matter. Some executables are pure; some aren't — although it can be dangerous to say that a file is pure if…
Yes, the ARexx calendar conversion was intended for current and future dates. BASEDATE conversions allow you to compute the interval in days between calendar dates. -Bill Hawes
Mike, I would think that if DirectoryOpus is started from a shell, it should inherit the path from that shell. It's possible though that they decided to copy the Workbench path instead of the one inherited from the shell. It should be easy to test in any event — just…
Mike, What is probably happening is that Workbench and/or DirectoryOpus are capturing the path in efefct when they are started, which may be before the paths you define un user-startup take effect. Try to get all of your path commands executed before you start Workbench or DirectoryOpus. On the Amiga…
Paul, We're currently mailing a survey questionnaire to our ARexx customers to help determine the level of interest in future updates. If you're one of our registered ARexx customers, you'll be receiving a survey soon and can let us know your thoughts on the subject. If you're not on our…
Mike, ARexx programs can be launched either as commands (for example, from a shell) or as functions (as in a CALL instruction.) When an ARexx program is launched as a command, it usually has just a single argument string, typically the remainder of the string that was typed to launch…
Mike, The path for the ARexx server is used for macros launched from Workbench, but otherwise an ARexx macro inherits the path from its client, if the client (e.g. a shell) has a path. -Bill
Larry, ARexx starts it calendar with 19770101 and works forward from there. -Bill Hawes
Mike, If an ARexx macro is launched from a shell, it inherits that shell's path and uses it for address command. It doesn't track the shell's path, as the ARexx macro is running as a separate task. To find out what path is available in a macro, just issue the…
Mike, Remember that the command you pass to an external host is treated as an expression in REXX. The interpreter will evaluate the expression and then pass the resulting string to the specified host. Thus if you've got a minus sign (or any other operator) that you want to pass…
Hi Mike, Yes, you can redefine STDOUT in an ARexx macro, and send it to NIL: or to an error logging file if you wish. Just use the close() function to close the existing stdout, then use the open() function to open STDOUT on the new file. (One thing to…
Bill, You might try using a say show(l) call before the exists call in the program that's giving you trouble — it sounds as though you're adding a bad library name somewhere in the program sequence. The show() function will list out everything in the ARexx libraries list. Make sure…
Bill, Could you post an example of the ARexx calls that are causing problems? Try creating a short example program that can be run directly from a shell to exhibit the problem. I haven't heard of any problems with either showlist() or exists(), but problems when calling a function are…
Hi Mike, I don;t have any ideas as to the problem you're having, but if you could email me your WShell-related startup info I'd be glad to look at that for any clues. -Bill Hawes
Page 1 of 11