РефератыИнформатикаАвАвтоматизация автосалона 2

Автоматизация автосалона 2

Содержание:


Введение. 2


Описание таблиц Базы Данных. 3


Взаимосвязь между таблицами Базы Данных. 4


Описание внешнего вида пользовательского интерфейса. 5


ER диаграмма. 7


Программный код. 7


Программный код. 8


Заключение. 20


Использованная литература. 21


Введение


Основные цели данного курсового проекта:


1. Разработать АИС по автосалону «Автомаркет».


2. Закрепить знания программирования в среде Delphi.


3. Познакомится со всеми этапами создания готового продукта.


Результат проекта – готовый продукт (программа), которую в дальнейшем можно использовать в магазинах специализированных на продаже автомобилей.


При создании проекта будет использоваться механизм доступа к данным Borland Database Engine (BDE). Этот механизм доступа к данным позволяет обращаться к локальным и файл-серверным форматам баз данных dBase, FoxPro и Paradox, к различным серверам SQL и ко многим другим источникам данных, доступ которых поддерживался при помощи драйверов ODBC. Например, с помощью BDE можно напрямую работать с табличными файлами MS Excel.


Описание таблиц Базы Данных


1)

Catalog

.

db

– таблица содержит каталог автомобилей (Acura, BMW и т.д.).







2)

Characteristic

.

db

– таблица содержит в себе данные о характеристиках автомобилей.







3)

The

.

Characteristic

.

db

– в таблицу входят подробное описание характеристик каждого автомобиля.





4)

Zakaz

.

db

– в таблице отображается наименование автомобиля который был куплен, то есть добавлен в «Архив».







Взаимосвязь между таблицами Базы Данных


























Описание внешнего вида пользовательского интерфейса


В данном случае оформление программы производилось добавлением основных элементов как DbGrid, ComboBox и т.д., а присвоение их значение производилось в самом коде.


1)

Form1.

dfm




Рис.1 Общее окно








2)

Form2.dfm



Рис.2 Окно оформления автомобиля


3)

Form

3

.dfm



Рис.3 Окно Архива клиентов (тех кто купил автомобиль)







ER
диаграмма












1







Программный
код




1)

Unit1.pas



unit Unit1;


interface


uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, DB, Grids, DBGrids, DBTables, DBCtrls, StdCtrls, XPMan, ComCtrls,


Buttons, Menus, ExtCtrls;


type


TForm1 = class(TForm)


Query1: TQuery;


DBGrid1: TDBGrid;


DataSource1: TDataSource;


XPManifest1: TXPManifest;


GroupBox1: TGroupBox;


Label1: TLabel;


Label2: TLabel;


CB1: TComboBox;


CB2: TComboBox;


GroupBox2: TGroupBox;


Label3: TLabel;


txtOt: TEdit;


txtDo: TEdit;


RB1: TRadioButton;


Label4: TLabel;


RB2: TRadioButton;


Label5: TLabel;


txtYear: TEdit;


cmdApply: TButton;


cmdAll: TButton;


PM1: TPopupMenu;


N1: TMenuItem;


DBNavigator1: TDBNavigator;


MainMenu1: TMainMenu;


N2: TMenuItem;


N3: TMenuItem;


Bevel1: TBevel;


procedure FormCreate(Sender: TObject);


procedure CB1Change(Sender: TObject);


procedure CB2Change(Sender: TObject);


procedure RB1Click(Sender: TObject);


procedure RB2Click(Sender: TObject);


procedure cmdApplyClick(Sender: TObject);


procedure cmdAllClick(Sender: TObject);


procedure DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;


Shift: TShiftState; X, Y: Integer);


procedure N1Click(Sender: TObject);


procedure N3Click(Sender: TObject);


private


{ Private declarations }


public


{ Public declarations }


end;


var


Form1: TForm1;


implementation


uses Unit2, Unit3;


{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);


var


sql_str:string;


begin


sql_str:='SELECT * FROM Katalog';


Query1.SQL.Clear;


Query1.SQL.Add(sql_str);


Query1.Open;


Query1.First;


while not Query1.Eof do


begin


