Автоматизация заказа блюд в ресторане
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
#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:=Просмотр меню;