home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rdebug21.zip
/
RCASE.KEX
< prev
next >
Wrap
Text File
|
1993-03-25
|
3KB
|
101 lines
/* RCASE.KEX 08-04-92 10:09 */
/* test seperately
signal on error
signal on halt
signal on syntax
*/
Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce /*P*/
Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
dbce '/FN/OPSYS'
dbme='rCASE'
dbsys=opsys.1
if dbsys='OS/2' then dbsys='OS2' /*O*/
If arg(1)=? Then Exit tell(dbme)
'COMMAND MSG' dbme 'will change some REXX/BAT words To mixed case.',
' Press Y to continue.'
'READV KEY'
parse upper value readv.1 with ans
if ans<>'Y' then exit
trace o?r
ret=0;
'COMMAND EXTRACT /FT/LINE/CASE/STAY/MSGMODE'
':0 COMMAND SET MSGMODE OFF';
'COMMAND SET STAY ON';
'COMMAND SET CASE MIXED RESPECT';
line=line.1
if ftype.1='BAT' then do
listold1 =' Assign Attrib Backup Break Call Chcp Chdir If For ',
' Cd Cdkdsk Cls Command Comp Copy Country Ctty Date Debug ',
' Del Dir Diskcomp Diskcopy Do Doskey Dosshell Echo @Echo Echo. Edit ',
' Edlin Erase Exit Expand Fastopen Fc Find Format Goto '
listold2 =' Help Join Keyb Label Loadfix Mem Mirror Mkdir Md Mode ',
' More Not Nlsfunc Path Pause Print Prompt Qbasic Recover Rem ',
' Rename Ren Replace Restore Rd Rmdir Set Setup Setver Share ',
' Shift Sort Subst Sys Time Tree Type Undelete Unformat Ver ',
' Verify Vol Xcopy '
end
else do
listold1 =' If Then Else Forever Do End To By For When While Until ',
' Otherwise Address Call Exit Leave Drop Nop Interpret Iterate ',
' Numeric Options Procedure Pull Push Queue Return Say '
listold2 =' Parse Arg External Source Version Expose On Off ',
' Select Signal Trace Upper Var Value With Xedit Cms Command '
end
lowercase = 'abcdefghijklmnopqrstuvwxyz'
parse Upper var lowercase Uppercase
listold1 = translate(listold1,lowercase,uppercase)
listold2 = translate(listold2,lowercase,uppercase)
list=listold1
Do 2
Do i=1 To words(list)
wordold=word(list,i)
wordupp =wordold
Upper wordupp
/*parse Upper var wordold wordupp*/
wordnew =left(wordupp,1)substr(wordold,2)
Call change '/ 'wordold' / 'wordnew' /* *';
Call change '/ 'wordold';/ 'wordnew';/**';
End;
list=listold2
End;
Do i=1 To words(listfunc)
wordold=word(listfunc,i)
wordnew=wordold
Call change '/'wordold'/'wordnew'/**';
End
if ftype.1='BAT' then nop
else do
/* Uppercase all program labels */
'COMMAND ALL /: /'
if rc=0 then do
'COMMAND UPPERCASE *'
'COMMAND CHANGE /RETURN/Return/*'
'COMMAND ALL'
end
end
'COMMAND SET STAY' stay.1
'COMMAND SET CASE' case.1 case.2
'COMMAND SET MSGMODE' msgmode.1
'COMMAND LOCATE :'line
If origin='exec' & ret>0
Then 'COMMAND PFILE' ret;
Else 'COMMAND EMSG' ret 'lines changed'
Exit
CHANGE:
Parse Arg string
'COMMAND CHANGE' string
'COMMAND EXTRACT /lastmsg'
Return
If dbsys='DOS'
Then Return
Else Parse Var lastmsg.1 n .;
If datatype(n,'w') Then ret=ret+n;
Return
ERROR: return -7 0 sigl rdbmsg(810 rc 'in line:' sigl ';')
HALT: return -7 0 sigl rdbmsg(820)
SYNTAX: return -7 0 sigl rdbmsg(830 rc 'in line:' sigl ';')