#========================================================================= #WTERM 新規加入用 マクロプログラム WTMR_E.MAC v2.1 #========================================================================= START: C$=":" #ENTER.PAD内区切り文字。 LOGOPEN("MAR") GETMACROD(J$) #J$=G:\WT\MACRO\ CAT(J$,"ENTER.PAD") #J$=G:\WT\MACRO\ENTER.PAD FOPEN(J$,ERR) #ENTER.PADオープン。 GETLOGD(H$) #H$=G:\WT\LOG\ I$="__ENTER.PA_" CAT(H$,I$) #H$=G:\WT\LOG\__ENTER.PA_ JUMPFILEN(H$,GUE) #__ENTER.PA_がない場合には,初回のアクセスと判断。 GOTO(WLCM) #__ENTER.PA_がある場合。二度目のアクセスと判断。 #========================================================================= GUE: #初回のアクセスの場合。 G$="2" #入会手続き有無フラグ。 M$="OFF" #手続きせずに抜けるコマンド。 FCLOSE #ENTER.PADを閉じる。 PRINTCR(" AUTO PILOT WTMR_E.MAC v2.1 START! by Gako") PRINTCR("") PRINTCR(" ようこそいらっしゃいました!") PRINTCR("") PRINTCR("") PRINTCR(" 今回のアクセスでは,規約等を全て読んで戴いて,一度ログアウトします。") PRINTCR("") PRINTCR("次回アクセス時に入会手続きを行いますので,今回のログをよく読んで下さいね。") PRINTCR("") PRINTCR("") PRINTCR(" 今回は少々時間がかかりますが,そのままお待ち下さい。") PRINTCR("") PRINTCR("") GETLOGD(K$) #K$=G:\WT\LOG\ O$=K$ #O$=K$=G:\WT\LOG\ LENGTH(N$,K$) #N$はK$の文字列の長さ。 DEL(K$,N$,"1") #K$の文字を一つ削除。即ち,\の削除。 CAT(L$,"copy ",J$) #L$=COPY G:\WT\MACRO\ENTER.PAD CAT(L$," ") CAT(L$,K$) #L$=COPY G:\WT\MACRO\ENTER.PAD G:\WT\LOG CHILD(L$) #COPY実行。 N$="ren " #ENTER.PADを,__ENTER.PA_に改名。 CAT(O$,"ENTER.PAD") #O$=G:\WT\LOG\ENTER.PAD CAT(O$," __ENTER.PA_") #O$=G:\WT\LOG\ENTER.PAD __ENTER.PA_ CAT(N$,O$) #N$=REN G:\WT\LOG\ENTER.PAD __ENTER.PA_ CHILD(N$) #改名実行。 GOTO(ID) #========================================================================= WLCM: #二度目のアクセスの場合。 G$="1" #入会手続き有無フラグ。 M$="SGN" #入会手続きを行うコマンド。 PRINTCR(" AUTO PILOT WTMR_E.MAC v2.1 START! by Gako") PRINTCR("") PRINTCR(" ようこそいらっしゃいました!") PRINTCR("") PRINTCR(" 今度は入会手続きに入ります。そのままお待ち下さいね (^o^)v") PRINTCR("") PRINTCR("") ID: TIMED("ON") #アクセスタイム表示。 WAIT("User-ID --->") SEND("MAR00000\R") #GUESTとしてアクセスするコマンド。 WAIT("ださい−") SEND("\R") WAIT("\010:") SEND("\R") WAIT(")>") SEND(M$) SEND("\R") #------------------------------------------------------------------------- LOOP: SWITCH CASE("\010>") WAIT("") GOTO(ENTER) CASE("\010:") WAIT("") SEND("\R") GOTO(LOOP) END #------------------------------------------------------------------------- ENTER: #アクセス回数による分岐。 SEND(G$) #初回アクセスでは2,二回目のアクセスでは1を送信。 SEND("\R") VSWITCH(G$) CASE("2") #規約等を読む。 GOTO(NEXT) CASE("1") #入会手続きをする。 GOTO(ENTER1) END ENTER1: WAIT(":",1,ENTER1) GETCRTS(D$,"1") JUMPSRCHY(D$,"職業(職種)の",WRITE0) GETCRTS(D$,"4") JUMPSRCHY(D$,"性別",GEND) GETCRTS(D$,"3") JUMPSRCHY(D$,"☆ その",HAND) ENTER2: FREAD(A$) #ENTER.PADから一行読み込む。 JUMPE(A$,"",ENTER2) #ENTER.PADの空白行の場合,繰り返し。 PICKWORD(B$,A$,C$) #C$=: IFE(A$,"") #ENTER.PAD記述ミス(空白)の場合。 A$="記入指定漏れです。 m(_._)m " SEND(A$) #記述内容の送信。 SEND("\R") WRITE0: #記入項目による分岐。 WAIT(":",1,WRITE0) #プロンプト待ち。 GETCRTS(D$,"1") JUMPSRCHY(D$,"趣味/活動所望は",END0) GETCRTS(D$,"4") JUMPSRCHY(D$,"性別",ENTER2) GETCRTS(D$,"3") JUMPSRCHY(D$,"☆ きち",PAS) #パスワード入力ミスの場合。 JUMPSRCHY(D$,"☆ 正し",HAND0) SEND("\R") #確認改行送信。 GOTO(ENTER1) #========================================================================= HAND: #既に同じハンドル名が存在する場合。 INPUT(A$,"指定ハンドル名が存在しますので,12 バイト以内で変更して下さい。","705") JUMPE(A$,"",HAND) #入力がない場合,再度入力を促す。 LENGTH(F$,A$) JUMP>(F$,"12",HAND) #12バイトより長い場合,再度入力を促す。 SEND(A$) SEND("\R") GOTO(WRITE0) HAND0: #ハンドル名が12バイトより長い場合。 INPUT(A$,"指定のハンドル名を 12 バイト以内に変更して下さい。","705") JUMPE(A$,"",HAND0) #入力がない場合,再度入力を促す。 LENGTH(F$,A$) JUMP>(F$,"12",HAND0) #12バイトより長い場合,再度入力を促す。 SEND(A$) SEND("\R") WAIT(":") SEND("\R") GOTO(ENTER1) #------------------------------------------------------------------------- PAS: INPUT(A$,"パスワード指定ミスです。8バイト以内で入力して下さい。","705") JUMPE(A$,"",PAS) #入力がない場合,再度入力を促す。 LENGTH(F$,A$) #入力した長さを格納。 JUMP>(F$,"8",PAS) #8バイトより長い場合,再度入力を促す。 SEND(A$) SEND("\R") WAIT(":") SEND("\R") GOTO(ENTER1) #------------------------------------------------------------------------- GEND: #性別記入ミス処理。 INPUT(A$,"男性は 1 ,女性は 2 と入力して下さい。","705.120") JUMP<(A$,"1",GEND) #1 or 2以外の場合,再度入力を促す。 JUMP>(A$,"2",GEND) SEND(A$) SEND("\R") GOTO(ENTER1) #========================================================================= ERR: #ENTER.PADが存在しない場合。 WAIT("User-ID --->") SEND("KILL\R") #新規入会マクロミス用,強制回線切断コマンド。 WAIT("切断します−") PRINTCR("") PRINTCR("") PRINTCR(" 必須の指定ファイル ENTER.PAD が指定場所にみつかりません。") PRINTCR("") PRINTCR(" もう一度設定しなおしてアクセスして下さい。 m(_._)m") PRINTCR("") PRINTCR("") EXIT #========================================================================= NEXT: #初回アクセス終了処理。 WAIT("切断します−") LOGCLOSE PRINTCR("") PRINTCR("") PRINTCR(" MACRO STOP! SEE YOU AGAIN! (^o^)/゚") PRINTCR("") PRINTCR(" ご苦労さまでした!") PRINTCR("") PRINTCR(" よく規約を読んで,同意されるなら,もう一度アクセスして下さい。") PRINTCR("") PRINTCR(" 次回には自動的に入会手続きをとります。 (^。^)") PRINTCR("") EXIT #------------------------------------------------------------------------- END0: #最終項目送信終了後処理。 SEND("\R") WAIT("1:OK 2:NG):") SEND("1\R") FCLOSE #ENTER.PADを閉じる。 WAIT("?? ([1:YES] 2:NO):") SEND("2\R") #引き続き通信をしない,を選択。取り敢えず抜ける。 WAIT("切断します−") LOGCLOSE PRINTCR("") PRINTCR("") PRINTCR("") PRINTCR(" MACRO STOP! SEE YOU AGAIN! (^o^)/゚") PRINTCR("") PRINTCR(" さあ会員登録できましたよ!") PRINTCR("") PRINTCR(" 次回以降のアクセスの時には,設定を変更する必要があります。") PRINTCR("") PRINTCR(" SET_WT.DOC と WTMRF105.DOC をお読み下さい。") PRINTCR("") EXIT #=========================================================================