logo
Разработка автоматизированной системы "Автомастер"

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

При разработке пользовательского интерфейса необходимо учитывать следующие требования:

- интерфейс должен быть максимально удобен и интуитивно прост;

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

- информации не должно быть слишком много, чтобы в ней было легко ориентироваться;

- для визуального оформления и эстетически приятного восприятия информации следует вводить графические элементы - фоновые картинки и прочую графику, использовать различные шрифты;

Исходя из этих требований, необходимо создавать интерфейс программы.

При входе в систему пользователь видит перед собой форму, представленную на рисунке 4.

Рисунок 4

Код обработчика события при нажатии кнопки «Вход»

procedure TForm1.Button1Click(Sender: TObject);

begin

if edit1.Text=admin

then begin if edit2.Text=pas then

begin

form2.show;

form1.hide;

end;

end

else showmessage(имя или пароль введены неверно);

end;

Главное меню программы представлено на рисунке 5.

Рисунок 5

Из главного меню выполняется переход в основные формы программы. Листинг обработчиков событий главного меню представлен ниже:

procedure TForm2.Button6Click(Sender: TObject);

begin

form2.close;

form1.close;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

form3.show;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

form4.show

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

form5.show;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

form6.show;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

form7.show;

end;

При нажатии кнопки «Регистрации клиента» открывается форма, в которо производятся операции с данными о клиенте. На рисунке 6 представлено окно регистрации клиента.

Рисунок 6

Листинг формы представлен ниже:

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ADODB;

type

TForm3 = class(TForm)

Button1: TButton;

Label1: TLabel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DataSource1: TDataSource;

ADOTable1: TADOTable;

ADOConnection1: TADOConnection;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

form3.Close;

end;

end.

При нажатии кнопки «Регистрация автомобиля» появляется окно ввода данных об автомобилях (Рисунок 7).

Рисунок 7

Код формы представлен ниже:

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, DB, DBTables, ADODB;

type

TForm4 = class(TForm)

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

Label1: TLabel;

Button1: TButton;

DataSource1: TDataSource;

ADOTable1: TADOTable;

ADOConnection1: TADOConnection;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

form4.Close;

end;

end.

При нажатии кнопки «Услуги» открывается окно ввода информации об услугах автосервиса (рисунок 8).

Рисунок 8

Код окна «Услуги»:

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ADODB;

type

TForm5 = class(TForm)

Label1: TLabel;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

DataSource1: TDataSource;

ADOTable1: TADOTable;

ADOConnection1: TADOConnection;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);

begin

form5.close;

end;

end.

При нажатии кнопки «Запчасти» появляется окно редактирования информации о запчастях (рисунок 9).

Рисунок 9

Листинг кода формы «запчасти»:

unit Unit6;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ADODB;

type

TForm6 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Label1: TLabel;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

form6.Close;

end;

end.

При нажатии кнопки «Заказы» появляется окно работы с заказами (рисунок 10).

Рисунок 10

В окне «заказы» есть возможность добавления, удаления и печати заказов. Для добавления заказа нужно в с таблицах Машины, Клиенты, Услуги и Запчасти выбрать нужные записи; затем вписать причину обращения клиента и нажать кнопку «Составить заказ». После этого в таблице заказов появится составленный заказ (рисунок 11). Для его печати нужно нажать кнопку «Печать». После этого появится окно предпросмотра печати(рисунок 12) и появляется возможность печати на бумажном носителе.

Рисунок 11.

Рисунок 12.

Код окна заказы представлен ниже:

unit Unit7;

interface

uses

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

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

ADODB;

type

TForm7 = class(TForm)

DBGrid1: TDBGrid;

Label1: TLabel;

Button1: TButton;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

DataSource5: TDataSource;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DBGrid4: TDBGrid;

Label2: TLabel;

Button3: TButton;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

DBGrid5: TDBGrid;

ADOTable5: TADOTable;

Edit1: TEdit;

DBNavigator1: TDBNavigator;

ADOTable6: TADOTable;

DataSource6: TDataSource;

Button5: TButton;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses Unit8, Unit9;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

form7.Close;

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

ADOTable5.insert;

adotable5.FieldByName(auto).AsString:=adotable1.FieldByName(nazv).AsString;

adotable5.FieldByName(Fio).AsString:=adotable2.FieldByName(fio).AsString;

adotable5.FieldByName(us).AsString:=adotable3.FieldByName(nazv_us).AsString;

adotable5.FieldByName(zp).AsString:=adotable4.FieldByName(nazv_zp).AsString;

adotable5.FieldByName(po).AsString:=edit1.text;

adotable5.FieldByName(Data).AsString:=DateToStr(Date);

adotable5.FieldByName(sum).AsCurrency:=adotable3.FieldByName(cena_us).AsCurrency + adotable4.FieldByName(cena_zp).AsCurrency;

adotable5.post;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

ADOTable6.active:=false;

ADOTable6.free;

ADOTable6.active:=true;

end;

procedure TForm7.Button5Click(Sender: TObject);

begin

while not adotable6.Eof do

adotable6.Delete;

ADOTable6.insert;

adotable6.FieldByName(cod_nakl).AsInteger:=adotable5.FieldByName(cod_nakl).AsInteger;

adotable6.FieldByName(auto).AsString:=adotable5.FieldByName(auto).AsString;

adotable6.FieldByName(Fio).AsString:=adotable5.FieldByName(fIo).AsString;

adotable6.FieldByName(us).AsString:=adotable5.FieldByName(us).AsString;

adotable6.FieldByName(zp).AsString:=adotable5.FieldByName(zp).AsString;

adotable6.FieldByName(po).AsString:=adotable5.FieldByName(PO).AsString;

adotable6.FieldByName(Data).AsString:=adotable5.FieldByName(Data).AsString;

adotable6.FieldByName(sum).AsCurrency:= adotable5.FieldByName(sum).AsCurrency;

adotable6.post;

quickreport9.Preview;

end;

end.