скачать рефераты

МЕНЮ


Програмирование на Visual Basic

списка.

. Комбинированный список типа 2, содержащий названия цветов автомобилей.

. Метка с названием “Цвет”, поясняющая назначение комбинированного

списка.

. Метка без названия для отображения цвета, который выбирается в

комбинированном списке.

. Комбинированный список типа 0, содержащий названия исполнения

автомобилей.

. Рамка с названием “Тип кузова”, объединяющая три переключателя для

выбора типа кузова: “Кабриолет”, “Седан”, “Универсал”.

. Рамка с названием “Мощность”, содержащая горизонтальную линейку

прокрутки для изменения мощности двигателя, две метки для отображения

мощности двигателя в киловаттах и лошадиных силах, две поясняющие

метки с названиями “кВт” и “Л.С.” (для горизонтальной линейки

прокрутки на этапе проектирования формы задаются значения свойств:

минимальное значение - 30 (min = 30), максимальное значение - 500 (max

== 500), текущее значение - 75 ( value = 75), малый шаг - 1

(SmallChange = 1), большой шаг - 10 (LargeChage = 10), недоступна

(enabled = false)) и командную кнопку “Зафиксировать”.

. Рамка с названием “Список фирм - дистрибьюторов”, объединяющая список,

флажок, метку с названием “Двухколоночный”, поясняющую назначение

флажка, и четыре командных кнопки (“Очистить список”, “Удалить

название “, “Добавить название”, “Зафиксировать”). [pic]

. Флажки с названиями “Дизель” и “Металлик”.

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

линейками прокрутки.

. Метка с названием “Описание модели”.

. Командная кнопка “Конец”.

При проектировании формы значения свойств, определяющих основные цвета,

цвета фона, вид и размер шрифтов, размеры и расположение управляющих

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

Элементы управления и процедуры обработки событий должны обеспечить

следующую логику работы с формой.

[pic]

На этапе загрузки формы заполняются комбинированные списки “Фирма”, “Цвет”,

“Исполнение”, а также простой список “Фирм продавцов”:

|Список |Список |Список |Список |

|“Фирмы” |“Цвет” |“Исполнение|“Фирмы-продавц|

| | |” |ы” |

|Мерседес |Красный|Люкс |АЗР |

|Ауди |Белый |Стандарт |Musa Motors |

|Фольксваген|Черный |Минимум |ЛадаИнжинеринг|

|Шкода |Синий | |Sawa |

| | | | |

|Рено |Зеленый| |ЛогоВАЗ |

|Ситроен | | | |

| | | | |

|Лада | | | |

| | | | |

Заполнение производится в процедуре Form_Load с помощью методов Additem.

В той же процедуре задаются названия меток Label4 и Label5 (соответственно

значение мощности в киловаттах и в лошадиных силах). Эти названия должны

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

прокрутки. Для преобразования мощности из киловатт в лошадиные силы и

обратно надо использовать соотношение: 1Л.С.=735,499 Вт.

Для определения названия метки необходимо преобразовать численное значение

свойства HScrolll. Value в текст с использованием встроенной функции Str$

(выражение Str$(HScrolll. Value)).

В таблицах приведены операторы процедур обработки событий примера и

поясняющие их комментарии.

|Процедура |Комментарии |

|Sub Form Load() | |

| | |

|LabeM.Caption = |Определение названия |

|Str$(HScrolll. Value *|(свойство |

|735.499 / 1000) | |

|Label5.Caption = |Caption) метки Label4 |

|Str$(HScrolll. Value) |Определение названия |

| |метки Label5 |

|Combo 1.Add Item |Combol - имя списка |

|“Мерседес” |“Фирмы” |

|Combo 1.Add I tern |Additem - метод, |

|“Ауди” |осуществляющий |

|Combo 1.Add Item |добавление элементов в |

|“Фольксваген” |список с |

|Combol.Additem “Шкода”|указанным именем |

|Combo 1.Additem “Рено”|“Мерседес” - Значение |

| |добавляемого |

|Combol.Additem |элемента |

|“Ситроен” | |

|Combol.Additem “Лада” | |

| |Метод Additem одинаково|

| |действует |

|Combo2.AddItem |и для комбинированных |

|“Красный” |списков и |

|Combo2.AddItem “Белый”|для простых |

|Combo2.AddItem | |

|“Черный” | |

|Combo2.AddItem “Синий”| |

|Combo2.AddItem | |

|“Зеленый” | |

|СотЬоЗ.Additem “Люкс” | |

| | |

|Combo3.AddItern | |

|“Стандарт” | |

|Combo3.AddItem | |

|“Минимум” | |

|Listl.Additem “Musa | |

|Motors” | |

|Listl.Additem | |

|“ЛадаИнжинеринг” | |

|Listl.Additem “Sawa” | |

|Listl.Additem “A3P” | |

|Listl.Additem | |

|“ЛогоВАЗ” | |

|End Sub | |

| | |

В результате выполнения процедуры выводится форма (рис. 2.20). На форме

активны только четыре элемента: метка с названием “Фирма”, командная кнопка

“Конец”, текстовое окно “Описание модели” и комбинированный список “Фирма”.

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

фирмы-производителя. После выбора фирмы её название заносится в текстовое

окно “Описание модели”, комбинированный список фирм становится неактивным

вместе с меткой “Фирма”, а метка “Цвет”, комбинированный список для выбора

цветов автомобиля и метка отображения выбранного цвета становятся

активными.

Для выполнения указанных действий процедура Combo l_Click() (обработка

события щелчок по списку) содержит следующие операторы:

|Процедура |Комментарии |

|Sub Combo lClick() |Деактивизация |

| |комбинированного |

|Combol. Enabled == |списка путем присвоения|

|False |значения |

|Label 1. Enabled = |False( ложь ) свойству |

|False |Enabled |

| |(Активность) |

| | |

| |Добавление к значению |

| |текстовой |

|Text 1.Text = Text |строки “Описание |

|1.Text + |модели” |

|Combol.Text + Chr$(13) |значения текущего |

|+ Chr$(10) |(выбранного) |

| |элемента из |

| |комбинированного |

| |списка “Фирмы”. “+” - |

| |операция |

| |сцепления строк |

| |Chr$(10), Chr$(13) - |

| |функция, ре |

| |зультатом вычисления |

| |которой |

| |является символ с кодом|

| |10 и 13 |

| |13, 10 - комбинация |

| |символов для |

| |перевода курсора в |

| |начало следую |

| |щей строки текстового |

| |окна. |

| |Активизация |

| |комбинированного |

| |списка “Цвета” и его |

| |метки |

|Combo2. Enabled = True | |

| | |

|Label2. Enabled = True | |

|End Sub | |

| | |

После завершения выполнения данной процедуры на форме изменятся элементы

(рис. 2.21). [pic]

Рис. 2.21

[pic]

Рис. 2.22

На форме активны только четыре элемента: метка с названием “Цвет”,

командная кнопка “Конец”, комбинированный список для выбора цвета и

текстовое окно “Описание модели”. При щелчке по списку он разворачивается и

из него можно выбрать цвет для машины.

После выбора цвета его название заносится в текстовое окно “Описание

модели”, комбинированный список цветов становится неактивным вместе с

меткой “Цвет”, а метка “Исполнение” и комбинированный список для выбора

варианта исполнения автомобиля становятся активными (рис. 2.22).

Для выполнения указанных действий процедура Combo2_Click() (обработка

события “Щелчок по списку”) содержит следующие операторы:

[pic] Коды цветов приведены в следующей таблице:

|Цвет |Кол цвета |

| |&Н 000000 FF& |

| | |

| |&HOOFFOOOO& |

| |&НООСОСОСО& |

| | |

| |&HOOOOFFOO& |

| | |

|Голубой |&HOOFFFFOO& |

|Черный |&НООООООООО& |

|Белый |&HOOFFFFFF& |

|Желтый |&HOOOOFFFF& |

Коды цветов заданы в шестнадцатеричной системе счисления, в которой для

представления чисел используется 16 символов: цифры от 0 до 9 и буквы от А

(эквивалент 10) до F (эквивалент 15). Значимость каждой п-й позиции в

шестнадцате-ричном числе возрастает пропорционально степени \6”n. Например,

десятичное число 419 в шестнадцатеричном представлении записывается 1АЗ:

1*16”2 + 10*16”! + 3*16^0 = 419.

В двоичной системе число 15 записывается 1111, т.е. любой символ

шестнадцатеричного числа можно кодировать четырьмя битами. Память

компьютера разделена на байты (1 байт равен 8 битам) и каждый байт может

хранить любое из 256 (16^1) шестна-дцатеричных чисел: от 0 до FF. Такое

компактное представление информации на основе шестнадцатеричной системы

счисления обусловливает ее широкое использование в программировании.

Шестнадцатеричному числу в Visual Basic предшествуют символы &Н.

Как видно из рис. 2.22, на форме активны четыре элемента:

комбинированный список, соответствующий метке с названием “Исполнение”,

командная кнопка “Конец” и текстовое окно “Описание модели”. При щелчке по

элементу комбинированного списка можно выбрать соответствующий вариант

исполнения для машины. После выбора варианта исполнения его название

заносится в текстовое окно “Описание модели”, комбинированный список

становится неактивным вместе с меткой, а рамка с названием “Тип кузова” и

три переключателя внутри неё - активными (рис. 2.23). Для выполнения

указанных действий процедура Combo3_Click() (обработка события “Щелчок по

списку”) содержит следующие операторы:

[pic]

В результате выполнения данной процедуры на форме произойдут изменения,

показанные на (рис. 2.23). На форме активны шесть элементов: кнопка

“Конец”, рамка “Тип кузова”, текстовое окно “Описание модели” и три

переключателя в рамке.

[pic]

Рис. 2.23 [pic]

В результате форма примет вид, показанный на рис. 2.25. На форме активны:

текстовое окно с названием “Описание модели”, рамка “Список фирм-

дистрибъютеров”, командная кнопка с названием “Очистить список”, командная

кнопка с названием “Добавить название”, текстовая строка для добавления

нового имени в список продавцов и кнопка “Конец”.

При щелчке по флажку “Двухколоночный” список в зависимости от состояния

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

обработки события Check3_Click() содержит следующие операторы:

|Процедура |Комментарии |

|Sub Check3 Click() |Свойство Value элемента |

|IfCheck3.Value = 0 |Check равно 0, если |

|Then List!.Columns = |флажок не взведен. В |

|1 Else List 1.Columns|зависимости от значения |

|= 2 End If |этого свойства |

|End Sub |определяется свойство |

| |списка.(Listl.Columns = |

| |1 - список |

| |одноколоночный, |

| |Listl.Columns = 2 |

| |-список двухколоночный) |

При щелчке по кнопке “Очистить список” из списка фирм удаляются все

элементы с помощью метода Clear, а затем кнопка деактивизируется.

Реализующая процедура Command l_Click() содержит следующие операторы:

|Процедура |Комментарии |

|Sub Command I |Очистка списка Деактивация|

|ClickQ List [.Clear|кнопки очистки списка |

|Command L Enabled =|Деактивация кнопки |

|False |удаления элемента списка |

|Command3.Enabled = | |

|False End Sub | |

[pic]

Рис. 2.25

При щелчке по кнопке “Добавить элемент” содержимое текстовой строки

добавляется в список с помощью метода Additem. Список обладает свойством

автосортировки (добавление происходит в соответствии с упорядоченностью по

алфавиту). Происходит очищение текстовой строки и активизация кнопок

“Удалить элемент” и “Очистить список”. Это обеспечивается следующими

операторами:

|Процедура |Комментарии |

|Sub CoiTimand4Click() |Добавление нового имени|

|Listl.AddItem |в список Очистка |

|Text2.Text Text2.Text |текстовой строки. |

|= “” Command [.Enabled|Активизация кнопок |

|= True Command3. |“Удалить элемент” и |

|Enabled = True End Sub|“Очистить список” |

Для фиксации названия фирмы или удаления его из списка требуется

предварительно щелкнуть мышью по элементу списка. При обработке этого

события проверяется наличие элементов в списке и активизируются кнопки

“Зафиксировать”, “Удалить элемент” и “Очистить список”. Это обеспечивается

следующими операторами:

|Процедура |Комментарии |

|Sub Listi Click() If |Свойство Listlndex |

|List 1. Listi ndex >= 0|равно номеру |

|Then |выделенного элемента. |

|Command3.Enabled = True|Если ни один элемент не|

|Command6. Enabled = |выделен, то его |

|True End If End Sub |значение - 0 |

| |Активизация кнопки |

| |удаления элемента и |

| |фиксации элемента |

В результате обработки события “щелчок мыши” по элементу списка форма

примет вид на рис. 2.26.

[pic]

Рис. 2.26

При щелчке по кнопке “Удалить название” удаляется текущий выбранный элемент

из списка, деактивируется кнопка удаления списка и, при условии отсутствия

других элементов в списке, деактивируется кнопка “Очистить список”.

Проверка на пус

тоту списка осуществляется с помощью свойства ListCount,

значение которого равно числу элементов в списке. Это обеспечивается

следующими операторами:

|Процедура |Комментарии |

|Private Sub Command3 |Проверка на выбор |

|Clic() If Listi. Listi |элемента Удаление |

|ndex >= 0 Then List 1. |элемента из списка |

|Remove Item List 1. |Деактивация кнопки |

|List! ndex |удаления элемента |

|Command3.Enabled = |списка, так как нет |

|False End If |выделенных элементов в |

|If Listi. ListCount = 0|списке Проверка списка |

|Then Command [.Enabled |на пустоту. Если список|

|= False End If End Sub |пуст, то деактивация |

| |кнопки очистки списка |

При щелчке по кнопке “Зафиксировать” выбранное название фирмы помещается в

текстовое окно “Описание модели”, деактивизируется рамка с названием

“Список фирм-дистрибьюторов” и все управляющие элементы, лежащие внутри

рамки. Процедура обработки события щелчка по кнопке “Зафиксировать” имеет

следующий вид:

[pic]

В результате выполнения этой процедуры форма примет вид, показанный на рис.

2.27. [pic]

Рис. 2.27

На форме остались активными только два управляющих элемента: командная

кнопка “Конец” и тестовое окно “Описание модели”. В текстовое окно можно

добавлять собственный текст и редактировать имеющийся.

При нажатии на кнопку “Конец” работа программы завершается. Это

обеспечивается операторами:

|Процедура |Комментарии |

|Sub Command2 Click() |End - оператор завершения|

|End End Sub |программы |

Тексты всех процедур обработки событий примера:

Private Sub Check2_Click() If Check2.Value = 1 Then

Textl.Text = Textl.Text + Check2.Caption + Chr$(13) + Chr$(10)

Check2.Enabled = False End If End Sub

Private Sub Check3_Cli.ck() If Check3.Value = 0 Then

Listi.Columns = 1 Else

Listi.Columns = 2 End If End Sub

Private Sub Check4_Click () If Check4.Value = 1 Then

Check4.Enabled = False

Textl.Text = Textl.Text + Check4.Caption + Chr$(13) + Chr$(10) End If End

Sub

Private Sub Combol_Click() Combol.Enabled = False

Textl.Text = Textl.Text + Combol.Text + Chr$(13) + Chr$(10)

Labell.Enabled = False Combo2.Enabled = True Label2.Enabled = True End Sub

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.