CB1.Items.Add(Query1.FieldByName('AVTO').AsString);


Query1.Next;


end;


CB1.ItemIndex:=0;


CB1Change(Sender);


end;


procedure TForm1.CB1Change(Sender: TObject);


var


sql_str,tip:string;


i:byte;


bFind:bool;


begin


CB2.Clear;


CB2.Items.Add('Все типы');


sql_str:='SELECT * FROM '+CB1.Text;


Query1.SQL.Clear;


Query1.SQL.Add(sql_str);


try


Query1.Open;


except


on EDBEngineError do


exit;


end;


Query1.First;


while not Query1.Eof do


begin


bFind:=false;


tip:=Query1.FieldByName('Tip_kyzova').AsString;


for i:=0 to CB2.Items.Count-1 do


if CB2.Items.Strings[i]=tip then


begin


bFind:=true;


break;


end;


if bFind=false then CB2.Items.Add(tip);


Query1.Next;


end;


CB2.ItemIndex:=0;


end;


procedure TForm1.CB2Change(Sender: TObject);


var


sql_str:string;


begin


if CB2.Text='Все типы' then


sql_str:='SELECT * FROM '+CB1.Text


else


sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text);


Query1.SQL.Clear;


Query1.SQL.Add(sql_str);


Query1.Open;


end;


procedure TForm1.RB1Click(Sender: TObject);


begin


txtYear.Enabled:=false;


Label5.Enabled:=false;


txtOt.Enabled:=true;


txtDo.Enabled:=true;


Label3.Enabled:

=true;


Label4.Enabled:=true;


txtOt.SetFocus;


end;


procedure TForm1.RB2Click(Sender: TObject);


begin


txtOt.Enabled:=false;


txtDo.Enabled:=false;


Label3.Enabled:=false;


Label4.Enabled:=false;


txtYear.Enabled:=true;


Label5.Enabled:=true;


txtYear.SetFocus;


end;


procedure TForm1.cmdApplyClick(Sender: TObject);


var


sql_str:string;


begin


Query1.SQL.Clear;


if RB1.Checked then


if CB2.Text='Все типы' then


sql_str:='SELECT * FROM '+CB1.Text+


' WHERE Data_vipyska BETWEEN '+QuotedStr(txtOt.Text)+' AND '+QuotedStr(txtDo.Text)


else


sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text)+


'AND Data_vipyska BETWEEN '+QuotedStr(txtOt.Text)+' AND '+QuotedStr(txtDo.Text)


else


if CB2.Text='Все типы' then


sql_str:='SELECT * FROM '+CB1.Text+' WHERE Data_vipyska='+QuotedStr(txtYear.Text)


else


sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.Text)+


'AND Data_vipyska='+QuotedStr(txtYear.Text);


Query1.SQL.Add(sql_str);


Query1.Open;


end;


procedure TForm1.cmdAllClick(Sender: TObject);


begin


CB2Change(Sender);


end;


procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;


Shift: TShiftState; X, Y: Integer);


var


p:TPoint;


begin


GetCursorPos(p);


if Button=mbRight then PM1.Popup(p.X,p.Y);


end;


procedure TForm1.N1Click(Sender: TObject);


begin


Form2.ShowModal;


end;


procedure TForm1.N3Click(Sender: TObject);


begin


Form3.ShowModal;


end;


end.


2)

Unit2.pas



unit Unit2;


interface


uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, StdCtrls, DB, DBTables;


type


TForm2 = class(TForm)


Label1: TLabel;


txtFam: TEdit;


Label2: TLabel;


lblMarka: TLabel;


Label4: TLabel;


lblModel: TLabel;


cmdOk: TButton;


cmdClose: TButton;


Label3: TLabel;


lblCena: TLabel;


Query1: TQuery;


procedure FormShow(Sender: TObject);


procedure cmdCloseClick(Sender: TObject);


procedure cmdOkClick(Sender: TObject);


private


{ Private declarations }


public


{ Public declarations }


end;


var


Form2: TForm2;


implementation


uses Unit1;


{$R *.dfm}


procedure TForm2.FormShow(Sender: TObject);


begin


lblMarka.Caption:=Form1.CB1.Text;


lblModel.Caption:=Form1.DBGrid1.Fields[0].Text;


lblCena.Caption:=Form1.DBGrid1.Fields[5].Text;


end;


procedure TForm2.cmdCloseClick(Sender: TObject);


begin


Close;


end;


procedure TForm2.cmdOkClick(Sender: TObject);


var


sql_str:string;


begin


sql_str:='INSERT INTO Zakaz(Marka,Model,Cena,Fam) VALUES('+QuotedStr(lblMarka.Caption)+


','+QuotedStr(lblModel.Caption)+','+QuotedStr(copy(lblCena.Caption,0,length(lblCena.Caption)-3))+','+QuotedStr(txtFam.Text)+')';


Query1.SQL.Clear;


Query1.SQL.Add(sql_str);


Query1.ExecSQL;


MessageDlg('Поздравляем с покупкой нового автомобиля!',mtInformation,[mbOk],0);


Close;


end;


end.


3)

Unit3.pas



unit Unit3;


interface


uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls;


type


TForm3 = class(TForm)


DBGrid1: TDBGrid;


Query1: TQuery;


DataSource1: TDataSource;


txtFilter: TEdit;


Label1: TLabel;


procedure txtFilterChange(Sender: TObject);


procedure FormShow(Sender: TObject);


private


{ Private declarations }


public


{ Public declarations }


end;


var


Form3: TForm3;


implementation


{$R *.dfm}


procedure TForm3.txtFilterChange(Sender: TObject);


begin


Query1.Filter:='';


if txtFilter.Text='' then


Query1.Filtered:=false


else


begin


Query1.Filter:='Fam='+QuotedStr(txtFilter.Text+'*');


Query1.Filtered:=true;


end;


end;


procedure TForm3.FormShow(Sender: TObject);


var


sql_str:string;


begin


sql_str:='SELECT * FROM Zakaz';


Query1.SQL.Clear;


Query1.SQL.Add(sql_str);


Query1.Open;


end;


end.


Заключение




При проектировании данной курсовой работы, были использованы материалы по теоретической части, а именно SQL запросы. Которая дает возможность ссылаться на единую базу, как через локальную сеть, так и через Интернет. Так как сейчас Интернет имеет глобальную значимость, то ее вероятности безграничны, и всегда можно быть в курсе данных. На примере, сеть компьютерных магазинов, которая основана в нескольких городах. Если заказчик, требует подборку «железа», которой в данный момент не присутствует в магазине, то есть возможность произвести его заказ из основного склада, например с другого города, которую должны, в короткие сроки, доставит к заказчику.


В данной курсовой работе, так же были учтены такие услуги как, «Архив», где идет учет продаваемой продукции.


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


Использованная литература




1.
Галисеев Г. В. “Компоненты в
Delphi
7.”


Санкт-Петербург: “Вильямс”, 2004 год. - 642 стр.


2.
Коржинский С.Н. “Изучаем
Delphi


SNK Press Online (электронное издание), 2007год.
c
тр.- 344


3.
Петров К.Д.
“Delphi
.
Help
.”


Казань: “Пром”, 2004 год. - 230
c
тр.


4.
Пиренеев А.Н. “
Delphi
:Самоучитель.”


Казань:

Абри”, 2005 год. - 120 стр.


5.
Поган А. “Delphi: Руководство программиста.”


Москва:

Эксмо

, 2006. - 480
c
тр.


6.
Стив
Тейксейр
,
Ксавье
Пачеко
“Borland Delphi 6.
Руководство разработчика.“


Санкт-Петербург: “Вильямс”, 2002 год. - 1120 стр.


7.
Хомкин Б.А. “Delphi: Сделай сам.”


Москва

Эксмо
”,
2005 год. - 110 стр.


8.
Чиртик А. “
Delphi
: Трюки и эффекты”


Санкт-Петербург: “Питер”; 2007 год. – 400 стр.


9.
Шабров В.Н. “Delphi: Программируй сам.”


Казань
: “
Абри
”;
2006 год. - 200 стр.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Автоматизация автосалона 2

Слов:1586
Символов:17054
Размер:33.31 Кб.