home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 January / VPR9701B.ISO / guiterm / pcnavi / taiyou / signup.pr_ / signup.pr
Text File  |  1996-07-02  |  7KB  |  296 lines

  1. path = "\\\\SKY1\\NAVI\\SRC\\SRC160\\SIGN\\"
  2. TelNum = "0120-00-9896"
  3. ;=
  4. ;============================================================
  5. ;============================================================
  6. ;============================================================
  7. ;============================================================
  8.  
  9. ;;; 「サインアップ実行」ダイアログの中止ボタンが押されたかを知るのに追加
  10. ;;; 96/03/13 NIS Fukagawa {
  11. declare "CommandParam" "NAV.DLL" STR STR
  12. ;;; } 96/03/13 NIS Fukagawa
  13.  
  14. goto Entry
  15.  
  16. ;; subroutines
  17.  
  18. ; ハングアップ
  19. Hangup:
  20.     wait 2
  21.     sendstr "+++"
  22.     wait 2
  23.     sendstr "ath\r"
  24.     return  
  25.     
  26. ; log ファイルに '*' を書き込む
  27. ; (この数により exe はサインアップの進行状況を判断する)
  28. LogCheck:
  29.     open 3 log APPEND
  30.     write 3 "*"
  31.     close 3
  32.     return
  33.  
  34. ;;; 96/03/13 NIS Fukagawa {
  35. ; 「中止」ボタンが押されたかをチェックする
  36. StopCheck:
  37.     CommandParam "signupStop" signupStop
  38.     if (signupStop != "")
  39.     then
  40.         goto ClickedStop
  41.     endif
  42.     return
  43. ;;; } 96/03/13 NIS Fukagawa
  44.  
  45. ;; サインアップスタート
  46.  
  47. Entry:
  48.     ; set i/o file name
  49.     dat = path + "signup.dat"
  50.     rsp = path + "signup.rsp"
  51.     log = path + "signup.log"
  52.     tmp = path + "signup.tmp"
  53.     inf = path + "signup.inf"
  54.  
  55.     ;; 各変数の初期設定
  56.  
  57.     ; 発行される ID とパスワード用の変数
  58.     ; (ナビの初期化ファイルに書き込むときは inf ファイルから
  59.     ; 取得しているので、実際にはこの変数の値は使用していない)
  60.     passStr = ""
  61.     idStr = ""
  62.  
  63.     ; 送信データ格納用の変数
  64.     string = ""
  65.     ; エラーメッセージ用の変数
  66.     errStr = ""
  67.  
  68. ;;; 96/03/13 NIS Fukagawa {
  69.     ; 「中止」ボタンが押されたかの判断用変数
  70.     ; デフォルトは ""。押されると "CLICKED" がセットされる
  71.     signupStop = ""
  72. ;;; } 96/03/13 NIS Fukagawa
  73.  
  74.     ; 転送用データファイル dat のファイル名を出力
  75.     print dat + CRLF;
  76.  
  77.     ; check datafile existence
  78.     open 1 dat READ
  79.     open 2 rsp WRITE
  80.  
  81.     open 3 log WRITE
  82.     close 3
  83.  
  84.     ; set protocol
  85.     protocol "N81NN"
  86.  
  87. ;;; 通信速度の設定は本体の方で行うように修正
  88. ;;; 96/05/24 NIS Fukagawa {
  89. ;;    speed 2400
  90. ;;; } 96/05/24 NIS Fukagawa
  91.  
  92. ;---------------------------------------------
  93.     ; モデムの初期化処理
  94.     InitStr = ""
  95.     timeout 2
  96.     send "ATE1Q0V1"+CR
  97.     cases "OK"     "ERR"
  98.     goto MODEM_INIT MODEM_INIT *
  99.     timeout 3
  100.     send "+++"
  101.     cases "OK"
  102.     goto  *    L_Modem_Error
  103.     send "ATH0"+CR
  104.     cases "OK"
  105.     goto  MODEM_INIT L_Modem_Error
  106. L_Modem_Error:
  107.     errStr = "モデムの初期化に失敗しました"
  108.     goto    ErrorDetect
  109. MODEM_INIT:
  110.     print "Modem Init ..%s(%s)\r\n", InitStr, UMODEM
  111.     if strlen(InitStr) == 0 
  112.     then
  113.         send UMODEM+CR
  114.     else
  115.         send "AT"+InitStr+CR
  116.     endif
  117.     cases "OK"
  118.     goto  L_AutoDial_Start *
  119.     if InitStr == "X3" then
  120.         errStr = "モデムの初期化に失敗しました"
  121.         goto    ErrorDetect
  122.     endif
  123.     InitStr = "X3"
  124.     goto MODEM_INIT
  125.  
  126. L_AutoDial_Start:
  127. ;-----------------------------------------------
  128.  
  129.     loginCount = 0
  130.     errStr = "センターとの接続に失敗しました"
  131.     autodial UPBX+TelNum "" "" 5 60
  132.     goto * ErrorDetect ErrorDetect
  133.  
  134. ;;; 96/03/13 NIS Fukagawa {
  135.     ; 「中止」ボタンが押されたかをチェック
  136.     gosub StopCheck
  137. ;;; } 96/03/13 NIS Fukagawa
  138.     gosub LogCheck
  139.  
  140.     wait 3
  141.     sendstr "VANPCINFO\r"
  142. ;;; リリース時は "timeout 20" です。それ以外は修正してください
  143. ;;;    timeout 60
  144.     timeout 20
  145.  
  146. signupLoop:
  147.     cases   "ダサイ=" "(Q)=" "(G,Q)=" "(YES,Q)=" "入力内容に誤りがあります" "このIDは既に使用されております" "このIDではご利用になれません" "ご入会頂けません" "18才未満は"
  148.     goto    *       *      *        Complete   ErrorDetect                ErrorDupID                         ErrorID                          CannotEntry        Younger        TimeoutHost
  149.     
  150. ;;; 96/03/13 NIS Fukagawa {
  151.     ; 「中止」ボタンが押されたかのチェック
  152.     gosub StopCheck
  153. ;;; } 96/03/13 NIS Fukagawa
  154.  
  155.     ; read a line from file
  156.     read 1 string
  157.     wait 1
  158.     sendstr string
  159.     errStr = "入力内容の誤り:" + string
  160.     gosub LogCheck
  161.  
  162.     goto signupLoop
  163.     
  164. ; サインアップデータの送信終了
  165. Complete:
  166.     ; この download はリリース用です
  167.     ; もしコメントアウトされていたら、必ず有効にしてください
  168.     ; また、これ以外の "download tmp" が存在する場合は無効にすること
  169.     download tmp;
  170.  
  171. ;;; 96/03/13 NIS Fukagawa {
  172.     ; 「中止」ボタンが押されたかをチェック
  173.     gosub StopCheck
  174. ;;; } 96/03/13 NIS Fukagawa
  175.  
  176.     sendstr "YES\r"
  177.  
  178. postLoop:
  179.     cases   "リターンキーを押して下さい=" "あなたのID : " "仮パスワード : " "(N,B,Q)="
  180.     goto    *   GetId   GetPass LogOut  TimeoutHost
  181.     sendstr "\r"
  182.  
  183. ;;; 96/03/13 NIS Fukagawa {
  184.     ; 「中止」ボタンが押されたかをチェック
  185.     gosub StopCheck
  186. ;;; } 96/03/13 NIS Fukagawa
  187.  
  188.     gosub LogCheck
  189.     goto postLoop
  190.  
  191. ; 発行された ID を取得する
  192. GetId:
  193.     input idStr RS
  194.     goto postLoop
  195.     
  196. ; 発行されたパスワードを取得する
  197. GetPass:
  198.     input passStr RS
  199.     goto postLoop
  200.  
  201. ; サインアップ完了時の処理
  202. LogOut:
  203.     download close
  204.  
  205.     sendstr "Q\r"
  206.     cases   "NO CARRIER"    "SEE YOU AGAIN"
  207.     goto    LogOut1         LogOut1         *
  208.     gosub   Hangup
  209.  
  210. LogOut1:
  211.     write 2 "OK\n"
  212.     write 2 idStr
  213.     write 2 "\n"
  214.     write 2 passStr
  215.     write 2 "\n"
  216.     
  217. Entry2:
  218.     ; update tmp file
  219.     open 3 tmp READ
  220.     open 4 inf WRITE
  221.     
  222.     read 3 string
  223.     read 3 string
  224.     while string != ""
  225.         str2 = left(string, 10);
  226.         if str2 == " これから" then
  227.             read 3 string
  228.             read 3 string
  229.             read 3 string
  230.             read 3 string
  231.         else 
  232.         if str2 == "次に、PC" then
  233.             while string != ""
  234.                 read 3 string
  235.             wend
  236.         else
  237.             write 4 string
  238.             read 3 string
  239.         endif
  240.         endif
  241.     wend
  242.     close 3
  243.     close 4
  244.  
  245.     goto Terminate  
  246.     
  247.  
  248. ;; エラー処理
  249.  
  250. TimeoutHost:
  251.     errStr = "センターの応答が有りません"
  252.     goto ErrorDetect
  253.     
  254. ;;; 96/03/13 NIS Fukagawa {
  255. ClickedStop:
  256.     errStr = "「中止」ボタンが押されました"
  257. ;;;    MsgBox "「中止」ボタンが押されました" 0 0
  258.     goto ErrorDetect
  259. ;;; } 96/03/13 NIS Fukagawa
  260.  
  261. ErrorDupID:
  262.     errStr = "優待IDは既に使用されています"
  263.     goto ErrorDetect
  264.     
  265. ErrorID:
  266.     errStr = "優待IDの値が不正です"
  267.     goto ErrorDetect
  268.  
  269. ;;; 96/04/10 NIS Fukagawa {
  270. Younger:
  271.     errStr = "18才未満は、サインアップでの加入は出来ません";
  272.     goto ErrorDetect
  273. ;;; } 96/04/10 NIS Fukagawa
  274.  
  275. CannotEntry:
  276.     errStr = "まことに申し訳ございませんがご入会頂けません";
  277.     goto ErrorDetect0
  278.  
  279. ErrorDetect:
  280.     gosub Hangup
  281.  
  282. ErrorDetect0:
  283.     write 2 "Error\n"
  284.     write 2 errStr "\n"
  285.     
  286. Terminate:
  287.     close 1
  288.     close 2
  289.  
  290.     open 3 log APPEND
  291.     write 3 "*****************************************************************"
  292.     close 3
  293.  
  294.     escape
  295.     
  296.