Автоматизация заказа блюд в ресторане

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

#39;;

end;

 

procedure TMainForm.T_spisokBFlagCurSetText(Sender: TField;

const Text: String);

begin

T_spisokBFlagCur.Value:=false;

if text=+ then T_spisokBFlagCur.Value:=True;

if text=- then T_spisokBFlagCur.Value:=False;

 

end;

{Подсчет стоимости блюда}

procedure TMainForm.T_spisokBCalcFields(DataSet: TDataSet);

var s1:real;

begin

s1:=0;

While not (T_ProdinRec.Eof) do begin

S1:=S1+T_ProdinRecRelatPCena.value*T_ProdinRecKol_voPvB.Value;

T_ProdinRec.Next;

end;

T_spisokBStoim.value:=T_spisokBCenaB.value+S1;

end;

 

procedure TMainForm.T_zakazRelatNBSetText(Sender: TField; const Text: String);

begin

 

With T_spisokB do

if Locate(NameB,Text,[]) then begin

T_zakazIDB.value:=T_spisokBIDB.Value;

T_zakazIDB.RefreshLookupList;

end;

 

end;

{**********************************************************8}

procedure TMainForm.T_zakazKol_voZSetText(Sender: TField; const Text: String);

var number:integer;prodZak:real;flag:boolean;

begin

flag:=true;

number:=strtoint(Text);

ZakazForm.memo1.Clear;

If not(strtoInt(Text) in [1..50]) then ZakazForm.memo1.Lines.Text:=Количество блюд превзошло разумные пределы!

 

else begin

 

 

T_spisokB.locate(IDB,T_zakazIDB.value,[]); {Нашли блюдо}

T_ProdinRec.First;

{Оценивающий цикл}

{} While not(T_ProdinRec.Eof) and flag do begin {Ищем запись продукта}

if T_products.Locate(IDP,T_ProdinRecIDP.Value,[]) then

{Сравниваем заказанное и наличествующее}

{} begin

ProdZak:=T_ProdinRecKol_voPvB.Value*number;

if ProdZak<T_productsKol_vo.Value then flag:=true

else flag:=false;

end;

T_ProdinRec.Next;

end;

{Проверка}

T_ProdinRec.First;

 

if flag then

{} begin

{Редактирующий цикл}

{} While not(T_ProdinRec.Eof) do begin {Ищем запись продукта}

if T_products.Locate(IDP,T_ProdinRecIDP.Value,[]) then

{} begin

ProdZak:=T_ProdinRecKol_voPvB.Value*(number-T_zakazKol_voZ.Value);

T_products.Edit;

T_productsKol_vo.Value:=T_productsKol_vo.Value-ProdZak;

T_products.Post;

end;

T_ProdinRec.Next;

end;

 

T_zakazKol_voZ.Value:=number

end

else begin

ZakazForm.memo1.Lines.Text:=Заказ превысил количество продуктов! Пожалуйста, повторите ввод;

T_zakazKol_voZ.Value:=1;

ZakazForm.DBGrid1.Refresh;

end;

 

end;

 

 

 

end;

 

procedure TMainForm.T_zakazAfterInsert(DataSet: TDataSet);

begin

T_zakazKol_voZ.Value:=1;

end;

 

procedure TMainForm.T_zakazAfterPost(DataSet: TDataSet);

var money,sum:real;MMark:TBookMark;

begin

try

money:=strtofloat(ZakazForm.MaskEdit1.Text);

except

ZakazForm.maskEdit1.Text:=;

ZakazForm.maskEdit1.ReadOnly:=True;

ZakazForm.maskEdit1.Color:=clBtnFace;

end;

sum:=0;

if money<>0 then begin

MMark:=T_zakaz.GetBookmark;

T_zakaz.First;

while not(T_zakaz.Eof) do begin

T_spisokB.locate(IDB,T_zakazIDB.value,[]); {Нашли блюдо}

sum:=T_spisokBStoim.Value*T_zakazKol_voZ.value+sum;

T_zakaz.Next;

end;

if T_zakaz.BookmarkValid(mmark) then T_zakaz.GotoBookmark(mmark);

if T_zakaz.BookmarkValid(mmark) then T_zakaz.FreeBookmark(mmark);

moneythenZakazForm.memo1.Lines.Text:=!">if sum>money then ZakazForm.memo1.Lines.Text:=Заказ превысил денежный предел!

else ZakazForm.memo1.Clear;

end;

 

end;

 

{****************************SpisokB**********************888}

procedure TMainForm.T_spisokBAfterInsert(DataSet: TDataSet);

