Go to main entry page of Dennis Bareis' Site (lots of free software, commented links and information) Rexx Source Code Go to main entry page of Dennis Bareis' Site (lots of free software, commented links and information)

Source on this page has all been written by Dennis Bareis. Please read the disclaimer before downloading or using any software from these pages.

Once you have evaluated what you have downloaded I would appreciate feedback, this will hopefully be good but I'll take the bad as well. This will encourage me (hopefully) to continue. Maintaining these pages takes significant effort and if it appears that nobody benefits from it then I'll stop...

All of the following source is best #included using my "PPWIZARD" tool (some must be).

Most downloads contain both the code (header extension ".XH") as well as a sample (extension ".X"). All samples in the current directory can be built using a command such as:

       ppwizard *.X

In the following table the top entries are the latest to be added or updated. This makes it easier for you to recognise changes when you next log on.

Note that some of the following header files will include others.


Package Information
REPLSTR

Fri Sep 17 2004
10:34:10am
4,929 bytes
This routine will search & replace strings. It will also provide a count of changes.

Now includes a case insensitive search replace routine (allows reference to "before" string).

REXSYSTM

Thu Mar 30 2006
4:52:30pm
14,758 bytes
This header is my attempt at providing a set of routines to allow you to create a single rexx program which will run in multiple interpreters and operating systems. Currently supports standard OS/2 rexx and REGINA under Windows NT/95, OS/2, Unix & DOS.

This header is used by PPWIZARD as well as my URL checker.

If you are interested in this you will also want to check out my list of Regina bugs, features & differences from OS/2 rexx.

Crc32Rex

Sun Aug 4 2002
7:33:46am
6,145 bytes
This is a header file and example code for a pure rexx CRC32 routine (same as used by ZIP). On an Athlon 700 it can process approximately 29,000-100,000 characters per second (depends on data and its length).
AddComma

Mon Jun 24 2002
5:26:58pm
3,682 bytes
Routine to add commas to a decimal number (e.g. would convert "1234" to "1,234"). Handles sign as well as any decimals.
DUMPVAR

Tue Feb 5 2002
8:35:56pm
5,811 bytes
This routine will dump variables that appear in a rexx expression. This is handy in rexx trap handlers.
MD5

Thu Mar 22 2001
6:15:40pm
5,758 bytes
Pure rexx MD5 routine (produces a 128 bit hash from data).
BASEDATE

Fri Sep 17 2004
10:34:08am
5,931 bytes
Routine to calculate a basedate (julian) for any date you supply. It will return the same value as rexx's date('Basedate') routine for the current date. There is also a routine to get the basedate for a file. Basedates can be useful to see how old something is or to work out which is newer etc. Also contains routine to calculate a date from a basedate.
Crc16Rex

Sun Nov 19 2000
8:53:28am
5,859 bytes
This is a header file and example code for a pure rexx CRC16 routine. On a Pentium 100 it can process approximately 5,000 characters per second.
DEFINEIT

Mon Nov 13 2000
6:23:40pm
8,269 bytes
This header is my attempt at providing a set of routines to allow you to create a set of definitions and be able to make replacements in strings. It supplies the guts of the code required to implement your own #define commands with replacement syntax much like that used in PPWIZARD (parameter processing is optional).
KEYEDVAR

Sat Mar 25 2000
9:56:06pm
5,988 bytes

Made faster
and can
now handle
any length
keys

This is a header file and example code for a memory based keyed access mechanism. It can replace arrays for extremely fast access to data (no need to search array for it). The more data you pump in the higher the performance gain over an array.

If you currently search arrays for any reason this header file can probably help speed up your code.

REXXTRAP

Fri Nov 12 1999
3:32:56am
5,361 bytes
This header provides a rexx syntax and optionally uninitialized variable trap handlers. There are many options "COMPACT" produces simple short output or you can dump part of the source code and variables that are involved.
BULK_C2S

Sat Nov 6 1999
10:34:50pm
3,834 bytes
This routine will search & replace characters. It is similar to the rexx translate() routine except that it can convert characters to strings. It will also provide a count of changes.
CompStr

Wed Mar 31 1999
6:59:42am
3,350 bytes
Fix
This routine compares a string with a wildcard specification that you supply and it will tell you if they match or not. Note that the specifications are fairly basic, if you wish more complex compares you should use regular expression DLL.
FILETIME

Sun Mar 21 1999
5:57:40pm
4,093 bytes
Contains 2 routines, the first returns a Y2K safe sortable timestamp for a file (using existing non Y2K safe routine). This allows you to tell if one file is newer than another etc.

The second routine is a make like routine which can be passed a single "output" filename and any number of "input" filenames and it will tell you if the output needs remaking.

FILELOAD

Mon Feb 1 1999
3:40:50am
3,094 bytes
Simple and fast routine to read a file into a stem.
JUSTONE

Mon Feb 1 1999
3:40:52am
2,642 bytes
These routines will ensure that only one copy of a rexx program (or group of programs) runs at any one time. It could also be used to control access to a common resource.
LINECRLF

Thu Nov 1 2001
6:23:36pm
4,183 bytes
This is a header file and example code for a replacement linein() routine. It allows you to read CR+LF terminated lines that contain linefeeds (not expected to handle CRs as well).
QSORT

Mon Feb 1 1999
3:40:54am
4,470 bytes
This is a header file and example code for a sort routine which you can include one or more times in your source. Each time you can specify the array to be sorted as well as supplying a routine which will determine how the array is to be sorted.

PPWIZARD now comes with a header file called "PPWSORT.H", this can do much more than this routine, for example sort more than one array at a time and sorting as per your specification (no matter how complex). It also sorts much faster.

FastIni

Mon Feb 1 1999
3:40:50am
5,178 bytes
This is a header file and example program on the best way to use my FASTINI.DLL to greatly boost OS/2 rexx's SysIni() performance (hundreds of times faster).
Bin2Rexp

Sun May 16 1999
1:01:18am
3,897 bytes
This is a header file for a routine which can dump a value into a rexx expression (such as '00'x || 'chars').
Scramble

Thu May 7 1998
7:28:48pm
2,152 bytes
Routines to scramble & unscramble text strings. Allows simple encryption of data. Not suitable where high security required.
Field

Sat Apr 18 1998
12:04:10am
2,230 bytes
Routines to make displaying status information in fixed areas on a screen easier. You define fields, it memorises where they are and you update them as required. It requires the "PadStr.XH" header as well as support for ANSI control sequences (OS/2, Win 95/98/ME probably OK but WIN NT/2000 not).
PadStr

Sat Apr 18 1998
12:10:20am
1,140 bytes
Simple routine to pad a string to a specific length (not truncated if longer). You can center the string or left or right justify it.
MakeDir

Fri Apr 17 1998
11:30:44pm
1,310 bytes
This routine will make a directory tree. It will make as many directories as required to build the directory you specify.
LogIt

Fri Apr 17 1998
11:56:02pm
7,141 bytes
This header has sundry common logging & error handling routines. There are many options. It will handle rexx traps etc. It will log (if you wish) the results of calling external routines etc. It you wish a record of what happens when your procedure runs you should check out this header.



Made with my FREE PPWIZARD program (HTML preprocessor). Create MAINTAINABLE sites using templates. My site contains over 600 pages.
Unframe "rexxsrc.htm"

Saturday May 28 2022 at 3:15pm
Made with my FREE PPWIZARD program (HTML preprocessor). Create MAINTAINABLE sites using templates. My site contains over 600 pages.