home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 February
/
VPR9702B.ISO
/
terminal
/
pcnavi
/
usagi
/
signup.pr_
/
signup.pr
Wrap
Text File
|
1996-07-02
|
7KB
|
296 lines
path = "\\\\SKY1\\NAVI\\SRC\\SRC160\\SIGN\\"
TelNum = "0120-00-9896"
;=
;============================================================
;============================================================
;============================================================
;============================================================
;;; 「サインアップ実行」ダイアログの中止ボタンが押されたかを知るのに追加
;;; 96/03/13 NIS Fukagawa {
declare "CommandParam" "NAV.DLL" STR STR
;;; } 96/03/13 NIS Fukagawa
goto Entry
;; subroutines
; ハングアップ
Hangup:
wait 2
sendstr "+++"
wait 2
sendstr "ath\r"
return
; log ファイルに '*' を書き込む
; (この数により exe はサインアップの進行状況を判断する)
LogCheck:
open 3 log APPEND
write 3 "*"
close 3
return
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかをチェックする
StopCheck:
CommandParam "signupStop" signupStop
if (signupStop != "")
then
goto ClickedStop
endif
return
;;; } 96/03/13 NIS Fukagawa
;; サインアップスタート
Entry:
; set i/o file name
dat = path + "signup.dat"
rsp = path + "signup.rsp"
log = path + "signup.log"
tmp = path + "signup.tmp"
inf = path + "signup.inf"
;; 各変数の初期設定
; 発行される ID とパスワード用の変数
; (ナビの初期化ファイルに書き込むときは inf ファイルから
; 取得しているので、実際にはこの変数の値は使用していない)
passStr = ""
idStr = ""
; 送信データ格納用の変数
string = ""
; エラーメッセージ用の変数
errStr = ""
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかの判断用変数
; デフォルトは ""。押されると "CLICKED" がセットされる
signupStop = ""
;;; } 96/03/13 NIS Fukagawa
; 転送用データファイル dat のファイル名を出力
print dat + CRLF;
; check datafile existence
open 1 dat READ
open 2 rsp WRITE
open 3 log WRITE
close 3
; set protocol
protocol "N81NN"
;;; 通信速度の設定は本体の方で行うように修正
;;; 96/05/24 NIS Fukagawa {
;; speed 2400
;;; } 96/05/24 NIS Fukagawa
;---------------------------------------------
; モデムの初期化処理
InitStr = ""
timeout 2
send "ATE1Q0V1"+CR
cases "OK" "ERR"
goto MODEM_INIT MODEM_INIT *
timeout 3
send "+++"
cases "OK"
goto * L_Modem_Error
send "ATH0"+CR
cases "OK"
goto MODEM_INIT L_Modem_Error
L_Modem_Error:
errStr = "モデムの初期化に失敗しました"
goto ErrorDetect
MODEM_INIT:
print "Modem Init ..%s(%s)\r\n", InitStr, UMODEM
if strlen(InitStr) == 0
then
send UMODEM+CR
else
send "AT"+InitStr+CR
endif
cases "OK"
goto L_AutoDial_Start *
if InitStr == "X3" then
errStr = "モデムの初期化に失敗しました"
goto ErrorDetect
endif
InitStr = "X3"
goto MODEM_INIT
L_AutoDial_Start:
;-----------------------------------------------
loginCount = 0
errStr = "センターとの接続に失敗しました"
autodial UPBX+TelNum "" "" 5 60
goto * ErrorDetect ErrorDetect
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかをチェック
gosub StopCheck
;;; } 96/03/13 NIS Fukagawa
gosub LogCheck
wait 3
sendstr "VANPCINFO\r"
;;; リリース時は "timeout 20" です。それ以外は修正してください
;;; timeout 60
timeout 20
signupLoop:
cases "ダサイ=" "(Q)=" "(G,Q)=" "(YES,Q)=" "入力内容に誤りがあります" "このIDは既に使用されております" "このIDではご利用になれません" "ご入会頂けません" "18才未満は"
goto * * * Complete ErrorDetect ErrorDupID ErrorID CannotEntry Younger TimeoutHost
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかのチェック
gosub StopCheck
;;; } 96/03/13 NIS Fukagawa
; read a line from file
read 1 string
wait 1
sendstr string
errStr = "入力内容の誤り:" + string
gosub LogCheck
goto signupLoop
; サインアップデータの送信終了
Complete:
; この download はリリース用です
; もしコメントアウトされていたら、必ず有効にしてください
; また、これ以外の "download tmp" が存在する場合は無効にすること
download tmp;
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかをチェック
gosub StopCheck
;;; } 96/03/13 NIS Fukagawa
sendstr "YES\r"
postLoop:
cases "リターンキーを押して下さい=" "あなたのID : " "仮パスワード : " "(N,B,Q)="
goto * GetId GetPass LogOut TimeoutHost
sendstr "\r"
;;; 96/03/13 NIS Fukagawa {
; 「中止」ボタンが押されたかをチェック
gosub StopCheck
;;; } 96/03/13 NIS Fukagawa
gosub LogCheck
goto postLoop
; 発行された ID を取得する
GetId:
input idStr RS
goto postLoop
; 発行されたパスワードを取得する
GetPass:
input passStr RS
goto postLoop
; サインアップ完了時の処理
LogOut:
download close
sendstr "Q\r"
cases "NO CARRIER" "SEE YOU AGAIN"
goto LogOut1 LogOut1 *
gosub Hangup
LogOut1:
write 2 "OK\n"
write 2 idStr
write 2 "\n"
write 2 passStr
write 2 "\n"
Entry2:
; update tmp file
open 3 tmp READ
open 4 inf WRITE
read 3 string
read 3 string
while string != ""
str2 = left(string, 10);
if str2 == " これから" then
read 3 string
read 3 string
read 3 string
read 3 string
else
if str2 == "次に、PC" then
while string != ""
read 3 string
wend
else
write 4 string
read 3 string
endif
endif
wend
close 3
close 4
goto Terminate
;; エラー処理
TimeoutHost:
errStr = "センターの応答が有りません"
goto ErrorDetect
;;; 96/03/13 NIS Fukagawa {
ClickedStop:
errStr = "「中止」ボタンが押されました"
;;; MsgBox "「中止」ボタンが押されました" 0 0
goto ErrorDetect
;;; } 96/03/13 NIS Fukagawa
ErrorDupID:
errStr = "優待IDは既に使用されています"
goto ErrorDetect
ErrorID:
errStr = "優待IDの値が不正です"
goto ErrorDetect
;;; 96/04/10 NIS Fukagawa {
Younger:
errStr = "18才未満は、サインアップでの加入は出来ません";
goto ErrorDetect
;;; } 96/04/10 NIS Fukagawa
CannotEntry:
errStr = "まことに申し訳ございませんがご入会頂けません";
goto ErrorDetect0
ErrorDetect:
gosub Hangup
ErrorDetect0:
write 2 "Error\n"
write 2 errStr "\n"
Terminate:
close 1
close 2
open 3 log APPEND
write 3 "*****************************************************************"
close 3
escape