【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了MC_CPXXSZ.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.BitBtn8Cl
上一篇:
MC_CNFGL.pas
下一篇:
国外高校后勤用工现状及存在问题研究University Logistics Research question the status quo and the presence of foreign l