Jump to content

REXX Tips & Tricks:General: Difference between revisions

From EDM2
Created page with "This section contains general information about this document. ==History== This document is based on REXX Tips & Tricks by Bernd Schemmer version 3.60 (June 2004) ==Source..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 2: Line 2:


==History==
==History==
This document is based on REXX Tips & Tricks by [[Bernd Schemmer]] version 3.60 (June 2004)
Release History of this document
{|class="wikitable"
!Version||Release||
|-
|3.60||01.07.2004||26th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.50||01.07.2003||25th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.40||01.04.2003||24th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.30||01.07.2002||23th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.20||10.08.2001||22th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.10||10.01.2001||21th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|3.00||10.02.2000||20th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.90||10.04.1999||19th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.80||10.09.1998||18th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.70||10.10.1997||17th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.60||10.08.1997||16th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.50||10.02.1997||15th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.40||10.12.1996||14th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.30||10.10.1996||13th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.20||10.06.1996||12th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.10||10.04.1996||11th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|2.00||10.02.1996||10th public release
:a few Bug corrections and a lot of Updates & New entries
|-
|1.90||10.12.1995||Ninth public release
:a few Bug corrections and a lot of Updates & New entries
|-
|1.80||10.10.1995||Eighth public release
:a few Bug corrections and a lot of Updates & New entries
|-
|1.70||10.08.1995||Seventh public release
:a few Bug corrections and a lot of Updates & New entries
|-
|1.60||10.06.1995||Sixth public release
:a few Bug corrections and some Updates & New entries
:Note that the history sections for the versions 1.20, 1.30, 1.40 and 1.50 are only of interest for German users who already have one of the previous versions of REXX Tips & Tricks.
|-
|1.50||10.04.1995||Fifth public release
:a few Bug corrections and a lot of New entries
:This is the first English release!
|-
|1.40||10.02.1995||Fourth public release
:a few Bug corrections and a lot of New entries
:This was the last German release!
|-
|1.30||10.12.1994||Third public release
:a few Bug corrections and a few New entries
|-
|1.20||20.10.1994||Second public release
:a few Bug corrections and a lot of New entries
|-
|1.10||25.08.1994||First public release
|-
|1.00||17.07.1994||First internal release
|}


==Sources==
==Sources==
All Tips & Tricks mentioned in this document without an accompanying note about citing the source (see Credits) are results of my development of REXX programs.
All Tips & Tricks mentioned in this document without an accompanying note about citing the source (see Credits) are results of my development of REXX programs.


Line 11: Line 95:


I've used the following OS/2 versions for the tests:
I've used the following OS/2 versions for the tests:
 
*OS/2 2.1 + ServicePack (German)
    OS/2 2.1 + ServicePack (German)
*OS/2 2.11 (German)
    OS/2 2.11 (German)
*OS/2 2.99 WARP BETA II (US)
    OS/2 2.99 WARP BETA II (US)
*OS/2 WARP Version 3.0 (German)
    OS/2 WARP Version 3.0 (German).
*OS/2 WARP Version 3.0 Fullpack (US)
    OS/2 WARP Version 3.0 Fullpack (US)
*OS/2 WARP Version 3.0 Fullpack (German)
    OS/2 WARP Version 3.0 Fullpack (German)
*OS/2 WARP Connect (US, w/ & w/o Fixpacks)
    OS/2 WARP Connect (US, w/ & w/o Fixpacks)
*OS/2 WARP Connect (German, w/ & w/o Fixpacks)
    OS/2 WARP Connect (German, w/ & w/o Fixpacks)
*OS/2 WARP Server (Beta September 1995, US)
    OS/2 WARP Server (Beta September 1995, US)
*OS/2 WARP Version 9.99 Merlin Beta June 96
    OS/2 WARP Version 9.99 Merlin Beta June 96
*OS/2 WARP Version 4 (US w/ & w/o Fixpacks)
    OS/2 WARP Version 4 (US w/ & w/o Fixpacks)
*OS/2 WARP Version 4.5 CP2 (US w/ & w/o Fixpacks)
    OS/2 WARP Version 4.5 CP2 (US w/ & w/o Fixpacks)  
 


==Used Material==
==Used Material==
Used Material
I've used material from the following individuals in this document:
I've used material from the following individuals in this document:
 
*Detlev Ahlgrimm - MATCH function in REXX
    Ahlgrimm, Detlev (see EMail Addresses) MATCH function in REXX  
*Peter Bunney - Change the WPS archive flag
    Bunney, Peter (see EMail Addresses) Change the WPS archive flag Chi, B.E. (see EMail Addresses)
*B.E. Chi - Math. functions
    Math. functions Collier, Ian
* [[Ian Collier]] - Shellsort routine - 2 -  
        Shellsort routine - 2 - Crosby, Albert (see EMail Addresses)
*Albert Crosby - CMDLINE.CMD
        CMDLINE.CMD Dumitru, Phil (see EMail Addresses)
*Phil Dumitru - Object IDs of Network applications
        Object IDs of Network applications Flatscher, Rony
*[[Rony Flatscher]] - Another sort routine
        Another sort routine Goran, Dick (see EMail Addresses)
*[[Richard K. Goran]] - Source code, hints and a more
        Source code, hints and a more Haschek, Georg (see EMail Addresses)
*Georg Haschek - Get the desktop directory, Get a list of all printers
        Get the desktop directory, Get a list of all printers Konz, Ned
*[[Ned Konz]] - Set or get the WPS lockup password
        Set or get the WPS lockup password Hoglund, Jamie (see EMail Addresses)
*Jamie Hoglund - Get the current cursor position
        Get the current cursor position Högman, Bruce E. (see EMail Addresses)
*[[Bruce E. Högman]] - Get the current boot drive
        Get the current boot drive Patterson, Ross (see EMail Addresses)
*Ross Patterson - SOUNDEX routine(s)
        SOUNDEX routine(s) Pitts, Steve (see EMail Addresses)
*Steve Pitts - Shellsort routine - 1 -, Unpack packed data
        Shellsort routine - 1 -, Unpack packed data Pohlmann, Andreas (see EMail Addresses)
*Andreas Pohlmann - Flexible Quick sort
        Flexible Quick sort Pogrebnyak, Yuri (see EMail Addresses)
*Yuri Pogrebnyak - base64 decoder, base64 encoder, and the base64 decoder routine in Template for an installation program
        base64 decoder, base64 encoder, and the base64 decoder routine in Template for an installation program
*Bob Price - SQRT routine
        Price, Bob (see EMail Addresses)
*Bernie Schneider - sprintf routine for REXX
        SQRT routine Schneider, Bernie (see EMail Addresses)
* [[Dirk Terrell]] - Heapsort routine
        sprintf routine for REXX Terrell, Dirk (see EMail Addresses)
*Ruediger Wilke - Fast Quick sort
        Heapsort routine Wilke, Ruediger
*John Wunderlin - Read a file using CharIn()
        Fast Quick sort Wunderlin, John (see EMail Addresses)
        Read a file using CharIn()


==Hints and Bug Reports==
==Hints and Bug Reports==
This section contains a list of all users who send me new material for RXT&T, hints, and bug reports regarding RXT&T.
This section contains a list of all users who send me new material for RXT&T, hints, and bug reports regarding RXT&T.


    Boess, Tilmann (see EMail Addresses)
*Boess, Tilmann - bug report about The DETACH command
        bug report about The DETACH command Berghaus, Robert (see EMail Addresses)
*Berghaus, Robert - Correction forConvert values from/to INTEL format and Delete a directory(-tree)
        Correction forConvert values from/to INTEL format and Delete a directory(-tree) Boll, Dave (see EMail Addresses)
*Boll, Dave - Additional information about his REXX packages
        Additional information about his REXX packages Daney, Charles (see EMail Addresses)
*Daney, Charles - Bug report
        Bug report Danvers, Robert (see EMail Addresses)
*Danvers, Robert - A lot of corrections for spelling errors
        A lot of corrections for spelling errors Davis, Thos (see EMail Addresses)
*Davis, Thos - Additional information about using DrDialog with Object-Oriented REXX
        Additional information about using DrDialog with Object-Oriented REXX Duerbusch, Tom
*Duerbusch, Tom - Bug in the section Closing files
        Bug in the section Closing files Eymont, Voytek (see EMail Addresses)
*Eymont, Voytek - Bug reports and new information
        Bug reports and new information Geus, Marcus De (see EMail Addresses)
*Geus, Marcus De - information about his web page
        information about his web page Goran, Dick (see EMail Addresses)
*Goran, Dick - Various bug reports
        Various bug reports Groves Jr., Don E. (see EMail Addresses)
*Groves Jr., Don E. - bug report
        bug report Hadam, Martin (see EMail Addresses)
*Hadam, Martin - New Information for RXT&T.
        New Information for RXT&T. Hanoian, Martin S. (see EMail Addresses)
*Hanoian, Martin S. - Information about the OS/2 Shareware BBS and bug reports
        Information about the OS/2 Shareware BBS and bug reports Heidelbach, Oliver (see EMail Addresses)
*Heidelbach, Oliver - Convert ASCII 850 string into/from ISO 8859-1 (1004) string, Count lines in a file quickly - 2 -  
        Convert ASCII 850 string into/from ISO 8859-1 (1004) string, Count lines in a file quickly - 2 - Hessling, Mark (see EMail Addresses)
*Hessling, Mark - Some corrections and additional information about his REXX packages
        Some corrections and additional information about his REXX packages Hicks, Dave (see EMail Addresses)
*Hicks, Dave - see the forewords for version 1.70, version 2.00, and version 2.80
        see the forewords for version 1.70, version 2.00, and version 2.80 Langanke, Christian (see EMail Addresses)
*Langanke, Christian - The keyword ICONRESOURCE
        The keyword ICONRESOURCE Lemon, Barry (see EMail Addresses)
*Lemon, Barry - Additional information for Parameter eaten by the CMD.EXE
        Additional information for Parameter eaten by the CMD.EXE Levine, Steven (see EMail Addresses)
*Levine, Steven - New infos for PMDll and a new text for the readme file
        New infos for PMDll and a new text for the readme file Mahoney, Robert (see EMail Addresses)
*Mahoney, Robert - Additional information about his REXX packages
        Additional information about his REXX packages Maerkisch, Bastian (see EMail Addresses)
*Maerkisch, Bastian - VX/REXX Buglist
        VX/REXX Buglist Mediavilla, David
*Mediavilla, David - Some bug corrections
        Some bug corrections Michelinakis, Dimitris 'sehh' (see EMail Addresses)
*Michelinakis, Dimitris 'sehh' - Some bug corrections
        Some bug corrections Platschek, Michael (see EMail Addresses)
*Platschek, Michael - The function SysDestroyObject, Check if a program is running (using RXU.DLL)
        The function SysDestroyObject, Check if a program is running (using RXU.DLL) Plungjan, Michel (see EMail Addresses)
*Plungjan, Michel - Writing OS independent programs and bug reports
        Writing OS independent programs and bug reports Pollak, Michael (see EMail Addresses)
*Pollak, Michael - Information about GNU Regina - REXX for DOS
        Information about GNU Regina - REXX for DOS Pool, Arthur (see EMail Addresses)
*Pool, Arthur - the section Investigate the overheads of function calls, and various corrections for the sort algorithms and other sections
        the section Investigate the overheads of function calls, and various corrections for the sort algorithms and other sections Putman, Harold (see EMail Addresses)
*Putman, Harold - correction for the section Internet -- WWW, Using REXX queues for global variables
        correction for the section Internet -- WWW, Using REXX queues for global variables Romain, Petges (see EMail Addresses)
*Romain, Petges - Using REXX queues to simulate a semaphore
        Using REXX queues to simulate a semaphore Rosenau, Herbert (see EMail Addresses)
*Rosenau, Herbert - Bug reports for RXT&T
        Bug reports for RXT&T Salak, Juraj (see EMail Addresses)
*Salak, Juraj - bug report for Get a name for a temporary file
        bug report for Get a name for a temporary file Seitz, John (see EMail Addresses)
*Seitz, John - SysCls
        SysCls Semo, Mario (see EMail Addresses)
*Semo, Mario - Bug reports for Object REXX (OS/2 & NT version)
        Bug reports for Object REXX (OS/2 & NT version) Schneller, Erik (see EMail Addresses)
*Schneller, Erik - Check if ANSI is active - 2 -
        Check if ANSI is active - 2 - Schwarz, Armin (see EMail Addresses)
*Schwarz, Armin - Information about using SHUTDWN.EXE
        Information about using SHUTDWN.EXE Sperper, Wolfram (see EMail Addresses)
*Sperper, Wolfram - Get the object ID for an object handle
        Get the object ID for an object handle Staedtler, Klaus (see EMail Addresses)
*Staedtler, Klaus - various hints
        various hints Ulrich, Ralf (see EMail Addresses)
*Ulrich, Ralf - Hint for MATCH function in REXX, Sample code for parameter parsing, and other information
        Hint for MATCH function in REXX, Sample code for parameter parsing, and other information
 
==Icons Used in REXX Tips & Tricks==
The following icons are used throughout REXX Tips & Tricks for special purposes. Double-click each icon when you come to it. When activated by the double click, the icon tells RXT&T to do one of the following:


start the OS/2 system editor (the E editor) displaying the file whose filename appears to the left of the icon.


==Icons Used in REXX Tips & Tricks==
open the codemenu (i.e., the small window containing the five icons - E editor, cmd.exe shell window, REXXTRY program, and launch REXX program in PMREXX)


The following icons are used throughout REXX Tips & Tricks for special purposes. Double-click each icon when you come to it. When activated by the double click, the icon tells RXT&T to do one of the following:
execute imbedded REXX statements using REXXTRY


start the OS/2 system editor (the E editor) displaying the file whose filename appears to the left of the icon
execute imbedded REXX statements using PMREXX with the parameter /Q.
       
open the codemenu (i.e., the small window containing the five icons -- E editor, cmd.exe shell window, REXXTRY program, and launch REXX program in PMREXX)
       
execute imbedded REXX statements using REXXTRY
       
execute imbedded REXX statements using PMREXX with the parameter /Q.  


http://www.ibm.com
Open the web site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.
Open the web site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here  


ftp://ftp.ibm.com
Open the ftp site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.
Open the ftp site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here  


comp.lang.rexx
comp.lang.rexx
Open the newsgroup in a newsgroup reader. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here  
Open the newsgroup in a newsgroup reader. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.


Bernd.Schemmer@gmx.de
Open a mail program with the mail address left from the icon. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.
Open a mail program with the mail address left from the icon. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here  


Hyperlinks to other INF files are marked with a leading <-. For example, the link <- DATE points to the description of the REXX function date() in the REXX Online documentation.  
Hyperlinks to other INF files are marked with a leading <-. For example, the link <- DATE points to the description of the REXX function date() in the REXX Online documentation.


==Sample rxttwww.cmd==
==Sample rxttwww.cmd==
<PRE>
<PRE>
/* --------------------------------------------------------------------------
/*--------------------------------------------------------------------------
 
See Icons Used in REXX Tips & Tricks for a description of this program.
See Icons Used in REXX Tips & Tricks for a description of this program.  
The sample cmd uses NETSCDDE.EXE from the XWorkplace package.
The sample cmd uses NETSCDDE.EXE from the XWorkplace package.  
see Using the samples for how to extract this code.
see Using the samples for how to extract this code.
 
  -------------------------------------------------------------------------- */
-------------------------------------------------------------------------- */
 
   
   
/* Dispatcher for calling internet programs from within REXX Tips & Tricks  */
/* Dispatcher for calling internet programs from within REXX Tips & Tricks  */
/*                                                                          */
/*                                                                          */
Line 257: Line 323:
'@exit'
'@exit'
</PRE>
</PRE>
[[Category:REXX Tips & Tricks]]

Latest revision as of 06:48, 12 December 2022

This section contains general information about this document.

History

Release History of this document

Version Release
3.60 01.07.2004 26th public release
a few Bug corrections and a lot of Updates & New entries
3.50 01.07.2003 25th public release
a few Bug corrections and a lot of Updates & New entries
3.40 01.04.2003 24th public release
a few Bug corrections and a lot of Updates & New entries
3.30 01.07.2002 23th public release
a few Bug corrections and a lot of Updates & New entries
3.20 10.08.2001 22th public release
a few Bug corrections and a lot of Updates & New entries
3.10 10.01.2001 21th public release
a few Bug corrections and a lot of Updates & New entries
3.00 10.02.2000 20th public release
a few Bug corrections and a lot of Updates & New entries
2.90 10.04.1999 19th public release
a few Bug corrections and a lot of Updates & New entries
2.80 10.09.1998 18th public release
a few Bug corrections and a lot of Updates & New entries
2.70 10.10.1997 17th public release
a few Bug corrections and a lot of Updates & New entries
2.60 10.08.1997 16th public release
a few Bug corrections and a lot of Updates & New entries
2.50 10.02.1997 15th public release
a few Bug corrections and a lot of Updates & New entries
2.40 10.12.1996 14th public release
a few Bug corrections and a lot of Updates & New entries
2.30 10.10.1996 13th public release
a few Bug corrections and a lot of Updates & New entries
2.20 10.06.1996 12th public release
a few Bug corrections and a lot of Updates & New entries
2.10 10.04.1996 11th public release
a few Bug corrections and a lot of Updates & New entries
2.00 10.02.1996 10th public release
a few Bug corrections and a lot of Updates & New entries
1.90 10.12.1995 Ninth public release
a few Bug corrections and a lot of Updates & New entries
1.80 10.10.1995 Eighth public release
a few Bug corrections and a lot of Updates & New entries
1.70 10.08.1995 Seventh public release
a few Bug corrections and a lot of Updates & New entries
1.60 10.06.1995 Sixth public release
a few Bug corrections and some Updates & New entries
Note that the history sections for the versions 1.20, 1.30, 1.40 and 1.50 are only of interest for German users who already have one of the previous versions of REXX Tips & Tricks.
1.50 10.04.1995 Fifth public release
a few Bug corrections and a lot of New entries
This is the first English release!
1.40 10.02.1995 Fourth public release
a few Bug corrections and a lot of New entries
This was the last German release!
1.30 10.12.1994 Third public release
a few Bug corrections and a few New entries
1.20 20.10.1994 Second public release
a few Bug corrections and a lot of New entries
1.10 25.08.1994 First public release
1.00 17.07.1994 First internal release

Sources

All Tips & Tricks mentioned in this document without an accompanying note about citing the source (see Credits) are results of my development of REXX programs.

I tested nearly all source code included in this document while developing my REXX programs.

I've used the following OS/2 versions for the tests:

  • OS/2 2.1 + ServicePack (German)
  • OS/2 2.11 (German)
  • OS/2 2.99 WARP BETA II (US)
  • OS/2 WARP Version 3.0 (German)
  • OS/2 WARP Version 3.0 Fullpack (US)
  • OS/2 WARP Version 3.0 Fullpack (German)
  • OS/2 WARP Connect (US, w/ & w/o Fixpacks)
  • OS/2 WARP Connect (German, w/ & w/o Fixpacks)
  • OS/2 WARP Server (Beta September 1995, US)
  • OS/2 WARP Version 9.99 Merlin Beta June 96
  • OS/2 WARP Version 4 (US w/ & w/o Fixpacks)
  • OS/2 WARP Version 4.5 CP2 (US w/ & w/o Fixpacks)

Used Material

I've used material from the following individuals in this document:

  • Detlev Ahlgrimm - MATCH function in REXX
  • Peter Bunney - Change the WPS archive flag
  • B.E. Chi - Math. functions
  • Ian Collier - Shellsort routine - 2 -
  • Albert Crosby - CMDLINE.CMD
  • Phil Dumitru - Object IDs of Network applications
  • Rony Flatscher - Another sort routine
  • Richard K. Goran - Source code, hints and a more
  • Georg Haschek - Get the desktop directory, Get a list of all printers
  • Ned Konz - Set or get the WPS lockup password
  • Jamie Hoglund - Get the current cursor position
  • Bruce E. Högman - Get the current boot drive
  • Ross Patterson - SOUNDEX routine(s)
  • Steve Pitts - Shellsort routine - 1 -, Unpack packed data
  • Andreas Pohlmann - Flexible Quick sort
  • Yuri Pogrebnyak - base64 decoder, base64 encoder, and the base64 decoder routine in Template for an installation program
  • Bob Price - SQRT routine
  • Bernie Schneider - sprintf routine for REXX
  • Dirk Terrell - Heapsort routine
  • Ruediger Wilke - Fast Quick sort
  • John Wunderlin - Read a file using CharIn()

Hints and Bug Reports

This section contains a list of all users who send me new material for RXT&T, hints, and bug reports regarding RXT&T.

  • Boess, Tilmann - bug report about The DETACH command
  • Berghaus, Robert - Correction forConvert values from/to INTEL format and Delete a directory(-tree)
  • Boll, Dave - Additional information about his REXX packages
  • Daney, Charles - Bug report
  • Danvers, Robert - A lot of corrections for spelling errors
  • Davis, Thos - Additional information about using DrDialog with Object-Oriented REXX
  • Duerbusch, Tom - Bug in the section Closing files
  • Eymont, Voytek - Bug reports and new information
  • Geus, Marcus De - information about his web page
  • Goran, Dick - Various bug reports
  • Groves Jr., Don E. - bug report
  • Hadam, Martin - New Information for RXT&T.
  • Hanoian, Martin S. - Information about the OS/2 Shareware BBS and bug reports
  • Heidelbach, Oliver - Convert ASCII 850 string into/from ISO 8859-1 (1004) string, Count lines in a file quickly - 2 -
  • Hessling, Mark - Some corrections and additional information about his REXX packages
  • Hicks, Dave - see the forewords for version 1.70, version 2.00, and version 2.80
  • Langanke, Christian - The keyword ICONRESOURCE
  • Lemon, Barry - Additional information for Parameter eaten by the CMD.EXE
  • Levine, Steven - New infos for PMDll and a new text for the readme file
  • Mahoney, Robert - Additional information about his REXX packages
  • Maerkisch, Bastian - VX/REXX Buglist
  • Mediavilla, David - Some bug corrections
  • Michelinakis, Dimitris 'sehh' - Some bug corrections
  • Platschek, Michael - The function SysDestroyObject, Check if a program is running (using RXU.DLL)
  • Plungjan, Michel - Writing OS independent programs and bug reports
  • Pollak, Michael - Information about GNU Regina - REXX for DOS
  • Pool, Arthur - the section Investigate the overheads of function calls, and various corrections for the sort algorithms and other sections
  • Putman, Harold - correction for the section Internet -- WWW, Using REXX queues for global variables
  • Romain, Petges - Using REXX queues to simulate a semaphore
  • Rosenau, Herbert - Bug reports for RXT&T
  • Salak, Juraj - bug report for Get a name for a temporary file
  • Seitz, John - SysCls
  • Semo, Mario - Bug reports for Object REXX (OS/2 & NT version)
  • Schneller, Erik - Check if ANSI is active - 2 -
  • Schwarz, Armin - Information about using SHUTDWN.EXE
  • Sperper, Wolfram - Get the object ID for an object handle
  • Staedtler, Klaus - various hints
  • Ulrich, Ralf - Hint for MATCH function in REXX, Sample code for parameter parsing, and other information

Icons Used in REXX Tips & Tricks

The following icons are used throughout REXX Tips & Tricks for special purposes. Double-click each icon when you come to it. When activated by the double click, the icon tells RXT&T to do one of the following:

start the OS/2 system editor (the E editor) displaying the file whose filename appears to the left of the icon.

open the codemenu (i.e., the small window containing the five icons - E editor, cmd.exe shell window, REXXTRY program, and launch REXX program in PMREXX)

execute imbedded REXX statements using REXXTRY

execute imbedded REXX statements using PMREXX with the parameter /Q.

Open the web site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.

Open the ftp site left from the icon in a browser. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.

comp.lang.rexx Open the newsgroup in a newsgroup reader. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.

Open a mail program with the mail address left from the icon. This icon calls the program rxttwww.cmd with the approbiate parameters. Please note that the program rxttwww.cmd must be available through the path. An example for rxttwww.cmd is here.

Hyperlinks to other INF files are marked with a leading <-. For example, the link <- DATE points to the description of the REXX function date() in the REXX Online documentation.

Sample rxttwww.cmd

/*--------------------------------------------------------------------------
See Icons Used in REXX Tips & Tricks for a description of this program.
The sample cmd uses NETSCDDE.EXE from the XWorkplace package.
see Using the samples for how to extract this code.
  -------------------------------------------------------------------------- */
 
/* Dispatcher for calling internet programs from within REXX Tips & Tricks   */
/*                                                                           */
/* Usage:                                                                    */
/*                                                                           */
/*    rxttwww is called by VIEW.EXE with the following parameters:           */
/*                                                                           */
/*        http www_address                                                   */
/*        news newsgroup                                                     */
/*        ftp ftp_address                                                    */
/*        mail mailAddress                                                   */
/*        cis CISAddress                                                     */
/*        fido FidoAddress                                                   */
/*                                                                           */
/* Examples:                                                                 */
/*                                                                           */
/*        rxttwww http www.ibm.com                                           */
/*        rxttwww news comp.lang.rexx                                        */
/*        rxttwww ftp ftp.ibm.com                                            */
/*        rxttwww mail Bernd.Schemmer@gmx.de                                 */
/*        rxttwww cis 100104,613                                             */
/*                                                                           */
/*                                                                           */
/* Note:                                                                     */
/*                                                                           */
/*                                                                           */
/*    This sample file uses the program NETSCDDE.EXE from the XWorkplace     */
/*    package.                                                               */
/*                                                                           */

  parse arg action iAdress

  progDesc = 'rxttwww - Dispatcher for REXX Tips & Tricks'

  select

    when action = 'http' then
    do
                    /* called to show a web site                            */
                    /* -------------------------                            */

                    /* call Netscape using NETSCDDE.EXE from the            */
                    /* XWorkplace package                                   */
      '@netscdde.exe -Xn http://' || iAdress
    end /* when */

    when action = 'ftp' then
    do
                    /* called to show a ftp site                            */
                    /* -------------------------                            */

                    /* call Netscape using NETSCDDE.EXE from the            */
                    /* XWorkplace package                                   */
      '@netscdde.exe -Xn ftp://' || iAdress
    end /* when */

    when action = 'news' then
    do
                    /* called to show a newsgroup                           */
                    /* --------------------------                           */

                    /* call Netscape using NETSCDDE.EXE from the            */
                    /* XWorkplace package                                   */
      '@netscdde.exe -Xn news://' || iAdress
    end /* when */

    when action = 'mail' then
    do
                    /* called to write an email to an internet address      */
                    /* -----------------------------------------------      */

                    /* call Netscape using NETSCDDE.EXE from the            */
                    /* XWorkplace package                                   */
      '@netscdde.exe -Xn mailto:' || iAdress
    end /* when */

    when action = 'cis' then
    do
                    /* called to write an email to a CIS address            */
                    /* -----------------------------------------            */

                    /* convert the CIS address to an internet address       */
       parse var iAdress part1 ',' part2
       iAdress = strip( part1 ) || '.' || strip( part2 ) || '@compuserve.com'

                    /* call Netscape using NETSCDDE.EXE from the            */
                    /* XWorkplace package                                   */
      '@netscdde.exe -Xn mailto:' || iAdress
    end /* when */

    when action = 'fido' then
    do
                    /* called to write an email to a FIDO address           */
                    /* ------------------------------------------           */

      say progDesc
      say
      say 'Error: I do not know how to handle FIDO addresses!'
      say
      say 'Press ENTER to exit'
      parse pull
    end /* when */

    otherwise
    do
                    /* called with a unknown keyword                        */
                    /* -----------------------------                        */

      say progDesc
      say
      say 'Error: Invalid arguments: "' || action iAdress || '"'
      say
      say 'Press ENTER to exit'
      parse pull
    end /* otherwise */

  end /* select */

'@exit'