Студопедия — Реализация задания
Студопедия Главная Случайная страница Обратная связь

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

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






Приводится проект, дающий справку желающим приобрести автомобиль. Создан класс 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







Дата добавления: 2015-06-12; просмотров: 576. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

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

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

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия