home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 March / VPR0003B.ISO / alpha / pppmenu.scp < prev    next >
Text File  |  1999-10-14  |  3KB  |  141 lines

  1. ;
  2. ; このスクリプトは、メニュー形式で PPP 接続を行う
  3. ; サンプルです。
  4. ;
  5. ; 一般的に、スクリプトは main と呼ばれるプロ
  6. ; シジャーが必要です。スクリプトは、この main
  7. ; プロシジャーが最初に実行され、スクリプト
  8. ; ファイル中に必ず一つ存在しなければなりません。
  9. ;
  10.  
  11.  
  12. ; スクリプトのエントリ・ポイント
  13. ;
  14. proc main
  15.  
  16.    ; 以下の変数を、お使いになるインターネット
  17.    ; サービス・プロバイダにあわせて変更してください。
  18.  
  19.    integer nTries = 3
  20.  
  21.    ; ログオン・プロンプトとタイムアウト値の設定
  22.  
  23.    string szLogin = "username:"
  24.    integer nLoginTimeout = 3
  25.  
  26.    ; パスワード入力プロンプトとタイムアウト値の設定
  27.  
  28.    string szPW = "password:"
  29.    integer nPWTimeout = 3
  30.  
  31.    ; パスワード入力後に表示されるプロンプトの定義
  32.  
  33.    string szPrompt = "annex:"
  34.  
  35.    ; インターネット サービス・プロバイダと通信を確立
  36.    ; するためのコマンドを設定します。
  37.    ; このサンプルでは、通信を確立するためにコマンド
  38.    ; を一つ送信する場合を想定しています。
  39.    ; お使いになるインターネット サービス・プロバイダ
  40.    ; が通信の確立のために一つ以上のコマンドを必要と
  41.    ; する場合には、必要に応じてコマンドを追加してく
  42.    ; ださい。
  43.  
  44.    ;
  45.    ; このサンプルでは、使用するインターネット サー
  46.    ; ビス・プロバイダが下記のようなメニューを表示
  47.    ; することを想定しています:
  48.    ;
  49.    ;   1              : Our special GUI
  50.    ;   2              : Establish slip connection
  51.    ;   3              : Establish PPP connection
  52.    ;   4              : Establish shell access
  53.    ;   5              : Download our software
  54.    ;   6              : Exit
  55.    ;
  56.    ;   annex:
  57.    ;
  58.  
  59.    string szConnect = "3^M"
  60.  
  61.    ; IP アドレスを取得したくない場合には、下記の
  62.    ; 値を FALSE にしてください。
  63.  
  64.    boolean bUseSlip = FALSE
  65.  
  66.    
  67.    ; -----------------------------------------------------
  68.  
  69.  
  70.    ; ホスト側のコマンド入力待ち状態が安定するのを
  71.    ; 待つため2秒間待ち、キャリッジ・リターンを
  72.    ; 2回送ります。
  73.  
  74.    delay 2
  75.    transmit "^M^M"
  76.  
  77.    ; 変数 nTries で決められた回数、ログオンを試みます。
  78.  
  79.    while 0 < nTries do
  80.  
  81.       ; 指定されたタイムアウト時間ログオン・プロンプトを
  82.       ; 待ち、ユーザーIDを送ります。
  83.  
  84.       waitfor szLogin then DoLogin 
  85.         until nLoginTimeout
  86.  
  87. TryAgain:
  88.       transmit "^M"        ; ping
  89.       nTries = nTries - 1
  90.  
  91.    endwhile
  92.  
  93.    goto BailOut
  94.  
  95. DoLogin:
  96.    ; ユーザーIDを送ります。
  97.  
  98.    transmit $USERID, raw
  99.    transmit "^M"
  100.  
  101.    ; パスワード入力プロンプトを待ちます。
  102.  
  103.    waitfor szPW until nPWTimeout
  104.    if FALSE == $SUCCESS then
  105.       goto TryAgain
  106.    endif
  107.  
  108.    ; パスワードを送ります。
  109.  
  110.    transmit $PASSWORD, raw
  111.    transmit "^M"
  112.  
  113.    ; プロンプトを待ちます。
  114.  
  115.    waitfor szPrompt
  116.  
  117.    transmit szConnect
  118.  
  119.    if bUseSlip then
  120.       ; IP アドレスをホストから得る場合、下記の
  121.       ; set ipaddr getip 2 コマンドで得る以外に、
  122.       ; もしホストが IP アドレスを表示してくれる
  123.       ; 場合には、そのメッセージを待ち、
  124.       ; set ipaddr getip コマンドでIP アドレスを
  125.       ; 得ることも可能です。
  126.  
  127.       set ipaddr getip 2
  128.    endif
  129.    goto Done
  130.  
  131. BailOut:
  132.    ; スクリプトの実行中にタイムアウト、あるいは予期しない
  133.    ; 状態が発生した場合、スクリプトの実行を中止します。
  134.  
  135.    set screen keyboard on
  136.    halt
  137.  
  138. Done:
  139.  
  140. endproc
  141.