Реферат по предмету "Информатика"


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

Содержание:

Введение 2

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

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

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

ER диаграмма 7

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

Заключение 20

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


Введение

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

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

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

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


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

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


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

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



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



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



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



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














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

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


Form1.dfm


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


Form2.dfm


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


Form3.dfm


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


ER диаграмма


Архив

База авто



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.


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.


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 запросы. Которая дает возможность ссылаться на единую базу, как через локальную сеть, так и через Интернет. Так как сейчас Интернет имеет глобальную значимость, то ее вероятности безграничны, и всегда можно быть в курсе данных. На примере, сеть компьютерных магазинов, которая основана в нескольких городах. Если заказчик, требует подборку «железа», которой в данный момент не присутствует в магазине, то есть возможность произвести его заказ из основного склада, например с другого города, которую должны, в короткие сроки, доставит к заказчику.

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

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

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

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

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


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

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


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

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


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

Казань: “Абри”, 2005 год. - 120 стр.


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

Москва: “Эксмо”, 2006. - 480 cтр.


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

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


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

Москва “Эксмо”, 2005 год. - 110 стр.


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

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


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

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



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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.