home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxfiles.zip / canon.bat next >
DOS Batch File  |  1998-10-06  |  4KB  |  104 lines

  1. /**/
  2.  
  3. call value 'RXCANON', '', 'DOSENVIRONMENT'
  4. call TEST
  5. say 'test with TRUENAME - press any key' ; call GETKEY
  6. call value 'RXCANON', 1, 'DOSENVIRONMENT'
  7. call TEST
  8. say 'test with RXCANON - press any key' ; call GETKEY
  9. exit
  10.  
  11. TEST: procedure
  12. say '+        =' TRUENAME( '+' )
  13. say '. .      =' TRUENAME( '. .' )
  14. say 'z:\zz    =' TRUENAME( 'z:\zz' )
  15. say '.\.\.    =' TRUENAME( '.\.\.' )
  16. say '.\nul    =' TRUENAME( '.\nul' )
  17. say 'x\y\z    =' TRUENAME( 'x\y\z' )
  18. say 'aOäÖß    =' TRUENAME( 'aOäÖß' )
  19. say '\dev\nul =' TRUENAME( '\dev\nul' )
  20. say 'C:\NUL   =' TRUENAME( 'C:\NUL' )
  21. say 'C:/NUL   =' TRUENAME( 'C:/NUL' )
  22. say '\nul     =' TRUENAME( '\nul' )
  23. say '/nul     =' TRUENAME( '/nul' )
  24. say 'nul      =' TRUENAME( 'nul' )
  25. say '/dev/nul =' TRUENAME( '/dev/nul' )
  26. say '\1       =' TRUENAME( '\1' )
  27. say '\\2      =' TRUENAME( '\\2' )
  28. say '//2      =' TRUENAME( '//2' )
  29. say '\\\3     =' TRUENAME( '\\\3' )
  30. return
  31.  
  32. DELETE: procedure               /********************************/
  33.    parse version 1 SYS 5 SAA .
  34.    if      SYS = 'KEXX' then do /* Mansfield KEDIT, an editor   */
  35.       'erase' arg(1) ; return rc <> 0
  36.    end
  37.    else if SAA = '/Personal'    /* Quercus PREXX (DOS or OS/2)  */
  38.       then    return dosdel( arg(1) ) = 0
  39.    else if SAA = 'SAA' then do  /* IBM SAA REXX implementations */
  40.       parse source SYS .
  41.       if SYS = 'DOS'
  42.          then return rxdelete( arg(1) ) <> 0         /* DOS  */
  43.       if SYS = 'OS/2' & RxFuncQuery( 'SysFileDelete' )
  44.          then return SysFileDelete( arg(1) ) <> 0    /* OS/2 */
  45.    end
  46.                                 /* BREXX, Regina, who knows...  */
  47.    'erase' arg(1) ; return rc <> 0                      /* ???? */
  48.  
  49. GETENV: procedure               /********************************/
  50.    parse version 1 SYS 5 SAA .
  51.    if      SYS = 'KEXX'         /* Mansfield KEDIT, an editor   */
  52.       then    return dosenv( arg(1) )
  53.    else if SAA = '/Personal'    /* Quercus PREXX (DOS or OS/2)  */
  54.       then    return dosenv( arg(1) )
  55.    else if SAA = 'SAA' then do  /* IBM SAA REXX implementations */
  56.       parse source SYS .
  57.       if SYS = 'DOS'                                    /* DOS  */
  58.          then return value( arg(1),, 'DOSENVIRONMENT' )
  59.       if SYS = 'OS/2'                                   /* OS/2 */
  60.          then return value( arg(1),, 'OS2ENVIRONMENT' )
  61.    end
  62.                                 /* BREXX, Regina, who knows...  */
  63.    return value( arg(1),, 'ENVIRONMENT' )               /* ???? */
  64.  
  65. GETKEY: procedure               /********************************/
  66.    parse version 1 SYS 5 SAA .
  67.    if      SYS = 'KEXX' then do /* Mansfield KEDIT, an editor   */
  68.       'readv key' ; return READV.2
  69.    end
  70.    else if SAA = '/Personal'    /* Quercus PREXX (DOS or OS/2)  */
  71.       then    return inkey()
  72.    else if SAA = 'SAA' then do  /* IBM SAA REXX implementations */
  73.       parse source SYS .
  74.       if SYS = 'DOS'                                    /* DOS  */
  75.          then return rxgetkey(  'noecho' )
  76.       if SYS = 'OS/2' & RxFuncQuery( 'SysGetKey' )      /* OS/2 */
  77.          then return SysGetKey( 'noecho' )
  78.    end
  79.                                 /* BREXX, Regina, who knows...  */
  80.    return charin()                                      /* ???? */
  81.  
  82. TRUENAME: procedure             /********************************/
  83.    parse version 1 NAME 5 .
  84.    TRUENAME = GETENV( 'TMP' ) || '\truename.tmp'
  85.  
  86.    if NAME = 'KEXX' then do     /* Mansfield KEDIT, an editor   */
  87.       if words( arg(1) ) <> 1 then return ''
  88.       'dosq truename' translate( arg(1), '\', '/' ) '>' TRUENAME
  89.       'kedit' TRUENAME '(noprofile'
  90.       if rc <> 0 then return ''
  91.       'locate :2' ; NAME = curline.3() ; 'qquit'
  92.    end
  93.    else if GETENV( 'RXCANON' ) = '1' then return RXCANON( arg(1) )
  94.    else do
  95.       if words( arg(1) ) <> 1 then return ''
  96.       'truename' translate( arg(1), '\', '/' ) '>' TRUENAME
  97.       call linein    TRUENAME
  98.       NAME = linein( TRUENAME )
  99.       call lineout   TRUENAME
  100.    end
  101.  
  102.    call DELETE  TRUENAME
  103.    return NAME
  104.