/* REXX ***************************************************************/ /* -------------------------------------------------------------------*/ /* Name: BIG */ /* Short: Creates Capital Letters (7 lines) */ /* Type: REXX-Macro */ /* Author: Norbert Haas */ /* Syntax: BIG text (Prim„rkommando) und */ /* a/b (Linekommando) */ /* Parameter: text = String (max 10 chars, without Blanks) */ /* Chars: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z */ /* 0 1 2 3 4 5 6 7 8 9 */ /* ! $ % & / ( ) = + * - . : # , ; _ ? */ /* Example: BIG 'upro' */ /* BIG here */ /* */ /* EEEEEEE X X AAAAA M M PPPPPP L EEEEEEE */ /* E X X A A MM MM P P L E */ /* E X X A A M M M M P P L E */ /* EEEEEE X A A M M M PPPPPP L EEEEEE */ /* E X X AAAAAAA M M P L E */ /* E X X A A M M P L E */ /* EEEEEEE X X A A M M P LLLLLLL EEEEEEE */ /* */ /* Remarks: none */ /* */ /* Version Autor Datum Anlass */ /* --------- ------------- --------- -------------------------------- */ /* V01.02 N.Haas 28.05.03 remarks in english */ /* V01.01 N.Haas 06.02.03 | ersetzt durch KONKAT() */ /* V01.00 N.Haas 15.06.92 Erstellung */ /**********************************************************************/ "ISREDIT MACRO (parm) NOPROCESS" "ISPEXEC CONTROL ERRORS RETURN" /* translate parm to caps ------------------------------------------- */ parm = TRANSLATE(parm) /* parameter existe? ------------------------------------------------ */ IF parm = '' THEN DO zedsmsg = 'PARAMETER MISSING' zedlmsg = 'MACRO BIG NEEDS AT LEAST ONE CHARACTER TO WORK WITH.' "ISPEXEC SETMSG MSG(ISRZ001)" EXIT -8 END /* parameter ok ? --------------------------------------------------- */ parm = STRIP(parm,,"'") maxlen = 10 len = LENGTH(parm) IF len > maxlen THEN DO zedsmsg = 'PARAMETER TO LONG' zedlmsg = 'PARAMETER IS NOT ALLOWED TO BE LONGER THAN 10 CHARS.' "ISPEXEC SETMSG MSG(ISRZ001)" EXIT -8 END /* linecommand A or B exists? --------------------------------------- */ "ISREDIT PROCESS DEST" IF rc > 0 THEN DO zedsmsg = 'BIG PENDING' zedlmsg = 'AN "A" or "B" LINE COMMAND HAS NOT BEEN', 'SPECIFIED.' "ISPEXEC SETMSG MSG(ISRZ001)" EXIT -8 END /* destination ..................------------------------------------ */ "ISREDIT (line) = LINENUM .ZDEST" /* init chars ------------------------------------------------------- */ CALL Define /* distribute ------------------------------------------------------- */ DO i = 1 TO len found = 0 DO j = 1 to a.0 WHILE (found = 0) IF SUBSTR(a.j,1,1) = SUBSTR(parm,i,1) THEN DO DO k = 1 to 7 /* b.k = b.k || SUBSTR(a.j,3+(k-1)*7,7) || ' ' */ b.k = KONKAT(b.k, SUBSTR(a.j,3+(k-1)*7,7), ' ') END found = 1 END END IF found = 0 THEN DO zedsmsg = 'PARAMETER WRONG' zedlmsg = 'AT LEAST ONE CHARACTER IS WRONG.' "ISPEXEC SETMSG MSG(ISRZ001)" EXIT -8 END END /* write chars ------------------------------------------------------ */ cntr = 0 DO i = 1 to 7 zeile = b.i "ISREDIT LINE_AFTER" line "= (zeile)" cntr = cntr + 1 line = line + 1 END /* message ---------------------------------------------------------- */ zedsmsg = "BIG FINISHED" zedlmsg = "CHARS '"parm"' ADDED INTO DATA." "ISPEXEC SETMSG MSG(ISRZ000)" /* Ente Ente Ente Ente Ente Ente Ente Ente Ente Ente Ente Ente Ente - */ EXIT 0 /* ================================================================== */ /* init chars ------------------------------------------------------- */ Define: a.0 =54 a.1 ='A! AAAAA A AA AA AAAAAAAAA AA A' a.2 ='B!BBBBBB B BB BBBBBBB B BB BBBBBBB ' a.3 ='C! CCCCC C CC C C C C CCCCC ' a.4 ='D!DDDDDD D DD DD DD DD DDDDDDD ' a.5 ='E!EEEEEEEE E EEEEEE E E EEEEEEE' a.6 ='F!FFFFFFFF F FFFFFF F F F ' a.7 ='G! GGGGG G GG GGGGGGGG GG G GGGGG ' a.8 ='H!H HH HH HHHHHHHHH HH HH H' a.9 ='I! IIIII I I I I I IIIII ' a.10='J!JJJJJJ J J J J J JJJJ ' a.11='K!K K K K K K KKK K K K K K K ' a.12='L!L L L L L L LLLLLLL' a.13='M!M MMM MMM M M MM M MM MM MM M' a.14='N!N NNN NN N NN N NN N NN NNN N' a.15='O! OOOOO O OO OO OO OO O OOOOO ' a.16='P!PPPPPP P PP PPPPPPP P P P ' a.17='Q! QQQQQ Q QQ QQ QQ Q QQ QQ QQQQQQ' a.18='R!RRRRRR R RR RRRRRRR R R R R R R' a.19='S! SSSSS S SS SSSSS SS S SSSSS ' a.20='T!TTTTTTT T T T T T T ' a.21='U!U UU UU UU UU UU U UUUUU ' a.22='V!V VV VV VV V V V V V V ' a.23='W!W WW WW WW W WW W W WWW WWW W' a.24='X!X X X X X X X X X X X X X' a.25='Y!Y YY Y Y Y Y Y Y Y Y ' a.26='Z!ZZZZZZZ Z Z Z Z Z ZZZZZZZ' a.27='0! 00000 0 000 0 00 0 00 0 000 0 00000 ' a.28='1! 1 11 1 1 1 1 1 11111 ' a.29='2! 22222 2 2 2 2 2 2 2222222' a.30='3! 33333 3 3 3 3333 33 3 33333 ' a.31='4! 4 44 4 4 4 4 4444444 4 4 ' a.32='5!55555555 5 555555 5 5 55555 ' a.33='6! 66666 6 6 66666666 66 6 66666 ' a.34='7!7777777 7 7 7 7 7 7 ' a.35='8! 88888 8 88 8 88888 8 88 8 88888 ' a.36='9! 99999 9 99 9 999999 9 9 99999 ' a.37='!! !! !! !! !! !! !! ' a.38='$! $ $$$$$ $ $ $$$$$ $ $ $$$$$ $ ' a.39='%!%% %%% % % % % % %%% %%' a.40='&! &&&& & & & & && & & & & & && &' a.41='/! / / / / / / / ' a.42='(! ( ( ( ( ( ( ( ' a.43=')! ) ) ) ) ) ) ) ' a.44='=! ======= ======= ' a.45='+! + + +++++ + + ' a.46='*! * * * * * * *** * * * * * * ' a.47='-! ----- ' a.48='.! .. .. ' a.49=':! :: :: :: :: ' a.50='#! # # ##### # # ##### # # ' a.51=',! ,, ,, ,, ' a.52=';! ;; ;; ;; ' a.53='_! _______' a.54='?! ????? ? ? ? ? ? ? ' b.1 = '' b.2 = '' b.3 = '' b.4 = '' b.5 = '' b.6 = '' b.7 = '' RETURN