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

📄 mc_cpxxsz.pas

📁 异洲酒店管理系统
💻 PAS
字号:
unit MC_CPXXSZ;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, StdCtrls, Mask, Grids, DBGrids, ExtCtrls, DBActns, ActnList,
  Buttons, DB, DBTables;

type
  TCPXXSZ = class(TForm)
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    DBText1: TDBText;
    Panel1: TPanel;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetLast1: TDataSetLast;
    DataSetNext1: TDataSetNext;
    DataSetPrior1: TDataSetPrior;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    Label9: TLabel;
    Query1: TQuery;
    Panel2: TPanel;
    Label7: TLabel;
    Edit1: TEdit;
    BitBtn9: TBitBtn;
    Label8: TLabel;
    Label10: TLabel;
    Timer1: TTimer;
    procedure BitBtn8Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
    procedure DBLookupComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn9Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  CPXXSZ: TCPXXSZ;

implementation

uses MC_TLCYGLXT;

{$R *.DFM}

function AEnabled(key:integer):Boolean ;  //定义状态编辑与浏览状态函数
begin
 If key = 1 Then   //编辑状态
 begin
  CPXXSZ.BitBtn7.Enabled:=False;  //“删除“按钮不可用
  CPXXSZ.BitBtn8.Enabled:=False;  //“退出“按钮不可用
  CPXXSZ.BitBtn9.Enabled:=False;  //“查询“按钮不可用
  CPXXSZ.Edit1.Enabled:=False;   //查询输入框不可用
  CPXXSZ.DBGrid1.Enabled:=False;
  CPXXSZ.GroupBox1.Visible:=True;
 End
 Else   //浏览状态
 begin
  CPXXSZ.BitBtn7.Enabled:=True;    //“删除“按钮可用
  CPXXSZ.BitBtn8.Enabled:=True;    //“退出“按钮可用
  CPXXSZ.BitBtn9.Enabled:=True;    //“查询“按钮可用
  CPXXSZ.Edit1.Enabled:=True;
  CPXXSZ.DBGrid1.Enabled:=True;
  CPXXSZ.GroupBox1.Visible:=False;
 end;
end;
procedure TCPXXSZ.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then PerForm(WM_NEXTDLGCTL,0,0);
end;

procedure TCPXXSZ.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then DBLookupCombobox1.SetFocus;   //焦点移到菜系类别输入框
end;

procedure TCPXXSZ.DBLookupComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
 if key=#13 then DBedit6.SetFocus;    //焦点移到口味说明输入框
end;

procedure TCPXXSZ.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then BitBtn5.setFocus;    //焦点移到“保存”按钮
end;


procedure TCPXXSZ.BitBtn5Click(Sender: TObject);   //添加或保存菜谱信息
var a:integer;
begin
 Query1.Close;
 Query1.Open;
 if Query1.RecordCount<>0 then a:=Query1.Fields[0].AsInteger
 else a:=1;
 if Bitbtn5.Caption='添加' then   //添加菜谱信息
 begin
  TLCYGLXT.CPFYXXB.Refresh;
  If TLCYGLXT.CPFYXXB.RecordCount = 0 Then  A:=40000  //添加菜谱信息
  Else
  begin
   TLCYGLXT.CPFYXXB.Last;
   a:=TLCYGLXT.CPFYXXB.FieldByName('编号').AsInteger; ;
  end;
   BitBtn5.Caption:='保存';
   BitBtn6.CaPtion:='取消';
   Aenabled(1);
   TLCYGLXT.CPFYXXB.Insert;
   TLCYGLXT.CPFYXXB.FieldByName('编号').AsInteger:=a+1;
   TLCYGLXT.CPFYXXB.FieldByName('菜系类别').AsString:=TLCYGLXT.CXLBXXB.FieldByName('菜系名称').AsString;
   DBEdit2.SetFocus;
 End  
 Else   //保存菜谱信息
 begin
  if (Length(TLCYGLXT.CPFYXXB.FieldByname('菜名').AsString)=0) or
  (Length(TLCYGLXT.CPFYXXB.FieldByname('单位').AsString)=0) or
  (Length(TLCYGLXT.CPFYXXB.FieldByname('价格').AsString)=0) then
  begin
   ShowMessage('请将[菜名、单位、价格]的数据添全。');
   DBEdit2.SetFocus;
  End
  Else
   begin
    AEnabled(2);
    BitBtn5.Caption:='添加';
    BitBtn6.Caption:='修改';
    TLCYGLXT.CPFYXXB.Post;    //保存菜谱信息
   end;
 end;
end;

procedure TCPXXSZ.BitBtn6Click(Sender: TObject);   //修改或取消菜谱信息
begin
  if BitBtn6.Caption='修改' then
  begin
   TLCYGLXT.CPFYXXB.Refresh;
   If TLCYGLXT.CPFYXXB.RecordCount = 0 Then   //如果数据为空
   begin
    ShowMessage('对不起,没有数据可以修改。');
   End
   Else    //如果数据不为空
   begin
    AEnabled(1);
    BitBtn5.Caption:='保存';
    BitBtn6.Caption:='取消';
    TLCYGLXT.CPFYXXB.Edit;    //编辑
    DBEdit2.SetFocus;
   end;
  End
  Else
  begin
   AENabled(2);
   Bitbtn5.Caption:='添加';
   BitBtn6.Caption:='修改';
   TLCYGLXT.CPFYXXB.Cancel;   //取消保存信息
  end;
end;
procedure TCPXXSZ.BitBtn7Click(Sender: TObject);   //删除菜谱信息
begin
 TLCYGLXT.CPFYXXB.Refresh;
 If TLCYGLXT.CPFYXXB.RecordCount = 1 Then
 begin
  ShowMessage('对不起,这是最后一个菜,不能删除。');
 End
 Else
 if MessageDLG('确认删除指定的菜谱信息吗?',mtCustom,[mbYes,mbNO],0)=mrYes then
 begin
  TLCYGLXT.CPFYXXB.Delete;   //删除数据
 end;
end;

procedure TCPXXSZ.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then BitBtn9.Click;   //开始查询菜谱信息
end;

procedure TCPXXSZ.BitBtn9Click(Sender: TObject);    //查询菜谱信息
var a,b,c:integer;
d:String;
begin
 If Length(Edit1.Text) = 0 Then   //如果输入查询信息为空
  begin
   ShowMessage('请输入查询的[编号或菜名]信息');
   Edit1.SetFocus;
  End
  Else
  begin
   a:=Length(Edit1.Text);
   c:=0;
   for b:=1 to a do    //for语句用于判断查询是按菜谱编号还是按菜名查询
   begin
    D:=COPY(edit1.text,b,1);
    if (D='0') or (D<='9') then
    begin
        c:=c+1;
    end;
   end;
   If c = Length(Edit1.Text) Then   //按菜谱编号查询
   begin
   if TLCYGLXT.CPFYXXB.Locate('编号',StrTOInt(Edit1.Text),[loCaseInsensitive]) then
    begin
      DBGrid1.Setfocus;
      DBGrid1.SelectedIndex:=0;
    End
   Else
    begin
      ShowMessage('对不起,没有找到。');
      Edit1.setfocus;
    end;
   End
   Else   //按菜谱编号查询
   begin
    if TLCYGLXT.CPFYXXB.Locate('菜名',Edit1.Text,[loPartialKey]) then
    begin
      DBGrid1.Setfocus;
      DBGrid1.SelectedIndex:=1;
    End
    Else
    begin
      ShowMessage('对不起,没有找到。');
      Edit1.setfocus;
    end;
   end;
  end;
end;
procedure TCPXXSZ.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 If GroupBox1.Visible Then
 begin
  ShowMessage('对不起,请先保存数据。');
  Abort;//中止默认操作
 End
end;
procedure TCPXXSZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  CPXXSZ.Release;
  CPXXSZ:=nil;
  TLCYGLXT.CPFYXXB.Close;  //关闭菜谱费用信息表
  TLCYGLXT.CXLBXXB.Close;//关闭菜系类别信息表
end;
procedure TCPXXSZ.BitBtn8Click(Sender: TObject);
begin
  Close;    //退出菜谱信息设置
end;
procedure TCPXXSZ.Timer1Timer(Sender: TObject);    //显示系统时间
begin
  LABEL10.Caption:=DATETOSTR(DATE)+'     '+TIMETOSTR(TIME) ;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -