Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИТ_лабораторные_VBA.doc
Скачиваний:
174
Добавлен:
11.05.2015
Размер:
3.07 Mб
Скачать

7.3 Флажки, счетчики

Пример 7.2 – Требуется разработать пользовательскую форму (см. рисунок 7.3) для возведения чисел в заданную степень и для извлечения корней заданной степени (или для выполнения обеих этих операций). Для ввода числа, которое требуется возвести в степень (извлечь из него корень), должно использоваться текстовое поле. Показатель степени (для возведения или извлечения корня) задается с помощью счетчика. Для выбора операции (возведение в степень или извлечение корня) используются флажки. Результаты должны выводиться в текстовые поля. Вычисление должно выполняться при нажатии кнопки, размещенной на пользовательской форме. Кроме того, требуется создать кнопку для закрытия пользовательской формы.

Создание элементов управления и указание их свойств

Требуется создать пользовательскую форму и разместить на ней элементы управления, как показано на рисунке 7.4. Для элементы управления необходимо задать следующие свойства (конечно, имена элементов управления могут быть и другими):

  • форма в целом (UserForm): NameStepen_koren (имя формы, используемое для ссылок на нее); Caption – Степени и корни (заголовок формы);

  • надписи (Label): две надписи со свойствами CaptionЧисло и Показатель;

  • текстовые поля (TextBox): четыре текстовых поля со свойствами NameOsnovanie, Pokazatel, Stepen, Koren (на рисунке 7.4 эти текстовые поля приведены сверху вниз);

  • счетчик (SpinButton): свойство NamePokaz;

  • флажки (CheckBox): два флажка со свойствами NameVozved и Izvlech, Caption – Возведение и Извлечение;

  • кнопки: кнопка для вычисления результата должна иметь свойства NameSchet, Caption – Вычислить, а кнопка для закрытия формы – свойства NameVyhod, Caption – Выход.

Примечание – Важно понимать, что все связи между элементами управления (например, отображение значения счетчика, вывод результатов операций и т.д.) должны задаваться в программе для работы с формой.

Рисунок 7.3 – Пользовательская форма (пример 7.2) во время работы программы

Рисунок 7.4 – Пользовательская форма (пример 7.2) в режиме редактирования

Разработка программы

Программа для работы с формой для данной задачи должна иметь примерно следующий вид:

Private Sub UserForm_Initialize()

Vozved.Value = True

Izvlech.Value = True

End Sub

Private Sub Pokaz_change()

pokazatel.Value = Pokaz.Value

End Sub

Private Sub Raschet_click()

x = CSng(Osnovanie.Value)

y = CInt(Pokazatel.Value)

If vozved.Value = True Then

z = x ^ y

Stepen.Value = z

Else

Stepen.Value = ""

End If

If Izvlech.Value = True Then

z = x ^ (1 / y)

Koren.Value = z

Else

Koren.Value = ""

End If

End Sub

Private Sub Vyhod_click()

Unload Stepen_koren

End Sub

Процедура UserForm_Initialize() выполняется в начале работы с пользовательской формой. Операторы Vozved.Value = True и Izvlech.Value = True означают, что в начале работы с формой оба флажка (Vozved и Izvlech) должны быть установлены.

Процедура Pokaz_change() выполняется при каждом изменении значения счетчика Pokaz. Оператор Pokazatel.Value = Pokaz.Value означает, что значение счетчика Pokaz выводится в текстовое поле Pokazatel (т.е. присваивается его свойству Value). Это необходимо, чтобы видеть на экране значение счетчика (т.е. заданную степень).

Процедура Schet_Click() выполняется при каждом нажатии кнопки с именем Schet (т.е. кнопки Вычислить). В операторе x = CSng(Osnovanie.Value) переменной x присваивается значение текстового поля Osnovanie (т.е. число, которое требуется возвести в степень и/или извлечь из него корень); функция CSng преобразует значение этого поля в тип Single (т.е. вещественное число). В операторе y = CInt(Pokazatel.Value) переменной y присваивается значение поля Pokazatel (т.е. показатель степени), преобразованное в тип Integer.

Если выполняется условие vozved.Value = True (т.е. флажок Vozved установлен), то выполняется заданное возведение в степень, и результат выводится в текстовое поле Stepen. Если условие Vozved.Value = True не выполняется (т.е. флажок Vozved сброшен), то текстовое поле Stepen очищается (в него выводится пустая строка).

Аналогично, если установлен переключатель Izvlech, то выполняется извлечение корня заданной степени, и результат выводится в текстовое поле Koren.

Процедура Vyhod_Click(), выполняемая при нажатии кнопки с именем Vyhod, предназначена для закрытия формы. Она аналогична процедуре для этой цели, приведенной в предыдущем примере.