InputBox
Как мы можем задать, сообщить компьютеру какую-нибудь величину? Оператором присваивания – раз. А теперь рассмотрим еще один удобный и приятный способ – InputBox.
В вашем проекте о прямоугольнике вы можете хоть сто раз нажимать на кнопку – результаты все время будут одинаковые. Это потому что исходные данные a=27018 и b=3954 никто не меняет. Скучно. Хорошо бы компьютер при нажатии на кнопку каждый раз спрашивал нас, чему на этот раз равны стороны прямоугольника. А мы бы ему отвечали. А уж потом он вычислял.
Для этого нам нужно слегка изменить программу. Скопируйте папку предыдущего проекта и работайте над копией. Вот что у вас должно быть в процедуре нажатия на кнопку:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b, S
a = InputBox("Введите длину прямоугольника")
b = InputBox("Введите ширину прямоугольника")
S = a * b 'Площадь
Debug.WriteLine(S)
End Sub
Сравните с предыдущей программой. Как видите, заменены первые две строки: a=27018 и b=3954. Также из учебных соображений выкинуто все, касающееся периметра.
Конструкция
a = InputBox("Введите длину прямоугольника")
есть оператор присваивания и означает она приказ компьютеру вывести сначала на экран такое окно, как на Рис. 5.1.
Рис. 5.1
После этого человек вводит в белое текстовое поле этого окна любое число и нажимает ОК. Далее компьютер присваивает переменной a введенное значение и продолжает работу, то есть переходит к выполнению следующего оператора.
Если вам не нравится строка WindowsApplication1 в заголовке окна, то вы можете задать свою строку, дополнив оператор следующим образом:
a = InputBox("Введите длину прямоугольника", "Ввод данных")
Результат вы видите на Рис. 5.2.
Рис. 5.2
Запустите проект. Проверьте его работу.
Если при вводе вы нажимаете не кнопку ОК, а кнопку Cancel или крестик, VB считает, что вы не «отменили ввод», а ввели так называемую пустую строку (что это такое, выяснится позже, сейчас достаточно знать, что выполнять умножение над пустыми строками бессмысленно и VB выдаст ошибку).
Не вводите также нечисловую информацию, иначе VB по той же причине выдаст ошибку.