📄 mc_cjxxsz.pas
字号:
unit MC_CJXXSZ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, Grids, DBGrids, DBActns, ActnList, Buttons,
ExtCtrls, DB;
type
TCJXXSZ = 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;
DBText1: TDBText;
DBLookupComboBox1: TDBLookupComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
ActionList1: TActionList;
DataSetFirst1: TDataSetFirst;
DataSetLast1: TDataSetLast;
DataSetNext1: TDataSetNext;
DataSetPrior1: TDataSetPrior;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
Panel1: TPanel;
Image1: TImage;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
ComboBox1: TComboBox;
Edit1: TEdit;
procedure FormShow(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 BitBtn5Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CJXXSZ: TCJXXSZ;
implementation
uses MC_TLCYGLXT;
{$R *.DFM}
function Aenabled(key:integer):Boolean ; //定义控件属性函数
begin
If key = 1 Then //信息浏览状态
begin
CJXXSZ.BitBtn1.Enabled:=True; //“首记录“按钮可用
CJXXSZ.BitBtn2.Enabled:=True; //“下一条”按钮可用
CJXXSZ.BitBtn3.Enabled:=True; //“上一条”按钮可用
CJXXSZ.BitBtn4.Enabled:=True; //“尾记录”按钮可用
CJXXSZ.BitBtn5.Enabled:=True; //“查询”按钮可用
CJXXSZ.BitBtn8.Enabled:=True; //“删除”按钮可用
CJXXSZ.BitBtn9.Enabled:=True; //“退出”按钮可用
CJXXSZ.Edit1.Enabled:=True;
CJXXSZ.Combobox1.Enabled:=True;
CJXXSZ.DBGrid1.Enabled:=True;
CJXXSZ.DBEdit2.Enabled:=False;
CJXXSZ.DBEdit3.Enabled:=False;
CJXXSZ.DBEdit4.Enabled:=False;
CJXXSZ.DBLookupComboBox1.Enabled:=False;
CJXXSZ.DBEdit6.Enabled:=False;
End
Else //数据编辑状态
begin
CJXXSZ.BitBtn1.Enabled:=False; //“首记录“按钮不可用
CJXXSZ.BitBtn2.Enabled:=False; //“下一条”按钮不可用
CJXXSZ.BitBtn3.Enabled:=False;
CJXXSZ.BitBtn4.Enabled:=False;
CJXXSZ.BitBtn5.Enabled:=False;
CJXXSZ.BitBtn8.Enabled:=False;
CJXXSZ.BitBtn9.Enabled:=False;
CJXXSZ.Edit1.Enabled:=False;
CJXXSZ.Combobox1.Enabled:=False;
CJXXSZ.DBGrid1.Enabled:=False;
CJXXSZ.DBEdit2.Enabled:=True;
CJXXSZ.DBEdit3.Enabled:=True;
CJXXSZ.DBEdit4.Enabled:=True;
CJXXSZ.DBLookupComboBox1.Enabled:=True;
CJXXSZ.DBEdit6.Enabled:=True;
end;
end;
procedure TCJXXSZ.FormShow(Sender: TObject); //系统初始化
begin
TLCYGLXT.CJFYXXB.Next;
CJXXSZ.Refresh;
GroupBox1.Refresh;
Panel1.Refresh;
Panel2.Refresh;
Panel3.Refresh;
Panel4.Refresh;
Panel5.Refresh;
DBGrid1.Refresh;
DBLookupComBoBox1.Refresh;
DBText1.RefResh;
Combobox1.RefResh;
combobox1.ItemIndex:=0;
end;
procedure TCJXXSZ.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then PerForm(WM_NEXTDLGCTL,0,0); //焦点移到下一个控件
end;
procedure TCJXXSZ.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then DBLookupCombobox1.SetFocus; //焦点移到餐具类别输入框
end;
procedure TCJXXSZ.DBLookupComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then DBEdit6.SetFocus; //焦点移到餐具说明输入框
end;
procedure TCJXXSZ.BitBtn5Click(Sender: TObject); //查询餐具信息
begin
If Length(Edit1.Text) = 0 Then //如果查询输入为空
begin
ShowMessage('请输入查找的信息');
Edit1.SetFocus;
End
Else //如果查询输入不为空
If TLCYGLXT.CJFYXXB.Locate(combobox1.Text, Edit1.Text, [loCaseInsensitive]) Then //开始查询
begin
DBGrid1.SetFocus;
if combobox1.Text='编号' then DBGRid1.SelectedIndex:=0 else DBGrid1.SelectedIndex:=1;
End
Else
begin
ShowMessage('没有找到');
Edit1.SetFocus;
end;
end;
procedure TCJXXSZ.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BitBtn5.Click //焦点移到“查询“按钮
Else
if combobox1.Text='编号' then //如果按编号查询
begin
if key=#8 then key:=#8 //退格键
else if (key<'0') or (key>'9') then key:=#0; //屏蔽非数字字符
end;
end;
procedure TCJXXSZ.BitBtn6Click(Sender: TObject); //添加或保存
var a:integer;
begin
if BitBtn6.Caption='添加[&I]' then //如果添加
begin
a:=1;
TLCYGLXT.CJFYXXB.Refresh;
If TLCYGLXT.CJFYXXB.RecordCount = 0 Then //如果无餐具信息
begin
AEnabled(2);
BitBtn6.Caption:='保存[&S]';
BitBtn7.Caption:='取消[&U]';
TLCYGLXT.CJFYXXB.Append;
TLCYGLXT.CJFYXXB.FieldByName('编号').AsInteger:=30000;
TLCYGLXT.CJFYXXB.FieldByName('餐具类别').AsString:=TLCYGLXT.CJLBXXB.FieldByName('类别名称').AsString;
DBEdit2.SetFocus;
End
Else
begin
TLCYGLXT.CJFYXXB.Last; //移到记录最后一条
a:=a+TLCYGLXT.CJFYXXB.FieldByName('编号').AsInteger; //自动添加编号
BitBtn6.Caption:='保存[&S]';
BitBtn7.Caption:='取消[&U]';
AEnabled(2);
TLCYGLXT.CJFYXXB.Append;
TLCYGLXT.CJFYXXB.FieldByName('编号').AsInteger:=a;
TLCYGLXT.CJFYXXB.FieldByName('餐具类别').AsString:=TLCYGLXT.CJLBXXB.FieldByName('类别名称').AsString;
DBEdit2.SetFocus;
end;
End
Else //如果是保存
begin
if (Length(TLCYGLXT.CJFYXXB.FieldByName('餐具名称').AsString)=0) or
(Length(TLCYGLXT.CJFYXXB.FieldByName('单位').AsString)=0) or
(Length(TLCYGLXT.CJFYXXB.FieldByName('价格').AsString)=0) then
begin
ShowMessage('请将[餐具名称、单位、价格]等信息添全');
DBEdit2.SetFocus;
End
Else
begin
AEnabled(1);
BitBtn6.Caption:='添加[&I]';
BitBtn7.Caption:='修改[&E]';
TLCYGLXT.CJFYXXB.Post; //保存餐具信息
TLCYGLXT.CJFYXXB.Refresh;
end;
end;
end;
procedure TCJXXSZ.BitBtn7Click(Sender: TObject); //修改或取消操作
begin
if BitBtn7.Caption='修改[&E]' then //如果是修改操作
begin
TLCYGLXT.CJFYXXB.Refresh;
If TLCYGLXT.CJFYXXB.RecordCount = 0 Then //数据无记录
begin
ShowMessage('对不起,没有数据是无法修改的.');
End
Else //如果数据有记录
begin
AEnabled(2);//打开屏蔽的控件.
BitBtn6.Caption:='保存[&S]';
BitBtn7.caption:='取消[&U]';
TLCYGLXT.CJFYXXB.Edit;
DBEdit2.SetFocus;
end;
End
Else //如果是修改操作
begin
AEnabled(1);
BitBtn6.Caption:='添加[&I]';
BitBtn7.Caption:='修改[&E]';
TLCYGLXT.CJFYXXB.Cancel;
end;
end;
procedure TCJXXSZ.BitBtn8Click(Sender: TObject); //删除
begin
If TLCYGLXT.CJFYXXB.RecordCount = 1 Then
begin
ShowMessage('对不起,不能删除最后一条记录');
TLCYGLXT.CJFYXXB.Refresh;
End
Else
if MessageDLG('确认删除餐具费用信息.',mtCustom,[mbYes,mbNo],0)=mrYes then
begin
TLCYGLXT.CJFYXXB.Delete;
TLCYGLXT.CJFYXXB.Refresh;
end;
end;
procedure TCJXXSZ.BitBtn9Click(Sender: TObject);
begin
Close;
end;
procedure TCJXXSZ.ComboBox1Change(Sender: TObject);
begin
Edit1.Text:='';
end;
procedure TCJXXSZ.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Edit1.Setfocus;
end;
procedure TCJXXSZ.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
If BitBtn9.Enabled = False Then
begin
ShowMessage('请先保存数据');
Abort;
End
Else
begin
TLCYGLXT.CJFYXXB.Close;
//关闭餐具费用信息表
TLCYGLXT.CJLBXXB.Close;
//关闭餐具类别信息表
end;
end;
procedure TCJXXSZ.FormClose(Sender: TObject; var Action: TCloseAction); //关闭窗体
begin
CJXXSZ.Release;
CJXXSZ:=Nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -