1.2. Окно ввода информации InputBox
Достаточно часто в диалоговом окне необходимо не только нажать кнопки выбора действия, но и ввести определенную информацию, которая затем анализируется программой. Для выполнения такого рода действий в Visual Basic можно использовать диалоговое окно ввода информации InputBox (рис. 4.5). Функция InputBox имеет следующий синтаксис:
InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])
где:
prompt – текст сообщения в диалоговом окне. Максимальная длина текста 1024 символа. В этот текст можно вставить в качестве разделителей строк перевод каретки Chr(13), перевод строки Chr(10) или их комбинацию;
title – текст заголовка диалогового окна;
default – значение текстового поля ввода по умолчанию. Если параметр отсутствует, строка остается пустой;
xpos – позиция по горизонтали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию присваивается значение, соответствующее середине экрана;
ypos – позиция по вертикали левого верхнего угла диалогового окна относительно левого верхнего угла экрана. По умолчанию присваивается значение, соответствующее середине экрана;
helpfile – ссылка на файл справочной системы;
context – ссылка на содержание в файле справочной системы.
В отличие от диалогового окна MessageBox, в окне InputBox всегда имеются только две кнопки управления: ОК и Cancel. Кнопка ОК подтверждает ввод данных, кнопка Cancel – закрывает диалоговое окно без ввода данных.
Примечание. Сочетание операторов Chr(13) + Chr(10) можно заменять константой vbCrLf или vbNewLine.
Пример. Введите в командном окне среды проектирования Immediate следующую команду:
strUserTest = InputBox ("Введите пароль", "Запуск приложения", "****")
В
результате получите диалоговое окно
(рис. 4.5):
Рис. 4.5
2. Упражнения
Упражнение 1
1. Создайте новый проект.
2. Поместите на форму кнопку.
3. Откройте окно редактора кода.
4. В программном коде для кнопки напишите следующее:
Dim name As String
name = InputBox("Введите Ваше имя", "Знакомство")
MsgBox "Здравствуй," & Chr(10) & name, vbInformation, "Приветствие"
5. Запустите приложение. Проверьте, как оно работает.
Упражнение 2
1. Создайте новый проект.
2. Поместите на форму кнопку.
3. Откройте окно редактора кода.
4. В программном коде для кнопки напишите следующее:
Dim X As Single, Y As Single
X = Val(InputBox("Введите значение Х", "Ввод исходных данных", "1.6"))
Y = X ^ 2
MsgBox "Значение переменной Y=X*X=" & Str(Y), 64, "Вывод результата"
5. Запустите приложение. Проверьте, как оно работает. Что произойдет, если пользователь не будет вводить значение, а просто нажмет кнопку OK? Что произойдет, если пользователь нажмет кнопку Cancel?
Примечание. Введенные пользователем данные считаются текстом, поэтому при вводе числовых значений необходимо преобразовать их к одному из числовых типов данных с помощью функции преобразования типа, например val или CDbl.
Упражнение 3
1. Создайте новый проект.
2. Поместите на форму кнопку.
3. Откройте окно редактора кода.
4. В программном коде для кнопки напишите следующее:
Dim rez As Byte
MsgBox "Здравствуй, пользователь", vbExclamation, "Приветствие"
rez = MsgBox("Закончить?", vbQuestion + vbYesNo, "Окончание работы")
If rez = vbYes Then End
Примечание. Операторы If..Then позволяют принимать решения в программах. Если условие истинно, то выполняется действие, следующее за Then. Логика оператора подробно рассматривается в лабораторной работе № 5.
5. Запустите приложение. Проверьте, как оно работает. Что произойдет, если пользователь нажмет кнопку Да, кнопку Нет?
