Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пояс записка.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
862.64 Кб
Скачать

Постановка задачи

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

Таблица 1

Автостоянка

Код, Владелец, Марка, Номер, Цвет, Дата прибытия, Оплата, Оплачено

Требования к функциональным характеристикам

1.1 Система должна обеспечивать возможность выполнения следующих функций:

- ввод информации о новых автомобилях на стоянке;

- редактирование текущей информации о владельце и его машине;

- получение сведений о текущих машинах на стоянке.

1.2 Результаты:

- поиск по владельцу

- поиск по марке

- поиск по цвету машины

- поиск по номеру машины

- поиск по дате прибытия

- отчет по дате регистрации

Разработка программы

Работа выполняется в среде объектного программирования Delphi 7.

База данных была разработана в СУБД Аксес. Осуществлялась свзять между СУБД Аксес и Delphi 7. Форму представления база имееть в Delphi 7.

Минимальные требования:

  • операционная система Windows 7, Windows XP;

  • оперативная память 32 Мб;

  • процессор Intel Pentium 3, Athlon AMD;

  • видеокарта с памятью 32 МБ;

  • свободное пространство 20 МБ;

Рисунок 1

Разработка пользовательского интерфейса

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

Рисунок 2

Для защиты информации был предусмотрел ввод с помощью пароля. Это позволяет защитить базу от нежелательного доступа к ней.

На первой странице пользователю будет представлена возможность доступа к базе (рисунок 2). При правильном введении пароля открывается сама база (рисунок 1). Тут спокойно можно просматривать текущую информацию о автомобилях на стоянке. Она включает в себя:

- Код – ID человека, порядок, самое старшее число определяет общее колтичество зарегестрированных машин;

- Владелец – указывается имя (фамилия) владельца транспорта; - Марка – указывается характерная марка транспорта;

- Номер – основной параметр транспорта, уникальный для каждой машины;

- Цвет – цветовая палитра машины, удобно если она является особенной;

- Дата прибытия – указывается дата, в которой машина находилась на стоянке;

- Оплата – стоимость стоянки за промежуток времени который, транспорт находился на стоянке;

- Оплачено – указывается была ли осуществлена оплата.

Код программы

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses unit2,unit4, unit3;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

edit1.Clear;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if edit1.Text='123' then

begin

form3.Show;

form1.Visible:=false;

end

else

begin

edit1.Clear;

showmessage('Неверный пароль');

end;

end;

end.

*****************

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids;

type

TForm3 = class(TForm)

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

Button1: TButton;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Label5: TLabel;

Edit5: TEdit;

Button7: TButton;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses unit2, unit1, unit4;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

form1.Close;

form3.Close;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

edit1.Clear;

edit2.Clear;

edit3.Clear;

edit4.Clear;

edit5.Clear;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

dbgrid2.DataSource:=datamodule2.DataSource2;

datamodule2.ADOQuery1.Active:=false;

datamodule2.ADOQuery1.SQL.Clear;

datamodule2.ADOQuery1.SQL.Add('select *');

datamodule2.ADOQuery1.SQL.Add('from Автостоянка');

datamodule2.ADOQuery1.SQL.Add('where Владелец='''+Edit1.Text+'''');

datamodule2.ADOQuery1.Active:=true;

edit1.Clear;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

dbgrid2.DataSource:=datamodule2.DataSource2;

datamodule2.ADOQuery1.Active:=false;

datamodule2.ADOQuery1.SQL.Clear;

datamodule2.ADOQuery1.SQL.Add('select *');

datamodule2.ADOQuery1.SQL.Add('from Автостоянка');

datamodule2.ADOQuery1.SQL.Add('where Марка='''+Edit2.Text+'''');

datamodule2.ADOQuery1.Active:=true;

edit2.Clear;

end;

procedure TForm3.Button4Click(Sender: TObject);

begin

dbgrid2.DataSource:=datamodule2.DataSource2;

datamodule2.ADOQuery1.Active:=false;

datamodule2.ADOQuery1.SQL.Clear;

datamodule2.ADOQuery1.SQL.Add('select *');

datamodule2.ADOQuery1.SQL.Add('from Автостоянка');

datamodule2.ADOQuery1.SQL.Add('where Цвет='''+Edit3.Text+'''');

datamodule2.ADOQuery1.Active:=true;

edit3.Clear;

end;

procedure TForm3.Button5Click(Sender: TObject);

begin

dbgrid2.DataSource:=datamodule2.DataSource2;

datamodule2.ADOQuery1.Active:=false;

datamodule2.ADOQuery1.SQL.Clear;

datamodule2.ADOQuery1.SQL.Add('select *');

datamodule2.ADOQuery1.SQL.Add('from Автостоянка');

datamodule2.ADOQuery1.SQL.Add('where Дата_прибытия='''+Edit5.Text+'''');

datamodule2.ADOQuery1.Active:=true;

edit4.Clear;

end;

procedure TForm3.Button6Click(Sender: TObject);

begin

form4.Visible:=true;

form3.Visible:=false;

end;

end.

**************

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, QRCtrls, QuickRpt, ExtCtrls;

type

TForm4 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

QuickRep1: TQuickRep;

TitleBand1: TQRBand;

QRLabel1: TQRLabel;

QRSysData1: TQRSysData;

ColumnHeaderBand1: TQRBand;

DetailBand1: TQRBand;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

QRLabel9: TQRLabel;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRDBText5: TQRDBText;

QRDBText6: TQRDBText;

QRDBText7: TQRDBText;

QRDBText8: TQRDBText;

PageFooterBand1: TQRBand;

QRLabel10: TQRLabel;

QRLabel11: TQRLabel;

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses unit2, unit1, unit3;

{$R *.dfm}

procedure TForm4.Button2Click(Sender: TObject);

begin

form3.Show;

form4.Visible:=false;

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

edit1.Clear;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

datamodule2.ADOQuery1.Active:=false;

datamodule2.ADOQuery1.SQL.Clear;

datamodule2.ADOQuery1.SQL.Add('select *');

datamodule2.ADOQuery1.SQL.Add('from Автостоянка');

datamodule2.ADOQuery1.SQL.Add('where Дата_прибытия='''+Edit1.Text+'''');

datamodule2.ADOQuery1.Active:=true;

quickrep1.PreviewModal;

edit1.Clear;

end;

end.