begin

T_spisokB.edit;

T_spisokBIDB.Value:=MKeyvalue;

T_spisokBFlagCur.Value:=false;

T_spisokBIdTB.Value:=1;

T_spisokB.Post;

InformForm.DBGrid1.Refresh;

end;

 

procedure TMainForm.T_spisokBBeforeInsert(DataSet: TDataSet);

begin

MKeyvalue:=0;

repeat

MKeyvalue:=MKeyvalue+1;

until varType(T_spisokB.lookup(IDB,MKeyvalue,IDB))=varnull;

 

end;

 

procedure TMainForm.T_spisokBAfterPost(DataSet: TDataSet);

begin

T_spisokB.Refresh;

end;

{****************************Products********************888}

 

procedure TMainForm.T_productsBeforeInsert(DataSet: TDataSet);

begin

MKeyvalue:=0;

repeat

MKeyvalue:=MKeyvalue+1;

until varType(T_products.lookup(IDP,MKeyvalue,IDP))=varnull;

 

end;

 

procedure TMainForm.T_productsAfterInsert(DataSet: TDataSet);

begin

T_products.edit;

T_productsIDP.Value:=MKeyvalue;

T_productsIdEI.Value:=1;

T_products.Post;

InformForm.DBGrid3.Refresh;

end;

 

procedure TMainForm.T_productsAfterPost(DataSet: TDataSet);

begin

T_products.Refresh;

end;

{*********************TypeB****************************}

 

procedure TMainForm.T_EIBeforeInsert(DataSet: TDataSet);

begin

MKeyvalue:=0;

repeat

MKeyvalue:=MKeyvalue+1;

until varType(T_EI.lookup(IdEI,MKeyvalue,IdEI))=varnull;

end;

 

procedure TMainForm.T_EIAfterInsert(DataSet: TDataSet);

begin

T_EI.edit;

T_EIIdEI.Value:=MKeyvalue;

T_EINameEI.Value:= ;

T_EI.Post;

InformForm.DBGrid5.Refresh;

end;

 

procedure TMainForm.T_EIAfterPost(DataSet: TDataSet);

begin

T_EI.Refresh;

end;

{*********************TypeB****************************}

 

procedure TMainForm.T_typeBBeforeInsert(DataSet: TDataSet);

begin

MKeyvalue:=0;

repeat

MKeyvalue:=MKeyvalue+1;

until varType(T_typeB.lookup(IdTB,MKeyvalue,IdTB))=varnull;

end;

 

procedure TMainForm.T_typeBAfterInsert(DataSet: TDataSet);

begin

T_typeB.edit;

T_typeBIdTB.Value:=MKeyvalue;

T_typeBNameTB.Value:= ;

T_typeB.Post;

InformForm.DBGrid4.Refresh;

end;

 

 

procedure TMainForm.BitBtn2Click(Sender: TObject);

begin

AboutBox.showmodal;

end;

 

procedure TMainForm.FormShow(Sender: TObject);

begin

memo1.Text:=Добро пожаловать в программу "Ресторан";

end;

{-------------------------------------------------}

procedure TMainForm.TreeView1Click(Sender: TObject);

var F:integer;

begin

{определение текущей выделеннки}

for f:=0 to 15 do if TreeView1.Items[f].Selected then break;

memo1.Clear;

case f of

0:begin

ZakazForm.Show;

InformForm.Hide;

Aboutbox.Hide;

memo1.Text:=Ведение заказов;

end;

1:begin

InformForm.Show;Aboutbox.Hide;

InformForm.PageControl1.ActivePageIndex:=0;

InformForm.SetFocus;

memo1.Text:=Ведение справочников;

end;

2:begin

InformForm.PageControl1.ActivePageIndex:=0;

memo1.Text:=Определение меню, заполение списка блюд;

end;

3:begin //InformFrame1.PageControl1.ActivePageIndex:=1;

InformForm.PageControl1.ActivePageIndex:=1;

memo1.Text:=Ведение состояния продуктов;

end;

4:begin

InformForm.PageControl1.ActivePageIndex:=2;

memo1.Text:=Дополнительные справочники, типы ед. измерения, типы блюд;

end;

{Reports}

5:begin

InformForm.Hide;

Aboutbox.Hide;

ZakazForm.Hide;

memo1.Text:=Отчеты;

end;

 

{Menu} 6:begin

MenuForm.QuickRep1.Refresh;

memo1.Text:=Просмотр меню, печать;

end;

{Preview}7:begin

memo1.Text:=Просмотр меню;