Dim i As Integer

Dim n As Integer

Dim Сумма As Double

Dim Произведение As Double

Dim Среднее As Double

Dim Результат As Double

' При выборе первого переключателя вычисляется сумма

If OptionButton1.Value = True Then

Сумма = 0

With ListBox1

For i = 0 To.ListCount – 1

If.selected(i)=true then

Сумма = Сумма +.List(i)

End if

Next i

End With

Результат = Сумма

End If

' При выборе второго переключателя вычисляется произведение выбранных элементов

If OptionButton2.Value = True Then

Произведение = 1

With ListBox1

For i = 0 To.ListCount – 1

If.Selected(i)=True Then

Произведение = Произведение *.List(i)

End if

Next i

End With

Результат = Произведение

End If

' При выборе третьего переключателя вычисляется среднее арифметическое

If OptionButton3.Value = True Then

Среднее = 0

n = 0

With ListBox1

For i =0 To.ListCount – 1

If.Selected(i)=True Then

n=n+1

Среднее = Среднее +.List(i)

End if

Next i

End With

Результат = Среднее /n

End If

' Полученное значение Результат выводится в текстовое поле

TextBox1.Text = CStr(Format(Результат, «Fixed»))

End Sub

Процедура нажатия кнопки «Закрыть»

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

Процедура инициализации диалогового окна заключается в заполнении списка и выводе его на форме, организации всплывающих подсказок, запрещении ввода текста в поле результата на форме.

Private Sub UserForm_Initialize()

With ListBoxl

List = Array(1, 3, 4, 5, 6, 7, 8, 10)

Listlndex = 0 'начальная индексация массива

MultiSelect=fmMultiSelectMulti

End With

' Первоначальный выбор переключателя Сумма при инициализации диалогового окна и задание текста всплывающих подсказок у переключателей With OptionButton1.Value = True

ControlTipText ='Сумма выбранных элементов'

End With

OptionButton2.ControlTipText ='Произведение выбранных элементов'

OptionButton3.ControlTipText = «Среднее значение выбранных элементов»

' Поле Результат не доступно для пользователя

TextBox1.Enabled = False

' Назначение клавише <Enter> функции кнопки Вычислить и задание текста всплывающей подсказки

With CommandButton1

Default = True

ControlTipText = «Нахождение результата»

End With

' Назначение клавише <Esc> функции кнопки Закрыть и задание текста всплывающей подсказки

CommandButton2.Cancel = True

' Задание заголовка пользовательской формы

UserForm1.Caption = «Операции над элементами списка»

UserForm1.Show

End Sub

Примечание. Интересной особенностью приводимой процедуры инициализации UserForm_initialize является то, что заголовок диалогового окна вводится программно при помощи свойства Caption, а не вручную при помощи окна Properties.

Пример 23. Разработать программу нахождения среднего балла студентов, выбранных из списка в диалоговом окне «Средний балл». Список содержит фамилию студента и его средний балл (двумерный массив) (рис. 41).

Рис. 41. Разработанная форма примера 23 в рабочем состоянии

Дополнительно для каждого элемента управления следует прописать процедуры для осуществления всплывающих подсказок.

При выполнении задания опирайтесь на приводимые ниже примечания.

Примечание. Обратите внимание на то, что в отличие от примера 22 данный пример требует ввода двумерного списка: столбца фамилий и столбца оценок. Фактически разница заключается лишь в том, что в приведенном примере массив ListBoxl.List, отвечающий за список элементов, был одномерным, а в данном случае должен быть двумерным. Сделать это можно двумя способами:

непосредственно заполнить двумерный массив ListBoxl.List;

задать произвольный двумерный массив, а затем присвоить его значение для ListBoxl.List (см. п. 3.1 и 4.1).

Соответственно, для расчета среднего балла следует воспользоваться только элементами второго

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату