home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxcomm16.zip / RxInst.cmd < prev   
OS/2 REXX Batch file  |  1999-10-17  |  4KB  |  153 lines

  1. /**
  2.  * REXX Communication Control Function Library  Ver.1.6
  3.  *                  copyright 1998-1999, Naga(Kazuo Adachi)
  4.  *                          mailto:nagaw@ibm.net
  5.  *                          mailto:GDB00421@nifty.ne.jp
  6.  */
  7.  
  8. CALL RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
  9. CALL SysLoadFuncs
  10.  
  11. rc = SysCls()
  12. SAY ''
  13. SAY 'REXX Communication Control Function Library  Ver.1.6'
  14. SAY '                 copyright 1998-1999, Naga(Kazuo Adachi)'
  15. SAY ''
  16.  
  17. /** RxComm.dllé╠æ╢ì▌é≡èmöF
  18.  */
  19. rxcFile = STREAM('.\RxComm.dll','C','QUERY EXISTS')
  20. IF rxcFile = '' THEN
  21. DO
  22.     SAY ' RxComm.dllé¬î⌐é┬é⌐éΦé▄é╣é±. ô▒ôⁿé≡ÆåÄ~é╡é▄é╖.'
  23.     EXIT 1
  24. END
  25.  
  26. /** ô▒ôⁿɵâpâXé╠ĵô╛
  27.  */
  28. dllPath = SysSearchPath('LIBPATH','RxComm.dll')
  29. IF \(dllPath = '') THEN
  30. DO
  31.     dllPath = DELSTR(dllPath,LASTPOS('\',dllPath))
  32.     IF dllPath = DIRECTORY() THEN dllPath = ''
  33. END
  34. IF dllPath = '' THEN
  35. DO
  36.     cfgFile = VALUE('COMSPEC',,'OS2ENVIRONMENT')
  37.     IF SUBSTR(cfgFile,2,1) = ':' THEN
  38.     DO
  39.         cfgFile = SUBSTR(cfgFile,1,2)||'\CONFIG.SYS'
  40.         cfgLine = 0
  41.         DO WHILE LINES(cfgFile)
  42.             cfgLine = cfgLine + 1
  43.             cfgFile.cfgLine = LINEIN(cfgFile)
  44.             PARSE VAR cfgFile.cfgLine cfgEnv '=' cfgParam
  45.             IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
  46.             DO WHILE \(cfgParam = '')
  47.                 PARSE VAR cfgParam cfgPath ';' cfgParam
  48.                 IF POS(':\OS2\DLL', TRANSLATE(STRIP(cfgPath))) = 2 THEN
  49.                 DO
  50.                     dllPath = cfgPath
  51.                     LEAVE
  52.                 END
  53.             END
  54.         END
  55.         CALL LINEOUT cfgFile
  56.     END
  57. END
  58.  
  59. SAY ' RxComm.dllé≡ô▒ôⁿé╖éΘâfâBâîâNâgâèé≡ôⁿù═é╡é─ë║é│éó.'
  60. IF \(dllPath = '') THEN SAY ' Å╚ù¬é╖éΘé╞' dllPath 'é╔ô▒ôⁿé│éΩé▄é╖.'
  61. SAY ''
  62. DO UNTIL \(dllPath = '')
  63.     CALL CHAROUT , '=>'
  64.     PULL dirInput
  65.     IF \(dirInput = '') THEN dllPath = dirInput
  66. END
  67. SAY ''
  68.  
  69. /** ô▒ôⁿé╠ì┼ÅIèmöF
  70.  */
  71. SAY ' RxComm.dllé≡' dllPath 'é╔ô▒ôⁿé≡èJÄné╡é▄é╖.'
  72. SAY ' éµéδé╡éóé┼é╖é⌐? (Y/N)'
  73. SAY ''
  74. CALL CHAROUT , '=>'
  75. PULL ynInput
  76. IF POS(TRANSLATE(ynInput),'NO') = 1 THEN
  77. DO
  78.     SAY ' RxComm.dllé╠ô▒ôⁿé≡ÆåÄ~é╡é▄é╡é╜.'
  79.     EXIT 2
  80. END
  81. SAY ''
  82.  
  83. rxcPath = dllPath
  84.  
  85. /** RxComm.dllé╠ô▒ôⁿ
  86.  */
  87. IF SUBSTR(rxcPath,LENGTH(rxcPath),1) = '\' THEN rxcPath = DELSTR(rxcPath,LENGTH(rxcPath))
  88. rxcPath = rxcPath||'\'
  89. rxcDir  = SUBSTR(rxcPath,1,2)
  90. DO WHILE \(rxcDir = rxcPath)
  91.     rxcDir = SUBSTR(rxcPath,1,POS('\',rxcPath,LENGTH(rxcDir)+2))
  92.     rc = SysMkDir(DELSTR(rxcDir,LENGTH(rxcDir)))
  93. END
  94. rxcPath = DELSTR(rxcPath,LENGTH(rxcPath))
  95. rc = SysDestroyObject(rxcPath||'\RxComm.dll')
  96. rc = SysCopyObject(rxcFile,rxcPath)
  97. IF rc = 0 THEN
  98. DO
  99.     SAY ' RxComm.dllé≡' rxcPath 'é╔âRâsü[é╖éΘé▒é╞é¬é┼é½é▄é╣é±é┼é╡é╜.'
  100.     EXIT 3
  101. END
  102.  
  103. /** CONFIG.SYSé╠ÅCÉ│
  104.  */
  105. DO i=1 TO cfgLine
  106.     PARSE VAR cfgFile.i cfgEnv '=' cfgParam
  107.     IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
  108.     DO
  109.         DO WHILE \(cfgParam = '')
  110.             PARSE VAR cfgParam cfgPath ';' cfgParam
  111.             IF TRANSLATE(STRIP(cfgPath)) = TRANSLATE(STRIP(rxcPath)) THEN
  112.             DO
  113.                 rxcPath = ''
  114.             END
  115.         END
  116.     END
  117. END
  118. IF \(rxcPath = '') THEN
  119. DO
  120.     bakFile = VALUE('COMSPEC',,'OS2ENVIRONMENT')
  121.     bakFile = SUBSTR(bakFile,1,2)||'\CONFIG.RXC'
  122.     rc = SysDestroyObject(bakFile)
  123.     '@rename' cfgFile 'CONFIG.RXC'
  124.     CALL LINEIN cfgFile,1,0
  125.     DO i=1 TO cfgLine
  126.         PARSE VAR cfgFile.i cfgEnv '=' cfgParam
  127.         IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
  128.         DO
  129.             DO WHILE \(cfgParam = '')
  130.                 PARSE VAR cfgParam cfgPath ';' cfgParam
  131.                 IF TRANSLATE(STRIP(cfgPath)) = TRANSLATE(STRIP(rxcPath)) THEN
  132.                 DO
  133.                     rxcPath = ''
  134.                 END
  135.             END
  136.             IF \(rxcPath = '') THEN
  137.             DO
  138.                 IF SUBSTR(cfgFile.i,LENGTH(cfgFile.i),1) = ';' THEN cfgFile.i = DELSTR(cfgFile.i,LENGTH(cfgFile.i))
  139.                 cfgFile.i = cfgFile.i||';'||rxcPath||';'
  140.             END
  141.         END
  142.  
  143.         CALL LINEOUT cfgFile,cfgFile.i
  144.     END
  145. END
  146. CALL LINEOUT cfgFile
  147.  
  148. SAY ' RxComm.dllé≡û│Äû' dllPath 'é╔ô▒ôⁿè«ù╣é╡é▄é╡é╜.'
  149. IF \(rxcPath = '') THEN SAY ' É▌ÆΦé≡ùLî°é╔é╖éΘé╜é▀é╔é═ì─ïNô«é╡é─ë║é│éó.'
  150. SAY ''
  151.  
  152. EXIT
  153.