⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 小管理程序主要管理的小咖啡厅我是从网上下的经测试可用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
       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 + -