End Sub. Процедура “очищения” списка значений при нажатии на кнопку “Очистить”

Процедура “очищения” списка значений при нажатии на кнопку “ Очистить ”:

Private Sub CommandButton2_Click()

ListBox1.Clear

End Sub

Процедура выполнения вычислений в зависимости от значения переключателей при нажатии на кнопку “Вычислить”:

Private Sub CommandButton3_Click()

Dim i As Integer, k As Integer

Dim b(0 To N - 1) As Integer

k = 0

‘выход из процедуры, если нет выделенных элементов

If ListBox1.ListIndex = 0 Then Exit Sub

‘формирование нового массива из выделенных элементов

'списка

For i = 0 To N - 1

If ListBox1.Selected(i) = True Then

b(k) = A(i)

k = k + 1

End If

Next i

‘k – количество выделенных элементов

'Организация вычислений в зависимости от переключателей

‘проверка выбран ли переключатель: количество выбранных элементов

If Frame1.OptionButton1.Value = True Then

TextBox1.Text = CStr(k)

End if

‘проверка выбран ли переключатель: среднее значение

If Frame1.OptionButton2.Value = True Then

TextBox1.Text = CStr(avr(b, k))

End if

‘проверка выбран ли переключатель: максим. значение

If Frame1.OptionButton3.Value = True Then

TextBox1.Text = CStr(min_max(0, b, k))

End if

‘проверка выбран ли переключатель: миним. значение

If Frame1.OptionButton4.Value = True Then

TextBox1.Text = CStr(min_max(1, b, k))

End if

End Sub

Функция min_max() определения минимального или максимального значения в массиве b (), размерности N, в зависимости от параметра p (при p = 1 функция возвращает максимальное значение, в противном случае минимум):

Public Function min_max(p As Byte, b() As Integer, N_ As Integer) As Integer

Dim min As Integer

Dim max As Integer

Dim i As Integer

min = 0: max = 0

For i = 1 To N - 1

If b(i) > b(max) Then max = i

If (b(i) < b(min)) Then min = i

Next i

If p = 1 Then min_max = b(max) Else min_max = b(min)

End Function

Функция avr() определения среднего значения в массиве выделенных элементов b (), размерности N:

Public Function avr(b() As Integer, N As Integer) As_ Double

Dim i As Integer

Dim s As Integer

s = 0

For i = 0 To N - 1

s = s + b(i)

Next i

avr = s / N

End Function

Процедура закрытия формы при нажатии на кнопку “ Выход ”:

Private Sub CommandButton4_Click()

UserForm2.Hide

End Sub

Процедура инициализации пользовательской формы:

Private Sub UserForm_Initialize()

‘Установить значение первого переключателя на форме

OptionButton1.Value = True

'Установить для списка свойство для выделения

'нескольких значений

ListBox1.MultiSelect = 1

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: