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

8.2.4. Структура данных

Поскольку количество исходных данных (Требуется и Планi) не изменяется (изменяются только значения) и их сравнительно не очень много (8=1+7), то все они могут быть представлены в виде текстовых полей на форме (План – массив текстовых полей, а Требуется – простое текстовое поле)

Рис. 8. 2. Схема алгоритма выполнения второго этапа

Результаты вычислений «Итого» и «Отклонение» выводятся на форму в виде надписей, поэтому будут иметь имена lblИтого и lblОтклонение.

Величины Итого и Требуется часто используются в вычислениях. Чтобы каждый раз не преобразовывать значения txtТребуется и lblИтого из строкового к числовому типу данных, наряду с элементами управления в коде используются переменные sngТребуется и sngИтого типа Single.

Для организации вычисления суммы плановых показателей по дням недели будет использоваться целая переменная i типа байт (выбран самый короткий целый тип, так как известно, что 1 ≤ i ≤ 7).

Используемые в приложении данные представлены в табл. 8.1.

Таблица 8.1

Используемые данные

Реквизит

Имя

Назначение

Требуется

Требуется

Планi

i

Итого

Итого

Отклонение

Отклонение

txtТребуется

sngТребуется

txtПлан(i)

i

lblИтого

sngИтого

lblОтклонение

txtОтклонение

Требуемое значение показателя (элемент на форме)

Требуемое значение показателя (переменная в коде)

Плановое значение показателя на i-й день (массив элементов на форме)

Номер дня недели

Сумма плановых значений по дням (элемент на форме)

Сумма плановых значений по дням (переменная в коде)

Текстовая информация о результах сравнения (“Перевыполнение”, “Недовыполнение”, “Норма”)

Числовая информация о результатах сравнения

8.2.5. Интерфейс с пользователем

Решение задачи осуществляется с помощью формы, на которой имеется одно простое текстовое поле txtТребуется и массив текстовых полей txtПлан (рис. 8.3). В эти текстовые поля вводятся соответствующие исходные данные. Результаты расчетов выводятся в области надписей lblИтого (сумма плановых значений по дням недели) и lblОтклонение (текстовая информация о результатах сравнения величин «Требуется» и «Итого»), а соответствующее числовое значение – в текстовое поле txtОтклонение.

Рис. 8.3. Форма для решения задачи планирования

Поскольку на форме нет командных кнопок, то процесс вычисления и вывода результата запускается событиями в полях ввода исходных данных – выходом из текстового поля txtТребуется после ввода исходных данных (событие потеря фокуса – LostFоcus) и изменения в плановых данных по любому дню недели (событие – Change).

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

Численное значение отклонения дает представление о том, какую величину показателя нужно еще распределить или наоборот – на какую уменьшить

Для большей выразительности предусматривается выводить качественную характеристику состояния процесса планирования (слова “Перевыполнение”, “Недовыполнение” и “Норма”) на соответствующем фоне (желтом, красном или зеленом).