home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rxcomm16.zip
/
RxInst.cmd
< prev
Wrap
OS/2 REXX Batch file
|
1999-10-17
|
4KB
|
153 lines
/**
* REXX Communication Control Function Library Ver.1.6
* copyright 1998-1999, Naga(Kazuo Adachi)
* mailto:nagaw@ibm.net
* mailto:GDB00421@nifty.ne.jp
*/
CALL RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
CALL SysLoadFuncs
rc = SysCls()
SAY ''
SAY 'REXX Communication Control Function Library Ver.1.6'
SAY ' copyright 1998-1999, Naga(Kazuo Adachi)'
SAY ''
/** RxComm.dllé╠æ╢ì▌é≡èmöF
*/
rxcFile = STREAM('.\RxComm.dll','C','QUERY EXISTS')
IF rxcFile = '' THEN
DO
SAY ' RxComm.dllé¬î⌐é┬é⌐éΦé▄é╣é±. ô▒ôⁿé≡ÆåÄ~é╡é▄é╖.'
EXIT 1
END
/** ô▒ôⁿɵâpâXé╠ĵô╛
*/
dllPath = SysSearchPath('LIBPATH','RxComm.dll')
IF \(dllPath = '') THEN
DO
dllPath = DELSTR(dllPath,LASTPOS('\',dllPath))
IF dllPath = DIRECTORY() THEN dllPath = ''
END
IF dllPath = '' THEN
DO
cfgFile = VALUE('COMSPEC',,'OS2ENVIRONMENT')
IF SUBSTR(cfgFile,2,1) = ':' THEN
DO
cfgFile = SUBSTR(cfgFile,1,2)||'\CONFIG.SYS'
cfgLine = 0
DO WHILE LINES(cfgFile)
cfgLine = cfgLine + 1
cfgFile.cfgLine = LINEIN(cfgFile)
PARSE VAR cfgFile.cfgLine cfgEnv '=' cfgParam
IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
DO WHILE \(cfgParam = '')
PARSE VAR cfgParam cfgPath ';' cfgParam
IF POS(':\OS2\DLL', TRANSLATE(STRIP(cfgPath))) = 2 THEN
DO
dllPath = cfgPath
LEAVE
END
END
END
CALL LINEOUT cfgFile
END
END
SAY ' RxComm.dllé≡ô▒ôⁿé╖éΘâfâBâîâNâgâèé≡ôⁿù═é╡é─ë║é│éó.'
IF \(dllPath = '') THEN SAY ' Å╚ù¬é╖éΘé╞' dllPath 'é╔ô▒ôⁿé│éΩé▄é╖.'
SAY ''
DO UNTIL \(dllPath = '')
CALL CHAROUT , '=>'
PULL dirInput
IF \(dirInput = '') THEN dllPath = dirInput
END
SAY ''
/** ô▒ôⁿé╠ì┼ÅIèmöF
*/
SAY ' RxComm.dllé≡' dllPath 'é╔ô▒ôⁿé≡èJÄné╡é▄é╖.'
SAY ' éµéδé╡éóé┼é╖é⌐? (Y/N)'
SAY ''
CALL CHAROUT , '=>'
PULL ynInput
IF POS(TRANSLATE(ynInput),'NO') = 1 THEN
DO
SAY ' RxComm.dllé╠ô▒ôⁿé≡ÆåÄ~é╡é▄é╡é╜.'
EXIT 2
END
SAY ''
rxcPath = dllPath
/** RxComm.dllé╠ô▒ôⁿ
*/
IF SUBSTR(rxcPath,LENGTH(rxcPath),1) = '\' THEN rxcPath = DELSTR(rxcPath,LENGTH(rxcPath))
rxcPath = rxcPath||'\'
rxcDir = SUBSTR(rxcPath,1,2)
DO WHILE \(rxcDir = rxcPath)
rxcDir = SUBSTR(rxcPath,1,POS('\',rxcPath,LENGTH(rxcDir)+2))
rc = SysMkDir(DELSTR(rxcDir,LENGTH(rxcDir)))
END
rxcPath = DELSTR(rxcPath,LENGTH(rxcPath))
rc = SysDestroyObject(rxcPath||'\RxComm.dll')
rc = SysCopyObject(rxcFile,rxcPath)
IF rc = 0 THEN
DO
SAY ' RxComm.dllé≡' rxcPath 'é╔âRâsü[é╖éΘé▒é╞é¬é┼é½é▄é╣é±é┼é╡é╜.'
EXIT 3
END
/** CONFIG.SYSé╠ÅCÉ│
*/
DO i=1 TO cfgLine
PARSE VAR cfgFile.i cfgEnv '=' cfgParam
IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
DO
DO WHILE \(cfgParam = '')
PARSE VAR cfgParam cfgPath ';' cfgParam
IF TRANSLATE(STRIP(cfgPath)) = TRANSLATE(STRIP(rxcPath)) THEN
DO
rxcPath = ''
END
END
END
END
IF \(rxcPath = '') THEN
DO
bakFile = VALUE('COMSPEC',,'OS2ENVIRONMENT')
bakFile = SUBSTR(bakFile,1,2)||'\CONFIG.RXC'
rc = SysDestroyObject(bakFile)
'@rename' cfgFile 'CONFIG.RXC'
CALL LINEIN cfgFile,1,0
DO i=1 TO cfgLine
PARSE VAR cfgFile.i cfgEnv '=' cfgParam
IF 'LIBPATH' = TRANSLATE(STRIP(cfgEnv)) THEN
DO
DO WHILE \(cfgParam = '')
PARSE VAR cfgParam cfgPath ';' cfgParam
IF TRANSLATE(STRIP(cfgPath)) = TRANSLATE(STRIP(rxcPath)) THEN
DO
rxcPath = ''
END
END
IF \(rxcPath = '') THEN
DO
IF SUBSTR(cfgFile.i,LENGTH(cfgFile.i),1) = ';' THEN cfgFile.i = DELSTR(cfgFile.i,LENGTH(cfgFile.i))
cfgFile.i = cfgFile.i||';'||rxcPath||';'
END
END
CALL LINEOUT cfgFile,cfgFile.i
END
END
CALL LINEOUT cfgFile
SAY ' RxComm.dllé≡û│Äû' dllPath 'é╔ô▒ôⁿè«ù╣é╡é▄é╡é╜.'
IF \(rxcPath = '') THEN SAY ' É▌ÆΦé≡ùLî°é╔é╖éΘé╜é▀é╔é═ì─ïNô«é╡é─ë║é│éó.'
SAY ''
EXIT