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

8.2.8. Анализ проекта

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

В зависимости от результата сравнения итогового значения с требуемым текстовая информация выдается на фоне, который имеет соответствующий цвет. Цвет фона задается оператором присваивания свойству цвета фона нужной константы среды VB, например,

lblОтклонение.BackColor=vbYellow

При выводе численного значения величины отклонения не требуется указания знака (+, -), поэтому при его вычислении используется встроенная функция Abs, которая возвращает абсолютное значение аргумента.

Ссылка в процедуре txtПлан_Change на имя процедуры txtТребуется_LostFocus означает, что процедура txtПлан_Change будет выполнять те же действия, что и процедура txtТребуется_LostFocus.

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

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

Цехом получен заказ на изготовление 100000 канцелярских скрепок, который нужно выполнить за неделю.

Для составления календарного плана работы цеха использовалась разработанная программа. Было рассмотрено ряд вариантов плана. На рис. 8.3. представлен один из них.

Рис. 8.3. Вариант календарного плана

При работе по этому плану предусматривается один выходной – воскресенье. План составлен с незначительным запасом 5000 шт. с учетом того, что может быть допущен небольшой брак в пределах 5% от заказа.

9. Пользовательский тип данных

9.1. Определение и обращение

Пользовательский тип данных (user-defined types) представляет собой объединение фиксированного числа элементов, которые называются полями.

В отличие от массивов поля могут иметь разные типы. Кроме того, доступ к ним осуществляется не по индексу, а по имени.

Каждое поле в пользовательском типе определяется именем и типом. С помощью имени поля указывается нужный элемент.

Определение пользовательского типа данных производится с помощью ключевого слова Type следующим образом

Type Имя_типа

Элемент1 [([Размерность])] As Тип

[Элемент2 [(Размерность])] As Тип

End Type

Переменная пользовательского типа описывается, как обычно, в операторе Dim.

Пример определения пользовательского типа.

Type Место

strСтрана As String*10

strГород As String*15

End Type

Type Товар

strНаименование As String*20

udtПроизводитель As Место

curЦена As Currency

intКоличество As Integer

End Type

Dim udtМебель As Товар

В примере пользовательской тип Товар содержит в качестве элемента другой пользовательский тип Место.

Примечания.

1. Поля строкового типа в пользовательском типе могут быть только фиксированной длины (например, String*10 состоит из десяти символов)

2. В именах переменных пользовательского типа используется префикс udt (иногда usr).

3. Тип, используемый в качестве элемента в другом более сложном типе, должен быть описан до его использования.

Поля переменной пользовательского типа могут использоваться в различных операторах кода также как и простые переменные. Обращение к ним осуществляется подобно свойствам объектов с использованием точки после имени переменной.

Пример использования полей переменной пользовательского типа:

udtМебель.strНаименование = "Стол"

udtМебель.udtПроизводитель.strГород = "Харьков"

curСтоимость = udtМебель.curЦена * udtМебель.intКоличество