Автор: Пользователь скрыл имя, 21 Марта 2011 в 22:17, курсовая работа
Основные цели данного курсового проекта:
1. Разработать АИС по автосалону «Автомаркет».
2. Закрепить знания программирования в среде Delphi.
3. Познакомится со всеми этапами создания готового продукта.
Введение 2
Описание таблиц Базы Данных 3
Взаимосвязь между таблицами Базы Данных 4
Описание внешнего вида пользовательского интерфейса 5
ER диаграмма 7
Программный код 7
Программный код 8
Заключение 20
Использованная литература 21
Содержание:
Основные цели данного курсового проекта:
Результат проекта – готовый продукт (программа), которую в дальнейшем можно использовать в магазинах специализированных на продаже автомобилей.
При создании
проекта будет использоваться механизм
доступа к данным Borland Database Engine (BDE).
Этот механизм доступа к данным позволяет
обращаться к локальным и файл-серверным
форматам баз данных dBase, FoxPro и Paradox, к различным
серверам SQL и ко многим другим источникам
данных, доступ которых поддерживался
при помощи драйверов ODBC. Например, с помощью
BDE можно напрямую работать с табличными
файлами MS Excel.
В
данном случае оформление программы производилось
добавлением основных элементов как DbGrid,
ComboBox и т.д., а присвоение их значение производилось
в самом коде.
Рис.1
Общее окно
Рис.2
Окно оформления автомобиля
Рис.3
Окно Архива клиентов (тех кто купил автомобиль)
1
∞
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.
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_
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.
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.
'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(
else
sql_str:='SELECT * FROM '+CB1.Text+' WHERE Tip_kyzova='+QuotedStr(CB2.
'AND Data_vipyska='+QuotedStr(
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);