📄 main.pas
字号:
end;
//***辅助工具
22: //计算器
begin
ShellExecute(handle,'open','calc.exe',Nil,Nil,SW_SHOWNORMAL);
end;
23: //记事本
begin
ShellExecute(handle,'open','NOTEPAD.exe',Nil,Nil,SW_SHOWNORMAL);
end;
//***系统帮助
24: //帮助系统
begin
end;
25: //关于我们
begin
if not Assigned(Frmroot) then
Application.CreateForm(TFrmroot,Frmroot);
Frmroot.ShowModal;
FreeAndNil(Frmroot);
end;
26: // 注册软件
begin
if not isRegSuc then
begin
if not Assigned(Frmzhuce) then
Application.CreateForm(TFrmzhuce,Frmzhuce);
Frmzhuce.ShowModal;
FreeAndNil(FrmZhuce);
end
else
begin
application.MessageBox('该软件已注册成功。','提示',mb_ok);
end;
end;
27: // 调价密码
begin
OpenFrmWin(TFrmchangpass,TForm(Frmchangpass));
end;
28: // 数据备份
begin
OpenFrmWin(TFrmdatabackup,TForm(Frmdatabackup));
end;
29: // 数据还原
begin
OpenFrmWin(TFrmdataresort,TForm(Frmdataresort));
createdeskview;
end;
30: // 数据清除
begin
OpenFrmWin(TFrmdataclear,TForm(Frmdataclear));
createdeskview;
end;
end;
end;
function TFrmMain.locatdesk(deskid:integer):integer;
var
i:integer;
begin
result:=-1;
for i:=0 to deskview.Items.Count -1 do
begin
if deskview.Items[i].StateIndex=deskid then
begin
//deskview.Items[i].Selected:=True;
result:=i;
break;
end;
end;
end;
procedure TFrmMain.createdeskview;
var
//i:integer;
mylist:Tlistitem;
begin
deskview.Items.Clear ;
if isRegSuc then
begin
if not dm.Qfangtai.Active then
dm.Qfangtai.Open;
if not dm.Qfangtaistatus.Active then
dm.Qfangtaistatus.Open;
if dm.Qfangtai.Active then
begin
dm.Qfangtai.Refresh;
dm.Qfangtai.First ;
while not dm.Qfangtai.Eof do
begin
mylist:=deskview.Items.Add ;
mylist.Caption :=dm.Qfangtai.FieldValues['fangtainame'];
mylist.ImageIndex :=dm.Qfangtai.FieldValues['statusid'];
mylist.StateIndex:=dm.Qfangtai.FieldValues['fangtaiid'];
dm.Qfangtai.Next;
end;
if deskview.Items.Count >0 then
begin
deskview.Items[0].Selected:=true;
dm.Qfangtai.First;
FlagSelect:=0;
end;
end;
end
else
begin
Frmmain.Caption:='启昊餐饮管理软件[未注册]';
end;
end;
procedure TFrmMain.FormCreate(Sender: TObject);
begin
createdeskview; //创建桌面
FlagSelect:=0; //选中标志为0;默认为不选中。
datelabel.Caption :=formatdatetime('yyyy-mm-dd',date());
timelabel.Caption :=formatdatetime('hh:nn:ss',now());
end;
procedure TFrmMain.TimeTimerTimer(Sender: TObject);
begin
timelabel.Caption :=formatdatetime('hh:nn:ss',now());
end;
procedure TFrmMain.BtnCloseClick(Sender: TObject);
begin
self.Close ;
end;
procedure TFrmMain.DeskViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
Rt:TRect;
Img:TCustomImageList;
begin
if (cdsSelected in State) or (FlagSelect=1) then
begin
//---------重绘当前Item图标,避免显示Windows默认的选中蓝色前景----------------
Img:=TListView(Sender).LargeImages;
Rt:=Item.DisplayRect(drIcon);
Rt.Left:=Rt.Left+(Rt.Right-Rt.Left-Img.Width) div 2;
Rt.Top:=Rt.Top+(Rt.Bottom-Rt.Top-Img.Height) div 2;
Img.Draw(Sender.Canvas,Rt.Left,Rt.Top,Item.ImageIndex);
//---------重绘当前Item的文字标识--------------------
Rt:=Item.DisplayRect(drLabel);
Sender.Canvas.DrawFocusRect(Rt);
inFlateRect(Rt,-2,-1);
Sender.Canvas.TextRect(Rt,Rt.Left,Rt.Top,Item.Caption);
//加方框
Sender.Canvas.Brush.Color :=clgreen;
Sender.Canvas.FrameRect(Sender.Selected.DisplayRect(drIcon));
Sender.Canvas.Brush.Color :=clwhite;
FlagSelect:=0;
DefaultDraw:=False;
end
else
begin
FlagSelect:=0;
DefaultDraw:=True;
end;
end;
procedure TFrmMain.DeskViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if selected then
begin
if dm.Qfangtai.Active then
dm.Qfangtai.Locate('fangtaiid',item.StateIndex,[loCaseInsensitive]) ;
end;
end;
procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if application.MessageBox('你确定退出系统吗?','提示',mb_okcancel)=idok then
begin
if dm.Qfangtai.Active then
dm.Qfangtai.Close ;
if dm.Qfangtaistatus.Active then
dm.Qfangtaistatus.Close;
action:=caFree;
end
else
begin
action:=caNone;
end;
end;
procedure TFrmMain.BtnRefreshClick(Sender: TObject);
begin
createdeskview;
end;
procedure TFrmMain.DeskViewClick(Sender: TObject);
begin
if deskview.Items.Count >0 then
if deskview.SelCount=0 then
begin
createdeskview;
end;
end;
procedure TFrmMain.DeskViewMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
a:Tpoint;
begin
if button in [mbRight] then
begin
if deskview.SelCount>0 then
begin
PopupMenuVisible;
getcursorpos(a);
deskpopupmenu.Popup(a.x,a.Y);
end;
end;
end;
procedure TFrmMain.EdlocateKeyPress(Sender: TObject; var Key: Char);
var
localid:integer;
begin
if not (key in ['0'..'9', #8, #13]) then
begin
key :='0';
end;
if key=#13 then
begin
if length(trim(edlocate.Text))>0 then
begin
localid:=locatdesk(strtoint(edlocate.Text));
if not (localid>-1) then
begin
application.MessageBox('没有房台!','提示',mb_ok);
exit;
end
else
begin
FlagSelect:=1;
deskview.Items[localid].Selected:=True;
end;
end;
end;
end;
procedure TFrmMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
VK_F1: ToolBtnClick(BtnKaiTai);
VK_F2: ToolBtnClick(BtnZhuanTai);
VK_F3: ToolBtnClick(BtnQingTai);
VK_F4: ToolBtnClick(BtnYuDing);
VK_F5: ToolBtnClick(BtnDianDan);
VK_F6: ToolBtnClick(BtnTuiDan);
VK_F7: ToolBtnClick(BtnLuoDan);
VK_F8: ToolBtnClick(BtnjieZhang);
end;
end;
procedure TFrmMain.ToolBtnClick(Sender: TObject);
var
Ldeskid:integer;
deskstate:integer;
begin
if not Assigned(Frminputhao) then
Application.CreateForm(TFrminputhao,Frminputhao);
Frminputhao.ShowModal;
Ldeskid:=Frminputhao.deskid;
FreeAndNil(Frminputhao);
if (Ldeskid>0) and (locatdesk(Ldeskid)>-1) then
begin
deskstate:=deskview.Selected.ImageIndex;
case (Sender as TSpeedButton).Tag of
1: //开台
begin
if deskstate in EnableKaiTai then
deskview.Selected.ImageIndex:=kaitaioprate(deskview.Selected.StateIndex);
end;
2: //转台
begin
if deskstate in EnableZhuanTai then
begin
deskview.Selected.ImageIndex:=zhuantaioprate(deskview.Selected.StateIndex);
if locatdesk(dm.Qfangtai.FieldValues['fangtaiid'])>-1 then
begin
dm.Qfangtai.Refresh;
deskview.Selected.ImageIndex:=dm.Qfangtai.FieldValues['statusid'];
end;
end;
end;
3: //清台
begin
if deskstate in EnableQingTai then
deskview.Selected.ImageIndex:=yingtaioprate(deskview.Selected.StateIndex);
end;
4: //预定
begin
if deskstate in EnableYuDing then
deskview.Selected.ImageIndex:=yudingoprate(deskview.Selected.StateIndex);
end;
5: //点单
begin
if deskstate in EnableDianDan then
begin
if (deskview.Selected.ImageIndex=1) or (deskview.Selected.ImageIndex=3) then
deskview.Selected.ImageIndex:=diandanoprate(deskview.Selected.StateIndex);
end;
end;
6: //退单
begin
if deskstate in EnableTuiDan then
deskview.Selected.ImageIndex:=tuidanoprate(deskview.Selected.StateIndex);
end;
7: //落单
begin
if deskstate in EnableLuoDan then
deskview.Selected.ImageIndex:=luodanoprate(deskview.Selected.StateIndex);
end;
8: //结帐
begin
if deskstate in EnableJieZhang then
deskview.Selected.ImageIndex:=jiezhangoprate(deskview.Selected.StateIndex);
end;
end;
end;
end;
procedure TFrmMain.FormShow(Sender: TObject);
begin
if not Assigned(logform) then
Application.CreateForm(Tlogform,logform);
logform.ShowModal;
mainmenushow; //按权限分配菜单
if dm.comquery.Active then
dm.comquery.Close;
dm.comquery.SQL.Clear;
dm.comquery.sql.Add('select * from Q_company');
dm.comquery.Open;
if not dm.comquery.Eof then
begin
statusbar1.Panels[0].Text:=dm.comquery.FieldValues['companyname'];
dm.companyname:=dm.comquery.FieldValues['companyname'];
statusbar1.Panels[1].Text:='联系电话:'+dm.comquery.FieldValues['companytele'];
dm.companytele:=dm.comquery.FieldValues['companytele'];
statusbar1.Panels[2].Text:='联系地址:'+dm.comquery.FieldValues['companyaddr'];
end;
dm.comquery.Close;
statusbar1.Panels[4].Text:=dm.opratename;
if dm.comquery.Active then
dm.comquery.Close;
dm.comquery.SQL.Clear;
dm.comquery.SQL.Add('SELECT count(*) as linecount from q_fangtai where fangtaiclass='+''''+'散台'+''''+' and isdel=0');
dm.comquery.Open;
label4.Caption:=inttostr(dm.comquery.FieldValues['linecount']);
dm.comquery.Close;
if dm.comquery.Active then
dm.comquery.Close;
dm.comquery.SQL.Clear;
dm.comquery.SQL.Add('SELECT count(*) as linecount from q_fangtai where fangtaiclass='+''''+'包间'+''''+' and isdel=0');
dm.comquery.Open;
label5.Caption:=inttostr(dm.comquery.FieldValues['linecount']);
dm.comquery.Close;
end;
procedure TFrmMain.BtnChangClick(Sender: TObject);
begin
if not Assigned(logform) then
Application.CreateForm(Tlogform,logform);
logform.ShowModal;
mainmenushow; //按权限分配菜单
statusbar1.Panels[4].Text:=dm.opratename;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -