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

Перелік використаних джерел та літератури

  1. Митчелл К.Керман. Программирование и отладка в Delphi. Учебный курс. Москва – Санки-Петербург – Киев, 2003, - 669с.

  2. Орлов С.А. Технологии разработки программного обеспечения. Учебник для ВУЗов. Москва-… 2002, - 623с.

  3. Проектування інформаційних систем. Посібник під ред.. Д.е.н., професора В.С.Пономаренка. – К., ВЦ «Академія», 2002, - 542с.

  4. Фленов. М. Библия Delphi. Санкт-Петербург, 2005, - 865с.

ДОДАТОК 1

Результати тестування програмного продукту

Тестування програмного продукту проведене згідно плану, наведенному в п.2.4.

На рис.8 представлений вигляд головного вікна програмного продукту після виконання декількох технологічних операцій в журналі дипетчера. Вигляд схеми стоянки повністю відповідає журналу.

Вигляд реєстру постійних клієнтів наведений на рис.9. Фрагмент реєстру місць зображений на рис.10.

Рис.8. Вигляд інтерфейсу програмного продукту в робочому стані

Рис.9 Реєстр постійних клієнтів

Рис.10 Фрагмент реєстру місць автостоянки

ДОДАТОК 2

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

unit Umain;

{Автостоянка}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, ExtCtrls, Menus, StdCtrls;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem;

Panel3: TPanel;

StringGrid2: TStringGrid;

N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem;

StringGrid3: TStringGrid; StringGrid4: TStringGrid; ScrollBox1: TScrollBox; N9: TMenuItem;

{власні методи}

procedure menucontrol;

procedure rowscontrol(sender: TObject; z: integer);

procedure openjurnal;

procedure savejurnal;

procedure openparam;

procedure saveparam;

procedure openklient;

procedure saveklient;

procedure paintsto;

procedure colrow(mes:integer);

procedure findklient(sender: TObject; key: string; kz: integer; var z: integer);

function whereklient(key: string): boolean;

procedure delinttabl(sender: TObject; nz: integer; var kz:integer);

{події компонентів}

procedure FormActivate(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

end;

TKlient=record

vlas: string[40]; mark: string[20]; znak: string[10]; end;

TJurnal=record

kli : TKlient; datz: string[10]; timz: string[5]; datv: string[10]; timv: string[5]; mest: string[5]; end;

TMest=record

nom: string[5]; zan: string[1]; {'+' - зайнято, ' ' - вільно} end;

var Form1: TForm1;

Jur: TJurnal; fj: file of TJurnal; {змінні для роботи з журналом}

fp: text; {файлова змінна параметрів автостоянки}

kj: integer; {загальна кількість записів у журналі}

Mes: TMest; fm: file of TMest; {змінні для роботи з реєстром місць}

km: integer; {загальна кількість місць на стоянці}

kv: integer; {кількість вільних місць на стоянці}

Kli: TKlient; fk: file of TKlient; kk: integer; {змінні для роботи з реєстром постійних кліентів}

oper: char; {ознака операції в реєстрі: 'z'-в"їзд авто (новий запис в журналі);

'd'-видалення; 'r'-редагування; 'p'-перегляд реєстру постійних клієнтів}

cm,rm: integer; {координати клітинки таблиці для заданого місця}

yyy: boolean;

implementation

uses UDod, Uparam, UDialZRD, UKlient, UZnak;

{$R *.dfm}

{Контроль доступу до пунктів меню}

procedure TForm1.menucontrol;

begin

if kj=0 {журнал порожній}

then begin n4.Enabled:=true; n5.Enabled:=false; n6.Enabled:=false; n7.Enabled:=false; end

else

begin

if (stringgrid2.Cells[0,stringgrid2.Row]=''){в журналі виділено порожній запис}

then begin n6.Enabled:=false; n7.Enabled:=false; end else begin n6.Enabled:=true; n7.Enabled:=true; end;

if kv=0 {вільних місць немає} then n4.Enabled:=false else n4.Enabled:=true;

if km=kv {стоянка порожня} then n5.Enabled:=false else n5.Enabled:=true;

end;

end;

{Контроль кількості видимих рядків у журналі}

procedure TForm1.rowscontrol(sender: TObject; z: integer);

begin

if z>10 then (sender as Tstringgrid).RowCount:=z+1 else (sender as Tstringgrid).RowCount:=11;

end;

{Завантаження журналу з файлу}

procedure TForm1.openjurnal;

begin

kj:=0;

if fileexists('Jurnal') then begin

assignfile(fj,'Jurnal'); reset(fj);

while not eof(fj) do

begin kj:=kj+1; read(fj,Jur);

StringGrid2.Cells[0,kj]:=inttostr(kj);

StringGrid2.Cells[1,kj]:=Jur.kli.vlas;

StringGrid2.Cells[2,kj]:=Jur.kli.mark;

StringGrid2.Cells[3,kj]:=Jur.kli.znak;

StringGrid2.Cells[4,kj]:=Jur.datz;

StringGrid2.Cells[5,kj]:=Jur.timz;

StringGrid2.Cells[6,kj]:=Jur.datv;

StringGrid2.Cells[7,kj]:=Jur.timv;

StringGrid2.Cells[8,kj]:=Jur.mest;

if (Jur.mest<>'') and (Jur.datv='') then begin colrow(strtoint(Jur.mest)); StringGrid1.Cells[cm,rm]:='||'; end;

end;

closefile(fj);

end;

rowscontrol(StringGrid2,kj); menucontrol;

end;

{Запис журналу в файл}

procedure TForm1.savejurnal;

var j: integer;

begin

assignfile(fj,'Jurnal'); rewrite(fj);

for j:=1 to kj do begin

Jur.kli.vlas:=StringGrid2.Cells[1,j];

Jur.kli.mark:=StringGrid2.Cells[2,j];

Jur.kli.znak:=StringGrid2.Cells[3,j];

Jur.datz:=StringGrid2.Cells[4,j];

Jur.timz:=StringGrid2.Cells[5,j];

Jur.datv:=StringGrid2.Cells[6,j];

Jur.timv:=StringGrid2.Cells[7,j];

Jur.mest:=StringGrid2.Cells[8,j];

write(fj,Jur);

end;

closefile(fj);

end;

{Завантаження параметрів стоянки з файлу}

procedure TForm1.openparam;

var i: integer;

begin

km:=0; kv:=0;

if fileexists('Param') then begin

assignfile(fm,'Param'); reset(fm);

while not eof(fm) do begin

km:=km+1;

read(fm,Mes);

Form2.StringGrid1.Cells[0,km]:=Mes.nom;

if Mes.zan='' then kv:=kv+1 else Form2.StringGrid1.Cells[1,km]:=Mes.zan;

end;

closefile(fm);

form3.UpDown1.Position:=km;

end;

if km=0 {Параметри стоянки не визначені} then begin

km:=30; kv:=30;

for i:=1 to km do begin Form2.StringGrid1.Cells[0,i]:=inttostr(i); Form2.StringGrid1.Cells[1,i]:=''; end;

end;

form3.UpDown1.Position:=km;

rowscontrol(form2.StringGrid1,km); menucontrol; paintsto;

end;

{Запис параметрів стоянки в файл}

procedure TForm1.saveparam;

var m: integer;

begin

assignfile(fm,'Param'); rewrite(fm);

for m:=1 to km do begin

Mes.nom:=form2.StringGrid1.Cells[0,m];

Mes.zan:=form2.StringGrid1.Cells[1,m];

write(fm,Mes);

end;

closefile(fm);

end;

{Завантаження реєстру постійних клієнтів з файлу}

procedure TForm1.openklient;

begin

kk:=0;

if fileexists('Klient') then begin

assignfile(fk,'Klient'); reset(fk);

while not eof(fk) do begin

kk:=kk+1;

read(fk,Kli);

form5.StringGrid2.Cells[0,kk]:=inttostr(kk);

form5.StringGrid2.Cells[1,kk]:=kli.vlas;

form5.StringGrid2.Cells[2,kk]:=kli.mark;

form5.StringGrid2.Cells[3,kk]:=kli.znak;

end;

closefile(fk);

end;

rowscontrol(form5.StringGrid2,kk); menucontrol;

end;

{Збереження реєстру постійних клієнтів у файлі}

procedure TForm1.saveklient;

var j: integer;

begin

assignfile(fk,'Klient'); rewrite(fk);

for j:=1 to kk do begin

kli.vlas:=form5.StringGrid2.Cells[1,j];

kli.mark:=form5.StringGrid2.Cells[2,j];

kli.znak:=form5.StringGrid2.Cells[3,j];

write(fk,Kli);

end;

closefile(fk);

end;

{Відображення стоянки}

procedure TForm1.paintsto;

var i,r: integer;

begin

r:= km div 2;

stringgrid1.ColCount:=r; stringgrid3.ColCount:=r; stringgrid4.ColCount:=r;

stringgrid1.Width:=r*40+3; stringgrid3.Width:=r*40+3; stringgrid4.Width:=r*40+3;

for i:=0 to r-1 do stringgrid3.Cells[i,0]:=inttostr(i+1);

for i:=0 to r-1 do stringgrid4.Cells[i,0]:=inttostr(km-i);

end;

{Визначення координат клітинки таблиці для заданого місця стоянки}

procedure TForm1.colrow(mes:integer);

var p: integer;

begin

p:=km div 2;

if mes<=p then begin cm:=mes-1; rm:=0; end

else begin cm:=km-mes; rm:=2; end;

end;

{Пошук клієнта з номерним знаком}

procedure TForm1.findklient(sender: TObject; key: string; kz: integer; var z: integer);

var i: integer;

begin

z:=0;

for i:=1 to kz do

if ((sender as TStringgrid).Cells[3,i]=key) and ((sender as TStringgrid).Cells[6,i]='') then begin z:=i; break; end;

end;

{Перевірка наявності машини з заданим номерним знаком на стоянці}

function TForm1.whereklient(key: string): boolean;

var i: integer;

begin

whereklient:=false;

for i:=1 to kj do

if (StringGrid2.Cells[3,i]=key) and (StringGrid2.Cells[6,i]='') then whereklient:=true;

end;

{Видалення рядків таблиць}

procedure TForm1.delinttabl(sender: TObject; nz: integer; var kz:integer);

var i: integer;

begin

for i:=nz to kz-1 do (Sender as TStringGrid).Rows[i]:=(Sender as TStringGrid).Rows[i+1];

(Sender as TStringGrid).Rows[kz].Clear;

kz:=kz-1;

for i:=1 to kz do (Sender as TStringGrid).Cells[0,i]:=inttostr(i);

end;

{Початкові установки інтерфейсу проекту}

procedure TForm1.FormActivate(Sender: TObject);

begin

yyy:=false;

stringgrid2.Cells[0,0]:='№';

stringgrid2.Cells[1,0]:='Власник авто';

stringgrid2.Cells[2,0]:='Марка авто';

stringgrid2.Cells[3,0]:='Номер авто';

stringgrid2.Cells[4,0]:='Дата в"їзду';

stringgrid2.Cells[5,0]:='Час в"їзду';

stringgrid2.Cells[6,0]:='Дата виїзду';

stringgrid2.Cells[7,0]:='Час виїзду';

stringgrid2.Cells[8,0]:='Місце';

openparam; openjurnal; openklient;

end;

{Параметри стоянки}

procedure TForm1.N1Click(Sender: TObject);

begin

form3.Left:=form1.Left+165; form3.Top:=form1.Top+165; form3.ShowModal;

end;

{В"їзд авто}

procedure TForm1.N4Click(Sender: TObject);

begin

oper:='z'; form4.Caption:=n4.Caption; form4.ShowModal;

end;

{Реєстр місць}

procedure TForm1.N8Click(Sender: TObject);

begin

form2.ShowModal;

end;

{Керування доступом до команд меню під час "навігації" по журналу}

procedure TForm1.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

begin

menucontrol;

end;

{Виїзд авто}

procedure TForm1.N5Click(Sender: TObject);

begin

form6.Left:=form1.Left+165; form6.Top:=form1.Top+165; form6.ShowModal;

end;

{Редагування запису}

procedure TForm1.N6Click(Sender: TObject);

begin

oper:='r'; form4.ShowModal;

end;

{Видалення запису}

procedure TForm1.N7Click(Sender: TObject);

var i,k: integer; key: string;

begin

{Номерний знак машини у виділеному рядку журналу}

key:=StringGrid2.Cells[3,StringGrid2.row];

{Обчислюється кількість записів у журналі для виділеного в ньому номера машини}

k:=0;

for i:=1 to kj do if StringGrid2.Cells[3,i]=key then k:=k+1;

i:=strtoint(StringGrid2.Cells[8,StringGrid2.row]);

form2.StringGrid1.Cells[1,i]:=''; {Звільняється місце}

delinttabl(StringGrid2,StringGrid2.Row,kj); colrow(i);

StringGrid1.Cells[cm,rm]:='';

if k=1 {якщо видалений запис був єдиним для заданого номерного знака}

then {а клієнт був зареєстрований як постійний,}

begin {то він видаляється з реєстру постійних клієнтів}

findklient(Form5.StringGrid2, key, kk, i);

if i<>0 then delinttabl(Form5.StringGrid2,i,kk);

end;

rowscontrol(StringGrid2,kj); rowscontrol(form5.StringGrid2,kk); menucontrol;

{Якщо видалено останній запис з журналу для заданого номера,

то клієнт видаляється з реєстру постійних}

if k>1 then ;

end;

{Вихід з проекту зі збереженням даних у файлах}

procedure TForm1.N3Click(Sender: TObject);

begin

saveparam; savejurnal; saveklient;

close;

end;

{Реєстр постійних кліентів}

procedure TForm1.N9Click(Sender: TObject);

begin

oper:='p'; form5.ShowModal;

end;

{Вихід з використанням системної кнопки}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

saveparam; savejurnal; saveklient;

end;

end.

unit Uparam;

{Визначення кількості місць на стоянці}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls;

type

TForm3 = class(TForm)

LabeledEdit1: TLabeledEdit; UpDown1: TUpDown; BitBtn1: TBitBtn; BitBtn2: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

end;

var Form3: TForm3;

implementation

uses Umain, UDod, UKlient;

{$R *.dfm}

{Введення кількості місць}

procedure TForm3.BitBtn1Click(Sender: TObject);

var i: integer;

begin

{Знищення інформаційної бази}

for i:=1 to kj do form1.StringGrid2.Rows[i].Clear;

for i:=1 to kk do form5.StringGrid2.Rows[i].Clear;

form2.StringGrid1.Cols[1].Clear;

kj:=0; kk:=0;

km:=UpDown1.Position;

for i:=1 to km do form2.StringGrid1.Cells[0,i]:=inttostr(i);

for i:=0 to form1.StringGrid1.ColCount-1 do form1.StringGrid1.Rows[i].Clear;

form1.paintsto;

end;

end.

unit UDialZRD;

{Діалогова форма редагування журналу}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

type

TForm4 = class(TForm)

BitBtn1: TBitBtn; BitBtn2: TBitBtn; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel;

Edit1: TEdit; Edit3: TEdit; Button3: TButton; Edit2: TEdit; Edit4: TEdit; Edit5: TEdit; ComboBox1: TComboBox;

CheckBox1: TCheckBox;

procedure FormActivate(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

end;

var Form4: TForm4;

implementation

uses UDod, Umain, UKlient;

{$R *.dfm}

{Настройка інтерфейсу при відкритті діалогового вікна в"їзду авто}

procedure TForm4.FormActivate(Sender: TObject);

var t: string; i: integer;

begin

combobox1.Clear;

for i:=1 to km do

if form2.StringGrid1.Cells[1,i]='' then combobox1.Items.Add(form2.StringGrid1.Cells[0,i]);

case oper of

'z': begin

edit1.Clear; edit2.Clear; edit3.Clear;

edit4.Text:=datetostr(date());

t:=copy(timetostr(time()),1,5);

if copy(t,5,1)=':' then begin delete(t,5,1); t:='0'+t; end;

edit5.Text:=t;

CheckBox1.Checked:=false;

bitbtn1.Enabled:=false;

end;

'r': begin

i:=form1.StringGrid2.Row;

edit1.Text :=form1.StringGrid2.Cells[1,i];

edit2.Text :=form1.StringGrid2.Cells[2,i];

edit3.Text :=form1.StringGrid2.Cells[3,i];

edit4.Text :=form1.StringGrid2.Cells[4,i];

edit5.Text :=form1.StringGrid2.Cells[5,i];

combobox1.Text:=form1.StringGrid2.Cells[8,i];

form1.findklient(form5.StringGrid2, edit3.Text, kk , i);

if i<>0 then CheckBox1.Checked:=true;

end;

end;

end;

{Керування доступом до кнопки "Ввести"}

procedure TForm4.Edit1Change(Sender: TObject);

begin

if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (combobox1.Text='') then bitbtn1.Enabled:=false else bitbtn1.Enabled:=true;

end;

{Показ реєстру постійних клієнтів}

procedure TForm4.Button3Click(Sender: TObject);

begin

form5.ShowModal;

end;

{Ввести або редагувати дані в журналі та реєстрі постійних клієнтів}

procedure TForm4.BitBtn1Click(Sender: TObject);

var nz,ms: integer; y: boolean;

begin

y:=false; nz:=0;

case oper of

'z': begin

y:=form1.whereklient(edit3.Text);

if y then showmessage('Машина клієнта вже знаходиться на стоянці') else begin kj:=kj+1; nz:=kj; end;

end;

'r': begin

nz:=form1.StringGrid2.Row;

ms:=strtoint(form1.StringGrid2.Cells[8,nz]);

form1.colrow(ms);

form1.StringGrid1.Cells[cm,rm]:='';

form2.StringGrid1.Cells[1,ms]:='';

kv:=kv-1;

end;

end;

if not y then

begin

form1.StringGrid2.Cells[0,nz]:=inttostr(nz);

form1.StringGrid2.Cells[1,nz]:=edit1.Text;

form1.StringGrid2.Cells[2,nz]:=edit2.Text;

form1.StringGrid2.Cells[3,nz]:=edit3.Text;

form1.StringGrid2.Cells[4,nz]:=edit4.Text;

form1.StringGrid2.Cells[5,nz]:=edit5.Text;

form1.StringGrid2.Cells[8,nz]:=combobox1.Text;

form1.colrow(strtoint(combobox1.Text));

form1.StringGrid1.Cells[cm,rm]:='||';

form2.StringGrid1.Cells[1,strtoint(combobox1.Text)]:='+';

kv:=kv-1;

form1.findklient(form5.StringGrid2, edit3.Text, kk, nz);

if CheckBox1.Checked then begin {реєстрація або редагування постійного клієнта в реєстрі}

if nz=0 then begin kk:=kk+1; nz:=kk; end;

form5.StringGrid2.Cells[0,nz]:=inttostr(nz);

form5.StringGrid2.Cells[1,nz]:=edit1.Text;

form5.StringGrid2.Cells[2,nz]:=edit2.Text;

form5.StringGrid2.Cells[3,nz]:=edit3.Text;

end

else begin {видалення постійного клієнта з реєстру}

if nz<>0 then form1.delinttabl(Form5.StringGrid2,nz,kk);

end;

form1.rowscontrol(form5.StringGrid2,kj); form1.menucontrol;

end;

end;

{}

procedure TForm4.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

key:=chr(0);

end;

end.

unit UZnak;

{Виїзд автомобіля з автостоянки}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

type

TForm6 = class(TForm)

Label6: TLabel; ComboBox1: TComboBox; BitBtn1: TBitBtn; BitBtn2: TBitBtn;

procedure FormActivate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

end;

var Form6: TForm6;

implementation

uses Umain, UDod;

{$R *.dfm}

{Настройка інтерфейсу при відкритті діалогового вікна виїзду авто}

procedure TForm6.FormActivate(Sender: TObject);

var i: integer;

begin

BitBtn1.Enabled:=false; ComboBox1.Clear;

for i:=1 to kj do

if form1.StringGrid2.Cells[6,i]='' then ComboBox1.Items.Add(form1.StringGrid2.Cells[3,i]);

end;

{Зафіксувати виїзд авто в журналі}

procedure TForm6.BitBtn1Click(Sender: TObject);

var r,m: integer; t: string;

begin

{Фіксування в журналі}

form1.findklient(form1.StringGrid2, combobox1.Text, kj, r);

form1.StringGrid2.Cells[6,r]:=datetostr(date());

t:=copy(timetostr(time()),1,5);

if copy(t,5,1)=':' then begin delete(t,5,1); t:='0'+t; end;

form1.StringGrid2.Cells[7,r]:=t;

m:=strtoint(form1.StringGrid2.Cells[8,r]);

form1.colrow(m);

form1.StringGrid1.Cells[cm,rm]:='';

{Звільнення місця}

form2.StringGrid1.Cells[1,m]:='';

kv:=kv+1;

form1.menucontrol;

end;

{Керування доступом до кнопки "Ввести" при фіксуванні виїзду авто в журналі }

procedure TForm6.ComboBox1Change(Sender: TObject);

begin

if combobox1.Text='' then BitBtn1.Enabled:=false else BitBtn1.Enabled:=true;

end;

end.

unit UKlient;

{Реєстр постійних клієнтів}

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Buttons;

type

TForm5 = class(TForm)

StringGrid2: TStringGrid; BitBtn1: TBitBtn; BitBtn2: TBitBtn;

procedure StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;

Rect: TRect; State: TGridDrawState);

procedure FormActivate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

end;

var Form5: TForm5;

implementation

uses UDialZRD, Umain;

{$R *.dfm}

{Керування доступом до кнопки "Ввести" під час "навігації" по реєстру постійних клієнтів}

procedure TForm5.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;

Rect: TRect; State: TGridDrawState);

begin

if StringGrid2.Cells[0,ARow]='' then BitBtn1.Enabled:=false else BitBtn1.Enabled:=true;

end;

{Початкові установки інтерфейсу з реєстром постійних клієнтів}

procedure TForm5.FormActivate(Sender: TObject);

begin

stringgrid2.Cells[0,0]:='№';

stringgrid2.Cells[1,0]:='Власник авто';

stringgrid2.Cells[2,0]:='Марка авто';

stringgrid2.Cells[3,0]:='Номер авто';

case oper of

'z','r': begin BitBtn1.Visible:=true; BitBtn2.Visible:=true end;

'p' : begin BitBtn1.Visible:=false; BitBtn2.Visible:=false end;

end;

end;

{Введення даних про постійного клієнта в діалогове вікно}

procedure TForm5.BitBtn1Click(Sender: TObject);

begin

{Первірка наявності машини клієнта на автостоянці}

if form1.whereklient(form1.StringGrid2.Cells[3,form1.StringGrid2.Row])

then showmessage('Машина клієнта вже знаходиться на стоянці')

else begin

form4.Edit1.Text:=StringGrid2.Cells[1,StringGrid2.Row];

form4.Edit2.Text:=StringGrid2.Cells[2,StringGrid2.Row];

form4.Edit3.Text:=StringGrid2.Cells[3,StringGrid2.Row];

end;

end;

end.

Соседние файлы в папке Зразок тексту КР для РП-31