📄 mc_sjxxsz.~pas
字号:
unit MC_SJXXSZ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, Grids, DBGrids, DBActns, ActnList, Buttons, Db,
DBTables;
type
TSJXXSZ = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
Ddd: TDBEdit;
Label4: TLabel;
DBbbb: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
Label7: TLabel;
DBEdit7: TDBEdit;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
ActionList1: TActionList;
DataSetFirst1: TDataSetFirst;
DataSetLast1: TDataSetLast;
DataSetNext1: TDataSetNext;
DataSetPrior1: TDataSetPrior;
DBText1: TDBText;
DBLookupComboBox1: TDBLookupComboBox;
Query1: TQuery;
DBEdit1: TDBEdit;
Label8: TLabel;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit5KeyPress(Sender: TObject; var Key: Char);
procedure DBLookupComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure DddKeyPress(Sender: TObject; var Key: Char);
procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SJXXSZ: TSJXXSZ;
implementation
uses MC_TLCYGLXT;
{$R *.DFM}
Function AEnabled(key:integer):Boolean; //定义状态函数
begin
If key = 1 Then //编辑状态
begin
SJXXSZ.BitBtn1.Enabled:=False; //“首记录“按钮不可用
SJXXSZ.BitBtn2.Enabled:=False; //“下一条“按钮不可用
SJXXSZ.BitBtn3.Enabled:=False; //“上一条“按钮不可用
SJXXSZ.BitBtn4.Enabled:=False; //“尾记录“按钮不可用
SJXXSZ.BitBtn5.Enabled:=False; //“查询“按钮不可用
SJXXSZ.BitBtn8.Enabled:=False; //“删除“按钮不可用
SJXXSZ.BitBtn9.Enabled:=False; //“退出“按钮不可用
SJXXSZ.Edit1.Enabled:=False; //查询输入框不可用
SJXXSZ.DBGrid1.Enabled:=False;
SJXXSZ.GroupBox1.Visible:=True;
SJXXSZ.BitBtn6.Caption:='保存[&S]';
SJXXSZ.BitBtn7.caption:='取消[&Q]';
SJXXSZ.DBEdit1.SetFocus;
End
Else //浏览状态
begin
SJXXSZ.BitBtn1.Enabled:=True;
SJXXSZ.BitBtn2.Enabled:=True;
SJXXSZ.BitBtn3.Enabled:=True;
SJXXSZ.BitBtn4.Enabled:=True;
SJXXSZ.BitBtn5.Enabled:=True;
SJXXSZ.BitBtn8.Enabled:=True;
SJXXSZ.BitBtn9.Enabled:=True;
SJXXSZ.Edit1.Enabled:=True;
SJXXSZ.DBGrid1.Enabled:=True;
SJXXSZ.GroupBox1.Visible:=False;
SJXXSZ.BitBtn6.Caption:='添加[&I]';
SJXXSZ.BitBtn7.caption:='修改[&E]';
End
end;
procedure TSJXXSZ.FormShow(Sender: TObject); //系统初始化
begin
SJXXSZ.Refresh;
DBGrid1.Refresh;
end;
procedure TSJXXSZ.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
{if key=#13 then //回车
begin
If Length(DBEdit2.Text) <> 0 Then //如果输入不为空
begin
if Query1.Locate('pyjm',StrToInt(DBEdit2.Text),[loCaseInsensitive]) then //在库存中查找该编号酒水
begin //如果找到,添加酒水名称和单位信息
ShowMessage('已存在该简码...'); //如果输入为空
exit;
End
Else //如果找不到,提示没有发现水酒信息
begin
// TLCYGLXT.SJFYXXB.FieldByName('酒水名称').AsString:=Query1.FieldByName('商品名称').AsString;
// TLCYGLXT.SJFYXXB.FieldByName('单位').AsString:=Query1.FieldByName('单位').AsString;
// PerForm(WM_NEXTDLGCTL,0,0);
dbedit3.SetFocus;
end;
End
Else
ShowMessage('请输入库存编号.');
End
Else
if key=#8 then Key:=#8 //退格键
Else
// if (key<'0') or (key>'9') then key:=#0; //屏蔽非数字键 }
if key=#13 then dbedit3.SetFocus;
end;
procedure TSJXXSZ.DBEdit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if dbedit5.Text ='' then
begin
showmessage('价格为空');
dbedit5.SetFocus;
end
else
begin
DBLookupCombobox1.SetFocus; //回车焦点移到“酒水类别“输入框
end;
end;
end;
procedure TSJXXSZ.DBLookupComboBox1KeyPress(Sender: TObject;var Key: Char);
begin
if key=#13 then DBEdit7.SetFocus; //回车焦点移到“简要说明“输入框
end;
procedure TSJXXSZ.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BitBtn6.SetFocus; //回车焦点移到“保存“按钮
end;
procedure TSJXXSZ.BitBtn6Click(Sender: TObject); //添加或保存酒水信息
var a,b:integer;
begin
if Bitbtn6.Caption='添加[&I]' then //添加酒水信息
begin
If TLCYGLXT.SJFYXXB.RecordCount = 0 Then a:=10000 Else//酒水信息库为空,酒水编号为10001
begin //如果酒水信息库不为空
TLCYGLXT.SJFYXXB.Last;
a:=TLCYGLXT.SJFYXXB.FieldByName('编号').AsInteger;
b:=tlcyglxt.SJFYXXB.fieldbyname('货存编号').AsInteger;
end;
TLCYGLXT.SJFYXXB.Append;
TLCYGLXT.SJFYXXB.FieldByName('货存编号').AsInteger:=b+1;
// TLCYGLXT.SJFYXXB.FieldByName('pyjm').AsString:=dbedit2.Text;
// TLCYGLXT.SJFYXXB.FieldByName('酒水名称').AsString:=dbedit3.Text;
// TLCYGLXT.SJFYXXB.FieldByName('单位').AsString:=dbedit4.Text;
// TLCYGLXT.SJFYXXB.FieldByName('价格').AsString:=dbedit5.Text;
// TLCYGLXT.SJFYXXB.FieldByName('简要说明').AsString:=dbedit7.Text;
TLCYGLXT.SJFYXXB.FieldByName('编号').AsInteger:=a+1; //设置输入酒水编号
TLCYGLXT.SJFYXXB.FieldByName('酒水类别').AsString:=TLCYGLXT.JSLBXXB.FieldByName('类别名称').AsString;
Aenabled(1);
End
Else //保存酒水信息
begin
if (Length(TLCYGLXT.SJFYXXB.FieldByName('货存编号').AsString)<>0) or
(Length(TLCYGLXT.SJFYXXB.FieldByName('水酒名称').AsString)<>0) or
(Length(TLCYGLXT.SJFYXXB.FieldByName('单位').AsString)<>0) or
(Length(TLCYGLXT.SJFYXXB.FieldByName('价格').AsString)<>0) or
(Length(TLCYGLXT.SJFYXXB.FieldByName('酒水类别').AsString)<>0) then
begin
Aenabled(2);
TLCYGLXT.SJFYXXB.Post; //保存酒水信息
End
Else
begin
ShowMessage('对不起,请将数据[货存编号、水酒名称、单位、价格、水酒类别]添全.');
DBEdit2.SetFocus;
end;
end;
end;
procedure TSJXXSZ.BitBtn7Click(Sender: TObject); //修改或取消
begin
if Bitbtn7.Caption='修改[&E]' then //修改酒水信息
begin
TLCYGLXT.SJFYXXB.Edit;
Aenabled(1); //此时为编辑状态
End
Else
begin
Aenabled(2); //此时为浏览状态
TLCYGLXT.SJFYXXB.Cancel;
end;
end;
procedure TSJXXSZ.BitBtn8Click(Sender: TObject); //删除数据
begin
// TLCYGLXT.SJFYXXB.Refresh;//刷新数据
If TLCYGLXT.SJFYXXB.RecordCount = 0 Then
begin
ShowMessage('没有数据信息,不能删除!!');
End
Else
If TLCYGLXT.SJFYXXB.RecordCount <> 1 Then
begin
if MessageDLG('确认删除选择的酒水信息吗?',mtCustom,[mbYes,mbNO],0)=mrYes then
begin
TLCYGLXT.SJFYXXB.Delete;
tlcyglxt.SJFYXXB.Close;
tlcyglxt.SJFYXXB.Open;
end;
End
else ShowMessage('数据信息只剩一条,不能删除!!');
end;
procedure TSJXXSZ.BitBtn5Click(Sender: TObject); //查询酒水信息
begin
If Length(Edit1.Text) = 0 Then //输入为空
begin
ShowMessage('请在左边的信息框中输入编号信息');
Edit1.SetFocus;
End
Else
begin
TLCYGLXT.SJFYXXB.Refresh;//刷新数据
if TLCYGLXT.SJFYXXB.Locate('编号',StrToInt(Edit1.Text),[loCaseInsensitive]) then //过滤数据
begin
DBGRid1.SetFocus;
DBGRid1.SelectedIndex:=0;
End
Else
begin
ShowMessage('没有找到');
Edit1.SetFocus;
end;
end;
end;
procedure TSJXXSZ.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then BitBtn5.Click; //焦点移到“查询”按钮
end;
procedure TSJXXSZ.DddKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if dbedit3.Text ='' then
begin
showmessage('酒水名称不能为空...');
exit;
end
else
begin
PerForm(WM_NEXTDLGCTL,0,0);
dbedit4.SetFocus;
end;
end;
end;
procedure TSJXXSZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SJXXSZ.Release; //释放资源
SJXXSZ:=Nil;
end;
procedure TSJXXSZ.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
If BitBtn9.Enabled = False Then //处于编辑状态
begin
ShowMessage('请保存或放弃录入的数据.');
Abort;
end;
end;
procedure TSJXXSZ.BitBtn9Click(Sender: TObject); //退出酒水信息设置
begin
Close;
end;
procedure TSJXXSZ.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbedit2.SetFocus;
end;
procedure TSJXXSZ.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if dbedit3.Text ='' then
begin
showmessage('酒水名称不能为空...');
exit;
end
else
begin
PerForm(WM_NEXTDLGCTL,0,0);
dbedit4.SetFocus;
end;
end;
end;
procedure TSJXXSZ.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then DBEdit5.SetFocus; //焦点移到“价格”输入框
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -