Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Реализация задания






Приводится проект, дающий справку желающим приобрести автомобиль. Создан класс Class1, содержащий компоненты, определяющие название фирмы-изготовителя, модель автомобиля, его стоимость, изображение автомобиля и следующие технические характеристики:

· тип двигателя (бензин/дизель),

· число цилиндров/рабочий объём,

· система питания (карбюратор/впрыскивание),

· мощность (л.с),

· максимальная скорость (км/час),

· разгон 0 - 100 (км/час)/сек,

· привод (передний/задний/4х4).

Далее создаётся экземпляр класса: Dim av As New Class1, использующий компоненты класса.

Пользователю предлагается решить вопрос о необходимости покупки, выбрать фирму-изготовителя, ответить на вопрос о выводе изображения покупаемого автомобиля, либо его технических характеристик, либо обеих категорий одновременно (используются процедуры Property Get и Property Let, созданные в классе Class1), после чего программа адекватно реагирует: либо выводятся вышеперечисленные данные, либо выводится некоторое сообщение.

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

1. добавить в стандартный проект модуль класса (Project -> Add Class Module -> Class Module -> Открыть),

2. создать:

o методы класса. Четыре метода создаются в процедурах: Public Function Met1(), Public Function Met2(), Public Function Met3(), Public Function Met4() (Tools -> Add Procedure -> ввести имя { Met1, Met2, Met3, Met4}-> выбрать Function -> выбрать Public -> OК),

o свойства класса. Свойства задаются с использованием процедур Property Get и Property Let (Tools -> Add Procedure? ввести имя (здесь - varian) -> выбрать Property -> выбрать Public -> OК),

o поля класса - avto, firma, model, stoim, pict, var, см. ниже.

3. создать на форме:

o два элемента управления ComboBox с именами Combo1 и Combo2,

o два элемента управления CommandButton с именами Command1 и Cоmmand2; значению свойства Caption объектаCommand1 присвоить значение " OK", Cоmmand2 - " Exit",

o элементы управления Label1 - Label4, значениям свойств Caption присвоить: Label1 - " Хотите ли Вы купить машину? ", Label2 - " Выберите фирму-изготовитель", Label3 - " Хотите ли Вы увидеть изображение выбранного автомобиля или его технические характеристики? ", Label4 - " ", свойству Visible объекта Label4 присвоитьFalse,

o массив элементов управления OptionButton (присвоить значения свойствам - Option1(0).Caption= " да", Option1(1).Caption= " нет"),

o массивы элементов управления PictureBox: Picture1(0) - Picture1(12) и Picture2(0) - Picture(12). СвойствуVisible всех элементов управления присвоить значение False. Свойству Picture каждого элемента управления присвоить значение изображения соответствующего автомобиля и списка технических характеристик (эти списки создаются в приложении Excel, далее таблицы передаются в приложение Paint и сохраняются как рисунки).

4. ввести код в область класса (см. ниже " область проекта Class1"),

5. ввести код, данный ниже, в области:

o General Declarations формы,

o Combo1, событие Click,

o Combo2, событие Click,

o Command1, событие Click,

o Command, событие Click,

o Form, событие Load,

o Form, событие Unload,

6. стартовать проект, получить справку о предполагаемой покупке.

/////////////////////////////область проекта Class1////////////////////////////////

Public avto As Boolean

Public firma As String

Public model As String

Public stoim As String

Public pict As String

Dim var As String

Private Sub Class_Initialize() ' инициализация полей класса

avto = False: firma = " ": model = " ": stoim = " ": var = " "

End Sub

Public Function Met1()

' Если пользователь нажал кнопку (OptionButton) - Да, то выполнить процедуры

' Met2, Met3, Met4, результатом выполнения которых является вывод данных:

' марка, стоимость, изображение и технические характеристики, иначе

' Met1 = False и выводится сообщение " Приносим свои извинения, мы даем

' информацию для желающих купить автомобиль"

If avto = True Then

model = Met2()

stoim = Met3()

pict = Met4() ' поле pict определяет номера элементов массивов

' PictureBox, см. Met4

Met1 = True

Else

Met1 = False

End If

End Function

' после щелчка на кнопках Да/Нет (два переключателя OptionButton) и выбора

' фирмы из списка ComboBox c именем Combo1 определить марку автомобиля

Public Function Met2()

Select Case firma

Case " AUDI": Met2 = " A6"

Case " CITROEN": Met2 = " C5"

Case " FORD": Met2 = " Focus"

Case " HONDA": Met2 = " Accord"

Case " HYUNDAI": Met2 = " Elanta"

Case " JEEP": Met2 = " Grand Cherokee LTD"

Case " LAND ROVER": Met2 = " Land Rover Discovery"

Case " LEXSUS": Met2 = " RX330"

Case " MITSUBISHI": Met2 = " Pajero III"

Case " NISSAN": Met2 = " Primera(1.8)"

Case " PEUGEOT": Met2 = " 307 XR"

Case " PORSCHE": Met2 = " Cayenne Turbo"

Case " RENAULT": Met2 = " Laguna II"

End Select

End Function

' определить стоимость автомобиля в долларах США

Public Function Met3()

Select Case firma

Case " AUDI": Met3 = " 41500"

Case " CITROEN": Met3 = " 20100"

Case " FORD": Met3 = " 12430"

Case " HONDA": Met3 = " 33900"

Case " HYUNDAI": Met3 = " 13790"

Case " JEEP": Met3 = " 41690"

Case " LAND ROVER": Met3 = " 40850"

Case " LEXSUS": Met3 = " 65500"

Case " MITSUBISHI": Met3 = " 56640"

Case " NISSAN": Met3 = " 25100"

Case " PEUGEOT": Met3 = " 13808"

Case " PORSCHE": Met3 = " 140500"

Case " RENAULT": Met3 = " 22900"

End Select

End Function

Public Function Met4()

' при выборе данных из списка ComboBox с именем Combo2

' (после щелчка на кнопке " OК") определяется номер элемента массива

' PictureBox, соответствующий выбранной фирме-изготовителю и

' на экран позднее выводится соответствующая фотография

' и/или технические характеристики автомобиля

Select Case firma

Case " AUDI": Met4 = " 0"

Case " CITROEN": Met4 = " 1"

Case " FORD": Met4 = " 2"

Case " HONDA": Met4 = " 3"

Case " HYUNDAI": Met4 = " 4"

Case " JEEP": Met4 = " 5"

Case " LAND ROVER": Met4 = " 6"

Case " LEXSUS": Met4 = " 7"

Case " MITSUBISHI": Met4 = " 8"

Case " NISSAN": Met4 = " 9"

Case " PEUGEOT": Met4 = " 10"

Case " PORSCHE": Met4 = " 11"

Case " RENAULT": Met4 = " 12"

End Select

End Function

' процедура Property Let используется для задания значения свойства,

' Property Get - для считывания значения свойства

Public Property Get varian() As String

Select Case var

Case Is = 0: varian = " pict"

Case Is = 1: varian = " texn"

Case Is = 2: varian = " all"

End Select

End Property

Public Property Let varian(ByVal vNewValue As String)

Select Case vNewValue

Case " изображение": var = 0

Case " технические параметры": var = 1

Case Else: var = 2

End Select

End Property

/////////////////////////////////область проекта Form1/////////////////////////////

Dim av As Class1 ' av - экземпляр класса

Dim v As String

Dim i As Integer, j As Integer

Private Sub Combo1_Click()

' сделать невидимыми элементы управления Label и Picture

' (формирующие фотографии, технические характеристики, фирму,

' марку и стоимость), для того, чтобы впоследствии на форму

' выводились только те из них, которые определяет своими

' действиями покупатель

Label5.Visible = False

For i = 0 To 12

Picture1(i).Visible = False

Picture2(i).Visible = False

Next

Dim ot As String ' переменная для хранения сообщения программы

av.firma = Combo1.Text ' значение поля firma объекта av взять из

' списка ComboBox с именем Combo1

av.avto = Option1(0).Value ' значение поля avto объекта av взять

' из поля массива OptionButton

If av.Met1 = True Then

ot = " " & CStr(av.firma) & vbCrLf: ot = ot & " " & vbCrLf

ot = ot & " модель " & CStr(av.model) & vbCrLf: ot = ot & " " & vbCrLf

ot = ot & " цена в $ " & CStr(av.stoim) & vbCrLf: ot = ot & " " & vbCrLf

ot = ot & " Для получения более полной информации обращайтесь_

по телефону 7077888"

MsgBox Title: =" Мы можем предложить", Prompt: =ot

Else

Label5.Visible = False

Picture1(Val(av.pict)).Visible = False ' аргумент Picture1: (av.pict)

' определяет индекс элемента массива PictureBox

ot = " Приносим свои извинения, мы даем информацию для желающих_

купить автомобиль"

MsgBox Title: =" Автосалон START", Prompt: =ot

End If

End Sub

Private Sub Combo2_Click()

av.varian = Combo2.Text ' см. процедуру Property Let. Присваиваем

' свойству varian значение выбранные из списка ComboBox с именем Combo2

End Sub

Private Sub Command1_Click()

Label5.Visible = False

Label5.Caption = " "

For i = 0 To 12

Picture1(i).Visible = False

Picture2(i).Visible = False

Next

v = av.varian ' см. процедуру Property Get. Переменной v присваиваем

' значение свойства varian объекта av

av.avto = Option1(0).Value

If av.Met1 = True Then

Select Case v

Case " pict"

Picture1(Val(av.pict)).Visible = True

Case " texn"

Picture2(Val(av.pict)).Visible = True ' технические характеристики

' хранятся как изображения в соответствующих элементах

' массива PictureBox2

Case " all"

Picture1(Val(av.pict)).Visible = True

Picture2(Val(av.pict)).Visible = True

Label5.Visible = True

Label5.Caption = CStr(av.firma) & " " & CStr(av.model) & _

vbCrLf & " цена в $ " & CStr(av.stoim)

End Select

Else

Picture1(Val(av.pict)).Visible = False

Picture2(Val(av.pict)).Visible = False

MsgBox Title: =" Автосалон START", Prompt: =" Приносим свои_

извинения, мы даем информацию для желающих купить автомобиль"

End If

End Sub

Private Sub Command2_Click()

MsgBox Title: =" Автосалон START", Prompt: = " Мы всегда рады помочь! _

Будем рады новой встрече! "

End ' выход из программы после сообщения MsgBox.

End Sub

Private Sub Form_Load()

Set av = New Class1 ' описание объектной переменной дано выше

' заполнение списка ComboBox с именем Combo1 названиями фирм

Combo1.AddItem " AUDI"

Combo1.AddItem " CITROEN"

Combo1.AddItem " FORD"

Combo1.AddItem " HONDA"

Combo1.AddItem " HYUNDAI"

Combo1.AddItem " JEEP"

Combo1.AddItem " LAND ROVER"

Combo1.AddItem " LEXSUS"

Combo1.AddItem " MITSUBISHI"

Combo1.AddItem " NISSAN"

Combo1.AddItem " PEUGEOT"

Combo1.AddItem " PORSCHE"

' заполнение списка ComboBox с именем Combo2 предложениями для

' выбора данных в процедурах Property Get и Property Let

Combo2.AddItem " изображение"

Combo2.AddItem " технические параметры"

Combo2.AddItem " все данные"

End Sub

Private Sub Form_Unload(Cancel As Integer)

Set av = Nothing ' удалить объект из памяти

End Sub


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.02 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал