home *** CD-ROM | disk | FTP | other *** search
- /* 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 ';')
-