📄 mc_spjcxxlr.pas
字号:
unit MC_SPJCXXLR;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, Grids, DBGrids, Buttons, DBActns, ActnList,
ExtCtrls, DB;
type
TSPJCXXLR = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
ActionList1: TActionList;
DataSetFirst1: TDataSetFirst;
DataSetLast1: TDataSetLast;
DataSetNext1: TDataSetNext;
DataSetPrior1: TDataSetPrior;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
Panel1: TPanel;
Panel2: TPanel;
Image1: TImage;
Panel3: TPanel;
Panel4: TPanel;
DBText1: TDBText;
Panel5: TPanel;
BitBtn9: TBitBtn;
Edit1: TEdit;
Label12: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn8Click(Sender: TObject);
procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SPJCXXLR: TSPJCXXLR;
implementation
uses MC_TLCYGLXT;
{$R *.DFM}
Function AEnabled(a:Integer ):BooLean; //定义状态函数 ,用于判断编辑与浏览状态时控件属性
begin
If a = 1 Then //数据编辑状态
begin
SPJCXXLR.DBEdit2.Enabled:=True; //“名称“输入框可编辑
SPJCXXLR.DBEdit3.Enabled:=True; //“简称“输入框可编辑
SPJCXXLR.DBEdit4.Enabled:=True;
SPJCXXLR.DBEdit5.Enabled:=True;
SPJCXXLR.DBEdit7.Enabled:=True;
SPJCXXLR.DBEdit8.Enabled:=True;
SPJCXXLR.DBEdit9.Enabled:=True;
SPJCXXLR.DBEdit10.Enabled:=True;
SPJCXXLR.DBEdit11.Enabled:=True;
SPJCXXLR.DBGrid1.Enabled:=False;
SPJCXXLR.Edit1.Enabled:=False;
SPJCXXLR.BitBtn7.Enabled:=False; //“删除“按钮不可用
SPJCXXLR.BitBtn8.Enabled:=False; //“退出“按钮不可用
SPJCXXLR.BitBtn9.Enabled:=False; //“查询“按钮不可用
End
Else //数据浏览状态
begin
SPJCXXLR.DBEdit2.Enabled:=False;
SPJCXXLR.DBEdit3.Enabled:=False;
SPJCXXLR.DBEdit4.Enabled:=False;
SPJCXXLR.DBEdit5.Enabled:=False; //“单价“输入框不可编辑
SPJCXXLR.DBEdit7.Enabled:=False;
SPJCXXLR.DBEdit8.Enabled:=False; //“供应商“输入框不可编辑
SPJCXXLR.DBEdit9.Enabled:=False;
SPJCXXLR.DBEdit10.Enabled:=False;
SPJCXXLR.DBEdit11.Enabled:=False;
SPJCXXLR.DBGrid1.Enabled:=True;
SPJCXXLR.Edit1.Enabled:=True;
SPJCXXLR.BitBtn7.Enabled:=True; //“删除“按钮可用
SPJCXXLR.BitBtn8.Enabled:=True; //“退出“按钮可用
SPJCXXLR.BitBtn9.Enabled:=True; //“查询“按钮可用
end;
end;
procedure TSPJCXXLR.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Bitbtn9.Click; //焦点移到“查询”按钮
end;
procedure TSPJCXXLR.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then perforM(WM_NEXTDLGCTL,0,0);
end;
procedure TSPJCXXLR.BitBtn5Click(Sender: TObject); //添加或保存商品信息
var a:integer;
begin
a:=1;
if BitBtn5.Caption='添加[&I]' then //添加商品信息
begin
If TLCYGLXT.SPJCXXB.RecordCount <>0 Then //无商品信息
begin
TLCYGLXT.SPJCXXB.Last;
a:=1+TLCYGLXT.SPJCXXB.FieldByName('编号').AsInteger; //设置产品的编号
end;
TLCYGLXT.SPJCXXB.Refresh;
BitBtn5.Caption:='保存[&S]';
BitBtn6.Caption:='取消[&U]';
AEnabled(1); //设置控件状态
TLCYGLXT.SPJCXXB.Append;
TLCYGLXT.SPJCXXB.FieldByName('编号').AsInteger:=a;
DBEdit2.SetFocus;
End
Else //保存商品信息
begin
if (Length(TLCYGLXT.SPJCXXB.FieldByName('名称').AsString)=0) or //“名称“输入框为空
(Length(TLCYGLXT.SPJCXXB.FieldByName('简称').AsString)=0) or //“简称“输入框为空
(Length(TLCYGLXT.SPJCXXB.FieldByName('单位').AsString)=0) or //“单位“输入框为空
(Length(TLCYGLXT.SPJCXXB.FieldByName('单价').AsString)=0) then //“单价“输入框为空
begin
ShowMessage('对不起,请将[名称、简称、单位、单价]的基础信息添全。');
DBEdit2.SetFocus;
End
Else
begin
AEnabled(2);
BitBtn5.Caption:='添加[&I]';
BitBtn6.Caption:='修改[&E]';
TLCYGLXT.SPJCXXB.Post; //开始保存
TLCYGLXT.SPJCXXB.Refresh;
end;
end;
end;
procedure TSPJCXXLR.BitBtn6Click(Sender: TObject); //修改或取消保存商品信息
begin
if BitBtn6.Caption='修改[&E]' then
begin
If TLCYGLXT.SPJCXXB.RecordCount = 0 Then //无数据
begin
ShowMessage('对不起,没有数据可以修改。');
End
Else
begin
AEnabled(1);
BitBtn5.Caption:='保存[&S]';
BitBtn6.Caption:='取消[&U]';
TLCYGLXT.SPJCXXB.Edit; //数据处于修改状态
DBEdit2.SetFocus;
end;
End
Else //取消修改商品信息
begin
AEnabled(2);
BitBtn5.Caption:='添加[&I]';
BitBtn6.Caption:='修改[&E]';
TLCYGLXT.SPJCXXB.Cancel;
TLCYGLXT.SPJCXXB.Refresh;
end;
end;
procedure TSPJCXXLR.BitBtn7Click(Sender: TObject); //删除商品信息
begin
TLCYGLXT.SPJCXXB.Refresh;
If TLCYGLXT.SPJCXXB.RecordCount = 1 Then
begin
ShowMessage('对不起,表中必须有一个记录。');
End
Else
if MessageDLG('确认要删除指定的商品基础信息吗?',mtCustom,[mbYes,mbNo],0)=mrYes then
TLCYGLXT.SPJCXXB.Delete;
end;
procedure TSPJCXXLR.BitBtn9Click(Sender: TObject); //查找数据
begin
If Length(Edit1.Text) = 0 Then //输入数据为空
begin
ShowMessage('请输入名称信息!');
Edit1.SetFocus;
End
Else
if TLCYGLXT.SPJCXXB.Locate('名称',Edit1.Text,[loCaseInsensitive]) then //查询数据
Else
begin
ShowMessage('对不起,没有找到。');
Edit1.SetFocus;
end;
end;
procedure TSPJCXXLR.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ANiMateWindow(Handle,300,AW_Ver_Positive+AW_SLIDE+AW_HIDE);
TLCYGLXT.SPJCXXB.CLose;
SPJCXXLR.Release;
SPJCXXLR:=Nil;
end;
procedure TSPJCXXLR.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
If BitBtn8.Enabled = False Then
begin
ShowMessage('请先保存数据');
Abort;
End;
end;
procedure TSPJCXXLR.BitBtn8Click(Sender: TObject);
begin
Close; //退出商品信息管理
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -