animal.rexx Did you think of an elephant? Good! Another play? File to save in (leave empty if you don't want to save)? block.rexx 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 dateconv.rexx This is the output from the "normal" Date() function Date('B') ===> 734813 Date('D') ===> 312 Date('E') ===> 07/11/12 Date('M') ===> November Date('N') ===> 7 Nov 2012 Date('O') ===> 12/11/07 Date('S') ===> 20121107 Date('U') ===> 11/07/12 Date('W') ===> Wednesday This is the output from the Date() conversion function Date('S','60','D') ===> 20120229 Date('N','03/06/96','E') ===> 3 Jun 1996 Date('N','06/03/96','U') ===> 3 Jun 1996 Date('N','96/06/03','O') ===> 3 Jun 1996 Date('N','19960603','S') ===> 3 Jun 1996 Date('E','12 Jun 1996','N') ===> 12/06/96 Date('E','3 Jun 1996','N') ===> 03/06/96 Date('B','19960603','S') ===> 728812 Date('B','19960704','S') ===> 728843 Date('B','00010101','S') ===> 0 Date('B','19000101','S') ===> 693595 Date('B','19890827','S') ===> 726340 Date('S','726340','B') ===> 19890827 Date('S','0','B') ===> 00010101 Date('S','000','B') ===> 00010101 Date('S','187','D') ===> 20120705 Date('S','1','D') ===> 20120101 Date('S','61','D') ===> 20120301 Date('S','60','D') ===> 20120229 Date('S','59','D') ===> 20120228 Date('S','58','D') ===> 20120227 Date('S','-3','D') ===> 20111228 Date('S','-2','D') ===> 20111229 Date('S','-1','D') ===> 20111230 Date('S','0','D') ===> 20111231 Date('S','456','D') ===> 20130331 Date('S','728715','B') ===> 19960227 Date('S','728716','B') ===> 19960228 Date('S','728717','B') ===> 19960229 Date('S','728718','B') ===> 19960301 Date('S','728719','B') ===> 19960302 Date('E','728685','B') ===> 28/01/96 Date('E','728686','B') ===> 29/01/96 Date('E','728687','B') ===> 30/01/96 Date('E','728688','B') ===> 31/01/96 Date('E','728689','B') ===> 01/02/96 Date('B','19960228','S') ===> 728716 Date('B','19960229','S') ===> 728717 Date('B','19960301','S') ===> 728718 Date('B','19960302','S') ===> 728719 Date('E','728905','B') ===> 04/09/96 Date('W','728905','B') ===> Wednesday Date('W','728906','B') ===> Thursday Year 2000 (and beyond) specific examples Date('N','03/06/99','E') ===> 3 Jun 1999 Date('N','06/03/99','U') ===> 3 Jun 1999 Date('N','99/06/03','O') ===> 3 Jun 1999 Date('N','03/06/00','E') ===> 3 Jun 2000 Date('N','06/03/00','U') ===> 3 Jun 2000 Date('N','00/06/03','O') ===> 3 Jun 2000 Date('N','03/06/01','E') ===> 3 Jun 2001 Date('N','06/03/01','U') ===> 3 Jun 2001 Date('N','01/06/03','O') ===> 3 Jun 2001 Date('S','750000','B') ===> 20540607 Date('B','20540607','S') ===> 750000 Date('N','25250101','S') ===> 1 Jan 2525 Date('W','25250101','S') ===> Monday dynfunc.rexx rxtest1 built Nov 7 2012 16:43:59 rxtest2 built Nov 7 2012 16:43:59 rxtest1(Test1Function1): Arg: 0 rxtest1(Test1Function1): Arg: 1 rxtest2(Test2Function1): Arg: 0 rxtest2(Test2Function1): Arg: 1 rxtest1(Test1Function2): Arg: 0 rxtest1(Test1Function2): Arg: 1 rxtest1(Test1Function2): Arg: 2 rxtest2(Test2Function2): Arg: 0 rxtest2(Test2Function2): Arg: 1 rxtest2(Test2Function2): Arg: 2 newstr.rexx This is the output from the COUNTSTR() function Countstr('','') ====> 0 Countstr('a','abcdef') ====> 1 Countstr('0','0') ====> 1 Countstr('a','def') ====> 0 Countstr('a','') ====> 0 Countstr('','def') ====> 0 Countstr('abc','abcdef') ====> 1 Countstr('abcdefg','abcdef') ====> 0 Countstr('abc','abcdefabccdabcd') ====> 3 This is the output from the CHANGESTR() function Changestr('a','fred','c') ====> fred Changestr('','','x') ====> Changestr('a','abcdef','x') ====> xbcdef Changestr('0','0','1') ====> 1 Changestr('a','def','xyz') ====> def Changestr('a','','x') ====> Changestr('','def','xyz') ====> def Changestr('abc','abcdef','xyz') ====> xyzdef Changestr('abcdefg','abcdef','xyz') ====> abcdef Changestr('abc','abcdefabccdabcd','z') ====> zdefzcdzd regutil.rexx SysWINVer Linux #1 SMP PREEMPT Tue Oct 23 05:10:09 CEST 2012.3.5.7-gentoo-JeR SysUtilVersion 3.6 Press Enter key when ready . . . rexxcps.rexx ----- REXXCPS 2.2 -- Measuring REXX clauses/second ----- REXX version is: REXX-Regina_3.6(MT) 5.00 31 Dec 2011 System is: UNIX Averaging: 10 measures of 30 iterations Performance: 2143194 REXX clauses per second timeconv.rexx This is the output from the "normal" Time() function Time('N') ===> 16:48:15 Time('C') ===> 4:48pm Time('O') ===> 3600000000 Time('S') ===> 60495 Time('L') ===> 16:48:14.553254 Time('M') ===> 1008 Time('H') ===> 16 This is the output from the Time() conversion function Time('L','12:45:04','N') ===> 12:45:04.000000 Time('S','12:45:04','N') ===> 45904 Time('N','45904','S') ===> 12:45:04 Time('L','12:50am','C') ===> 00:50:00.000000 Time('L','12:50pm','C') ===> 12:50:00.000000 Time('L','00:50am','C') ===> 00:50:00.000000 Time('L','02:50pm','C') ===> 14:50:00.000000 Time('L','10','H') ===> 10:00:00.000000 Time('L','000','H') ===> 00:00:00.000000 Time('L','12','M') ===> 00:12:00.000000 Time('L','121','M') ===> 02:01:00.000000 Time('L','12','S') ===> 00:00:12.000000 Time('L','8192','S') ===> 02:16:32.000000 Time('E','8192','S') ===> .000000 Time('L','12:45:04.345673','L' ===> 12:45:04.345673 Time('N','12:45:04','N') ===> 12:45:04 Time('S','45904','S') ===> 45904 Time('H','10','H') ===> 10 Time('M','10','M') ===> 10 Time('C','12:50am','C') ===> 12:50am Time('C','12:50pm','C') ===> 12:50pm Time('C','02:50am','C') ===> 2:50am Time('C','02:50pm','C') ===> 2:50pm