вопрос о скрипте

программирование windows скрипт скрипты win32

VBScript.

есть переменная temp
temp=InputBox("Введите данные","Ввод данных")
надо чтобы юзер ввел туда числа

но без проверки он может ввести туда символы типа "char" или "string" и скрипт завершится ошибкой (про On Error Resume Next не напоминайте)

вопрос: как проверить в строке наличие любых остальных типов данных, кроме "integer"? тоесть чтобы допускались только цифры!
intemp=InStr(temp,*буква*) - это слишком большая для меня морока перечислять все буквы всех алфавитов;)
Ответы:
к сожалению, InputBox всегда возвращает строку :-)
можно проверять введенные данные ф-циями IsNumeric, либо Val, во второй может быть засада - например, если в региональных установках точка будет как разделить целой и дробной частей, то значение 555,99 просто молча обрежется  до 555. А также Val("строка") вернет ноль.
Поэтому с IsNumeric работать предпочтительнее.
То есть делать что-то такое:
Dim ss
ss = "xx"
While Not IsNumeric(ss)
   ss = InputBox("Введите число", "Ввод данных") ' Не выпускаем пользователя, пока не введет число
Wend


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.