Рассмотрим пример построения Windows-приложения (рис. 32), в котором используются функции InputBox и MsgBox.
Рис. 32
Программа состоит из двух частей. В первой части кнопка "ПУСК" через стандартные окошки ввода функции вводит фамилию, имя, отчество и отображает их в текстовых полях. Во второй части кнопка "MsgBox-примеры" последовательно выводит ряд сообщений разного вида.
Процедура, срабатывающая при нажатии кнопки "MsgBox-примеры", имеет вид:
Private Sub Command1_Click() 'программирование кнопки "ПУСК"
Фамилия = InputВох ("Введите Вашу фамилию:", _ "Ввод фамилии")
Имя = InputВох ("Введите Ваше имя:", _ "Ввод имени")
Отчество = InputВох ("ВведитеВаше отчество:", _ "Ввод отчества")
Text1 = Фамилия: Text2 = Имя: Text3 = Отчество
End Sub
Процедура, срабатывающая при нажатии кнопки "MsgBox-примеры", имеет вид:
Private Sub Command2_Click() 'программирование кнопки "MsgBox-примеры"
MsgBox ("!!!!!!!!!")
MsgBox ("?????????")
MsgBox "MsgBox", 0, "Проверка вывода сообщений"
MsgBox "Ошибка! Работа программы прерывается!", 16, "Критическое сообщение"
MsgBox "Вычисления продолжать?", 32 + vbYesNo, "Вопрос"
MsgBox "Ошибка в программе! Необходима коррекция!", 48 + 3, "Предупреждение"
MsgBox "Рабочий день оканчивается в 19.30"
MsgBox "Необходимо отключить оборудование, закрыть форточки, сдать помещение под охрану", 64, "Информация"
End Sub
Определяемые функции
Рассмотренные раньше функции являются встроенными функциями языка, но каждый программист может определить и свои собственные (определяемые) функции.
Упражнение 4
• Сделать приложение по рис. 32.
• Запустить приложение, проверить работу.
• Дополнить приложение процедурой, срабатывающей, если щелчок левой кнопки мыши будет приходиться не по кнопкам формы. При этом на экране должно появляться сообщение-предупреждение "Ох! Да Вы промазали по кнопке!" (рис.33).
Рис. 33
• Откомпилировать приложение под именем "Предупреждение".
• Сохранить файлы проекта в папке "Ввод_данных".
Задания для самостоятельной работы
1. Ввести с клавиатуры произвольное строковое выражение и поместить его в выбранную ячейку текущего рабочего листа.
2. Отобразить содержимое любой ячейки рабочего листа в диалоговом окне MsgBox.
3. Разместить несколько вводимых с клавиатуры чисел в разных ячейках на одной строке (в одном столбце) текущего рабочего листа.
4. Ввести с клавиатуры элементы квадратной матрицы заданного размера. Расположить их в соответствующих ячейках текущего рабочего листа.
5. Скопировать содержимое некоторых ячеек с одного рабочего листа на другой.
6. Вывести значение некоторого числового выражения в различные ячейки текущего рабочего листа с использованием произвольных атрибутов форматирования (цвет текста и фона, числовые форматы данных, гарнитура шрифта и т.д.).
Лабораторная работа №5
«Функции работы со строками. Финансовые функции»
Цель работы. Ознакомиться с функциями обработки строк, основами программирования финансовых функций.
Функции обработки строк
Строка - это либо упорядоченная последовательность символов, либо пустая строка. Для обозначения строки используются кавычки:
“” - пример пустой строки;
“ Программирование ” - пример непустой строки.
Число символов строки называется длиной строки. Длина пустой строки равна нулю. Каждый символ строки имеет свою позицию - порядковый номер при счете слева направо. В VBasic используется понятие подстроки - это вырезанный кусок из строки.
Две строки можно соединить в одну, такое действие называется конкатенацией или сложением строк:
ОбъединениеСтрок= Строка1 +Строка2+СтрокаЗ.
Можно применить знак конкатенации & (амперсант). С его помощью можно соединить не только строки, но и числа. При этом числа будут сначала преобразованы в строки, и результат тоже будет строкой. Например:
Dim Строка1 As String, Строка2 As String,
Результат As String
Строка1 = "Объем комнаты"
Строка2 = "куб. метров"
Результат = Строка1 &2,5*3*5& Строка2
После выполнения этого кода результатом будет строка:
"Объем комнаты 37,5 куб. метров"
Существует несколько функций обработки строк, которые позволяют модифицировать, обрабатывать строки, выбирать информацию.
Функция определения длины строки.
Len(Строка) |
В результате возвращается длина строки.
Функция выделения подстроки:
Mid(Строка, Позиция [,Длина]) |
В Строке выделяется и возвращается подстрока, начиная с заданной Позиции. Длину выделяемой подстроки можно не указывать - тогда будет возвращена подстрока от данной Позиции до конца Строки.
Функция выделения подстроки.
Left(Строка, Длина) |
В Строке выделяется левая подстрока указанной Длины. Она и будет возвращаемым значением.
Функция выделения строки.
Right(Строка, Длина) |
В Строке выделяется правая подстрока указанной Длины.
Функция поиска подстроки.
lnStr([Старт,] Строка, Подстрока) |
В Строке ищется то место, где находится Подстрока. В результате возвращается позиция первого символа Подстроки. Если подстрока не найдена, возвращается 0.
Функции преобразования имеют следующие назначения.
Val(Строка) |
Эта функция преобразует Строку в число.
Str(Число) |
Эта функция преобразует Число любого типа в строку.
Asc(Строка) |
Эта функция преобразует Строку в код ASCII первого символа этой строки.
Chr(Код) |
Эта функция преобразует Код ASCII в строку из одного символа.
Ucase(Строка) |
Эта функция возвращает исходную Строку, преобразуя все буквы в прописные.
Lcase(Строка) |
Эта функция возвращает исходную Строку, преобразуя все буквы в строчные.