Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Определение выбранных элементов списка




Расширим нашу задачу и подсчитаем количество выбранных сотрудников. Полученную цифру выведем на экран.

Для того чтобы определить, какие элементы списка выбрал пользователь, воспользуемся свойством Selected:

Option Base 1

Private Sub cmdOK_Click()

Dim Сотрудников As Integer

For i = 0 To lstСотрудник.ListCount - 1

If lstСотрудник.Selected(i) = True Then _

Сотрудников = Сотрудников + 1

Next i

MsgBox "Выбрано " & Сотрудников & " сотрудников!", _

vbInformation, "Сообщение"

Unload Me

End Sub

Задание:

1. В модуле формы frmСписок_в_2_колонки наберите и протестируйте программу cmdOK_Click.

2. Напишите и протестируйте программу cmdОтмена_Click.

Поле со списком (ComboBox)

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

ТРЕБУЕТСЯ: создать форму (выполните самостоятельно!) и написать программу инициализации формы, в которой элементы поля со списком формируются на основе данных, расположенных в первом столбце на листе Кадры в книге C:\St\Институт.xls (Рис. 10‑10):

Начальные условия

1) при создании формы присвойте следующие имена элементам управления:

­ кнопке ОК – cmdOK

­ кнопке Отмена – cmdОтмена

­ полю со списком – cboКафедра

2) саму форму назовите frmКафедра.

Тогда код, который формирует поле со списком, запишется так:

Sub ПолеСоСписком()

'Объявляем переменные и массивы:

Dim Кафедры() As String

Dim Кафедра As String

Dim НомерСтроки As Integer

Dim КолСотрудников As Integer

Dim КолКафедр As Integer

'1. Проверяем существование книги C:\St\Институт.xls

Call НаличиеКниги("C:\St\Институт.xls")

If flagНаличие = 0 Then Exit Sub

'2. Проверяем существование листа Кадры

Call НаличиеЛиста("Кадры")

If flag = 0 Then Exit Sub

'3. Формируем список кафедр, которые встречаются в первом _

столбце на листе Кадры:

НомерСтроки = 3

Do While Trim(Cells(НомерСтроки, 1).Value) <> ""

НомерСтроки = НомерСтроки + 1

Loop

КолКафедр = 1 'кол-во кафедр

ReDim Preserve Кафедры(КолКафедр) As String

Кафедры(КолКафедр) = Trim(Cells(3, 1).Value)

For i = 3 To НомерСтроки - 1

If Trim(Cells(i + 1, 1).Value) <> "" Then

Кафедра = Trim(Cells(i + 1, 1).Value)

For j = 1 To КолКафедр

If Кафедра = Кафедры(j) Then GoTo n3

Next j

КолКафедр = КолКафедр + 1

ReDim Preserve Кафедры(КолКафедр) As String

Кафедры(КолКафедр) = Trim(Cells(i + 1, 1).Value)

End If

n3: Next i

'4. Сортируем список кафедр:

For i = 1 To КолКафедр - 1

Кафедра = Кафедры(i)

k = i

For j = i + 1 To КолКафедр

If Кафедры(j) >= Кафедра Then

Else

Кафедра = Кафедры(j)

Кафедры(j) = Кафедры (k)

Кафедры(k) = Кафедра

End If

Next

Next i

'5. Заполняем поле со списком и выводим форму на экран:

frmКафедра.cbo Кафедра.List = Кафедры

frmКафедра.Show

End Sub

Задание:

1. В Модуль10 наберите и протестируйте программу ПолеСоСписком.

2. В модуле формы frmКафедра напишите программу обработки события «щелчок/нажатие кнопки cmdОтмена», которая выгружает форму из памяти.

3. Оформите фрагмент сортировки одномерного массива в виде подпрограммы СортировкаМассива(КолЭлементов).





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 305 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2419 - | 2289 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.