Студопедия
rus | ua | other

Home Random lecture






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


Date: 2015-10-07; view: 378.


Задание для курсового проектирования

Создать в предметной области "автомобили" класс с требуемой функциональностью (использовать компоненты класса: методы, поля и т.д.). Создать объект - экземпляр класса. Создать пример использования объектом компонентов класса.

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


<== previous lecture | next lecture ==>
Введение | Работа пользователя с проектом
lektsiopedia.org - 2013 год. | Page generation: 0.003 s.