proc main ; Last Modified 5/05/2000 ; количество попыток integer nTries = 5 ; вид приглашения к вводу логина (login) string szLogin = "ogin:" ; Логин-таймаут integer nLoginTimeout = 5 ; вид приглашения к вводу пароля (password) string szPW = "assword:" ; парольный таймаут integer nPWTimeout = 10 ; таймаут на ожидание PPP integer PPP_Timeout = 8 ; признак PPP-посылки string szPPP = "~" ; string szConnect = "3^M" ; ----------------------------------------------------- delay 2 ; transmit "^M^M" ; Пытаемся залогинится не более чем 'nTries' раз while 0 < nTries do waitfor szLogin then DoLogin until nLoginTimeout TryAgain: transmit "^M" transmit "^M" nTries = nTries - 1 endwhile goto BailOut DoLogin: ; Передаем имя пользователя transmit $USERID, raw transmit "^M" ; Ждем приглашения к вводу пароля delay 1 waitfor szPW until nPWTimeout if FALSE == $SUCCESS then goto TryAgain endif ; Передаем Пароль transmit $PASSWORD, raw transmit "^M" waitfor szPPP until PPP_Timeout if FALSE == $SUCCESS then goto TryAgain endif delay 1 transmit szConnect goto Done BailOut: ; Что-то прошло неправильно. ; Разрешаем ввод логина и пароля с клавиатуры. set screen keyboard on halt Done: endproc