home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxcomm16.zip / samples / RxNIFTY.cmd < prev    next >
OS/2 REXX Batch file  |  1999-05-22  |  5KB  |  195 lines

  1. /**
  2.  * REXX Communication Control Function Library  Ver.1.1
  3.  *                  copyright 1998-1999, Naga(Kazuo Adachi)
  4.  *                          mailto:nagaw@ibm.net
  5.  *                          mailto:GDB00421@nifty.ne.jp
  6.  *
  7.  * $Id$
  8.  *
  9.  * $Log$
  10.  */
  11.  
  12. CALL RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
  13. CALL SysLoadFuncs
  14.  
  15. CALL RxFuncAdd 'RxCommLoadFuncs','RxComm','RxCommLoadFuncs'
  16. CALL RxCommLoadFuncs
  17.  
  18. /**
  19.  * Setup Communication Parameter
  20.  */
  21. iniFile   = 'RxNIFTY.ini'
  22. iniMode   = 0
  23. comPort   = 'COM1'
  24. comBaud   = 115200
  25. comDial   = 'ATDT'
  26. comInit.0 = 0
  27.  
  28. LINEIN( iniFile, 1, 0 )
  29. DO WHILE LINES( iniFile )
  30.     iniLine = LINEIN( iniFile )
  31.     IF POS( '//', iniLine ) > 0 THEN iniLine = DELSTR( iniLine, POS( '//', iniLine ) )
  32.     IF POS( '[' , iniLine ) = 1 THEN
  33.     DO
  34.         IF '[Æ╩ÉMÉ▌ÆΦ]' = iniLine THEN iniMode = 1
  35.                                   ELSE iniMode = 0
  36.     END
  37.     ELSE
  38.     IF iniMode = 1 THEN
  39.     DO
  40.         PARSE VAR iniLine iniName '=' iniVals
  41.         iniName = STRIP( iniName )
  42.         iniVals = STRIP( iniVals )
  43.         SELECT
  44.             WHEN iniName = 'comInit' THEN
  45.             DO
  46.                 addInit = comInit.0 + 1
  47.                 comInit.0 = addInit
  48.                 comInit.addInit = iniVals
  49.             END
  50.             WHEN iniName = 'comPort' THEN comPort = iniVals
  51.             WHEN iniName = 'comBaud' THEN comBaud = iniVals
  52.             WHEN iniName = 'comDial' THEN comDial = iniVals
  53.             WHEN iniName = 'dialNo'  THEN dialNo  = iniVals
  54.             WHEN iniName = 'userID'  THEN userID  = iniVals
  55.             WHEN iniName = 'passwd'  THEN passwd  = iniVals
  56.             OTHERWISE
  57.         END
  58.     END
  59. END
  60.  
  61. logFile   = 'NIF'||SUBSTR(DATE('S'),5)||'.LOG'
  62.  
  63. /**
  64.  * COM Port Device Open
  65.  */
  66. rc = RxCommOption( 'NULL_STRIP', 'ON' )
  67. rc = RxCommOpen( comPort, comBaud, '8N1', 'RTS/CTS XON/XOFF' )
  68. IF rc <> 0 THEN
  69. DO
  70.     SAY 'COMâ|ü[âgé╠âIü[âvâôé╔Ä╕ösé╡é▄é╡é╜!!'
  71.     EXIT
  72. END
  73.  
  74. SAY 'Let''s Start Communication!!'
  75.  
  76. /*--------------------------------------------------------*/
  77. /**
  78.  * Initialyzing Modem.
  79.  */
  80. DO i = 1 TO comInit.0
  81.     CALL rxcInit comInit.i
  82.     IF RESULT <> 0 THEN
  83.     DO
  84.         SAY 'âéâfâÇé╠Åëè·ë╗é╔Ä╕ösé╡é▄é╡é╜üB'
  85.         EXIT
  86.     END
  87. END
  88.  
  89.  
  90. /*--------------------------------------------------------*/
  91. /**
  92.  * Dial-up NIFTY FENICS-ROAD
  93.  */
  94. CALL rxcDial comDial, dialNo
  95. IF RESULT <> 0 THEN
  96. DO
  97.     SAY 'ë±Éⁿé╠É┌æ▒é╔Ä╕ösé╡é▄é╡é╜üB'
  98.     EXIT
  99. END
  100.  
  101. rc = RxCommLog( logFile )
  102.  
  103. /*--------------------------------------------------------*/
  104. /**
  105.  * Log-on NIFTY-Serve
  106.  */
  107. CALL nifLogin userID, passwd
  108.  
  109. SAY '----- YES! welcome to NIFTY-Serve! -----'
  110.  
  111. getMail = 0
  112. getNews = 0
  113. cmdMenu = 0
  114. DO FOREVER
  115.     rc = RxCommRead()
  116.     /* NIFTYé╚éτé┼é═é╠Åêù¥é╛é╚éƒ(^_^; */
  117.     DO WHILE POS( '00'x, rc ) > 0
  118.         rc = DELSTR( rc, POS( '00'x, rc ), 1 )
  119.     END
  120.     CALL CHAROUT , rc
  121.  
  122.     SELECT
  123.         WHEN POS( 'Æ╩ô═éóé─éóé▄é╖üiûóô╟ò¬', rc ) > 0
  124.             THEN
  125.             getMail = 1
  126.         WHEN POS( 'ìíÅTé╠é¿Æméτé╣    NEW' , rc ) = 1
  127.             THEN
  128.             getNews = 1
  129.         WHEN POS( 'NIFTY-Serve     TOP'   , rc ) = 1
  130.             THEN
  131.             cmdMenu = 1
  132.         WHEN rc = 'üä'
  133.             THEN
  134.             LEAVE
  135.         OTHERWISE
  136.     END
  137. END
  138.  
  139. /*--------------------------------------------------------*/
  140. /**
  141.  * é▒é▒é╔ NIFTY é╠Ä⌐ô«Åäë±â}âNâìé≡!!
  142.  */
  143. iniMode = 0
  144.  
  145. LINEIN( iniFile, 1, 0 )
  146. DO WHILE LINES( iniFile )
  147.     iniLine = LINEIN( iniFile )
  148.     IF POS( '//', iniLine ) > 0 THEN iniLine = DELSTR( iniLine, POS( '//', iniLine ) )
  149.     IF POS( '[' , iniLine ) = 1 THEN
  150.     DO
  151.         IF '[Åäë±É▌ÆΦ]' = iniLine THEN iniMode = 1
  152.                                   ELSE iniMode = 0
  153.     END
  154.     ELSE
  155.     IF iniMode = 1 THEN
  156.         IF POS( '*', iniLine ) = 1 THEN
  157.         DO
  158.             iniLine = DELSTR( iniLine, 1, 1 )
  159.             rc = RxCommWrite( iniLine )
  160.             CALL waitMain
  161.         END
  162.     DO
  163.     END
  164. END
  165.  
  166. /*--------------------------------------------------------*/
  167. /**
  168.  * Log-off NIFTY-Serve
  169.  */
  170. CALL nifLogof
  171.  
  172. SAY 'Stop Communication!'
  173.  
  174. rc = RxCommClose()
  175.  
  176. EXIT
  177.  
  178. /*--------------------------------------------------------*/
  179. /**
  180.  * Sub-routines for  NIFTY-Serve
  181.  */
  182. waitMain:
  183. DO FOREVER
  184.     rc = RxCommRead()
  185.     /* NIFTYé╚éτé┼é═é╠Åêù¥é╛é╚éƒ(^_^; */
  186.     DO WHILE POS( '00'x, rc ) > 0
  187.         rc = DELSTR( rc, POS( '00'x, rc ), 1 )
  188.     END
  189.     CALL CHAROUT , rc
  190.  
  191.     IF rc = 'üä' THEN LEAVE
  192. END
  193. RETURN
  194.  
  195.