Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть2.doc
Скачиваний:
24
Добавлен:
02.02.2015
Размер:
870.4 Кб
Скачать

7.4.9. Выполнение программы и анализ полученных результатов

Результаты решения задачи приведены на рис. 7.3.

Рис. 7.3. Результаты поиска товаров с заданными ценами

При этом были использованы данные, приведенные в табл. 7.2. Поиск производился для цен 0,40 (найдены товары трех видов), 0,50 (найдены товары двух видов ) и 0,60 (не найдено ни одного вида товара).

Таблица 7.2

Прайс-лист

Наименование

Цена (грн.)

Ручка

0,40

Тетрадь

0,50

Карандаш

0,40

Линейка

0,50

Резинка

0,40

8. Массивы элементов управления

8.1. Назначение и создание массивов элементов управления

Ранее были рассмотрены массивы данных для обработки информации в коде приложения. Если на форме имеется группа однотипных элементов управления, которые обрабатываются одинаковым образом, то их можно представить в виде массива элементов управления. На практике чаще всего массивы могут образовываться из текстовых полей, переключателей или флажков, рядом с которыми помещаются соответствующие надписи. Если на форме имеется несколько различных групп элементов управления, то каждая из них помещается в элемент управления рамка.

Для создания массива элементов управления достаточно создать один элемент с соответствующей надписью, скопировать их в буфер обмена, а затем вставить несколько раз, чтобы получить нужное количество элементов. При первой вставке VB задает вопрос о том, что уже существует элемент с таким именем и нужно ли создать массив, на который требуется ответить утвердительно. Последующие вставки уже не сопровождаются таким вопросом.

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

Элементы управления в массиве нумеруются автоматически, начиная с нуля. Номер элемента в массиве записывается в свойстве Index этого элемента. Главным достоинством массива элементов управления является то, что можно иметь одну процедуру обработки событий для всех элементов управления группы. Для создания такой процедуры достаточно дважды щелкнуть на любом элементе группы и в появившемся окне кода после заголовка процедуры ввести ее тело.

В отличие от простого элемента управления в заголовке процедуры обработки события элемента управления, входящего в массив, в скобках указан параметр Index. Он может использоваться, если обработка события зависит от номера элемента в массиве. Например, если в группу собраны переключатели, то в зависимости от выбранного переключателя расчеты будут выполняться по разным формулам с использованием оператора Select Case (рис. 8.1).

Рис. 8.1. Массив элементов управления типа

"Группа переключателей"

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

Private Sub optФормаОплаты_Click(Index As Integer)

Select Case Index

Case 0

curЗарплата = curРасценка * intВыработка

Case 1

curЗарплата = curРасценка * intВыработка + curПремия

Case 2

curЗарплата = curРасценка * intНорма + _

(curРасценка + curНадбавка) * (intВыработка - intНорма)

End Select

End Sub

В примере массив переключателей имеет имя optФормаОплаты.

8.2. Применение массива элементов управления

при решении задачи планирования

8.2.1. Постановка задачи

Составить план деятельности предприятия на неделю для достижения некоторого значения показателя (выпуск продукции, доход, прибыль и т.п.).

8.2.2. Экономико-математическая модель

По заданному значению показателя деятельности предприятия за неделю (Требуется) необходимо подобрать значение планового показателя на каждый день работы (Планi), чтобы выполнялось равенство

Требуется = Итого,

где

Итого = План1 + План2 + … + План7

8.2.3. Алгоритм решения задачи

Решение задачи в простейшем случае состоит из двух этапов:

1) ввод требуемого значения показателя и плановых значений по дням недели;

2) вычисление суммы плановых значений и вывод результата сравнения с требуемым значением.

Если полученное на втором этапе значение суммы плановых показателей по дням недели совпадает со значением, заданным на первом этапе, то задача считается решенной. В противном случае оба этапа могут повторяться несколько раз.

Выполнение второго этапа осуществляется по алгоритму, приведенному на рис. 8.2.