📄 unit_rubb_matercard.~pas
字号:
unit Unit_Rubb_MaterCard;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons, Grids, DBGrids, Mask, DBCtrls, Db, DBTables,
ComCtrls;
type
TForm_Rubb_MaterCard = class(TForm)
DBGrid1: TDBGrid;
BitBtn_Ins: TBitBtn;
BitBtn_Del: TBitBtn;
BitBtn_Mod: TBitBtn;
BitBtn_Post: TBitBtn;
BitBtn_Cancel: TBitBtn;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
DBEdit_IgdCode: TDBEdit;
DBEdit_Mater: TDBEdit;
DBEdit_Per: TDBEdit;
DBEdit_OutCardNum: TDBEdit;
DBEdit_Wt: TDBEdit;
Qry_MaterCard: TQuery;
Tab_MaterCard: TTable;
DS_Show: TDataSource;
DBEdit_Mid: TDBEdit;
MID: TPanel;
DS_MaterCard: TDataSource;
DBEdit_Money: TDBEdit;
BitBtn1: TBitBtn;
Qry_exe: TQuery;
Panel7: TPanel;
DateTimePicker1: TDateTimePicker;
procedure BitBtn_InsClick(Sender: TObject);
procedure BitBtn_DelClick(Sender: TObject);
procedure BitBtn_ModClick(Sender: TObject);
procedure BitBtn_PostClick(Sender: TObject);
procedure BitBtn_CancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBEdit_MaterChange(Sender: TObject);
procedure DBEdit_MaterEnter(Sender: TObject);
procedure DBEdit_MaterExit(Sender: TObject);
procedure DBEdit_IgdCodeEnter(Sender: TObject);
procedure DBEdit_dateEnter(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
n_MinHeight,n_MaxHeight:integer;
public
{ Public declarations }
n_mid:integer;
s_MixCardNum:string;
d_Rubbdate:Tdate;
end;
var
Form_Rubb_MaterCard: TForm_Rubb_MaterCard;
implementation
{$R *.DFM}
procedure TForm_Rubb_MaterCard.BitBtn_InsClick(Sender: TObject);
begin
//限制其他按钮
DBGrid1.Enabled:=false;
BitBtn_Ins.Enabled:=false;
BitBtn_Del.Enabled:=false;
BitBtn_Mod.Enabled:=false;
BitBtn_Post.Enabled:=true;
//处理自己的事件
Tab_MaterCard.append;
DBEdit_Mid.text:=inttostr(n_mid);
//窗体下拉滚动效果
while Form_Rubb_MaterCard.Height <n_MaxHeight do
begin
Form_Rubb_MaterCard.Height:=Form_Rubb_MaterCard.Height+1;
end; //while
//刷新表格
Qry_MaterCard.close;
Qry_MaterCard.open;
DBEdit_IgdCode.SetFocus;
end;
procedure TForm_Rubb_MaterCard.BitBtn_DelClick(Sender: TObject);
begin
if messagedlg('确认从用料单中删除该材料吗?',mtwarning,[mbyes,mbno],0) = mryes then
begin
//处理自己的事件
Tab_MaterCard.SetKey;
Tab_MaterCard.FindKey([Qry_MaterCard.fieldbyname('标识号').asinteger]);
Tab_MaterCard.delete;
end; //if
//刷新表格
Qry_MaterCard.Close;
Qry_MaterCard.open;
end;
procedure TForm_Rubb_MaterCard.BitBtn_ModClick(Sender: TObject);
begin
//限制其他按钮
DBGrid1.Enabled:=false;
BitBtn_Mod.Enabled:=false;
BitBtn_Del.Enabled:=false;
BitBtn_Ins.Enabled:=false;
BitBtn_Post.Enabled:=true;
//处理自己的事件
Tab_MaterCard.SetKey;
Tab_MaterCard.FindKey([Qry_MaterCard.fieldbyname('标识号').asinteger]);
Tab_MaterCard.edit;
//窗体下拉滚动效果
while Form_Rubb_MaterCard.Height <n_MaxHeight do
begin
Form_Rubb_MaterCard.Height:=Form_Rubb_MaterCard.Height+1;
end; //while
//刷新表格
Qry_MaterCard.close;
Qry_MaterCard.open;
end;
procedure TForm_Rubb_MaterCard.BitBtn_PostClick(Sender: TObject);
begin
//必须填写的栏目
if (DBEdit_IgdCode.text = '') or (DBEdit_Mater.text = '') or (DBEdit_OutCardNum.text = '') or (DBEdit_Wt.text = '') or (DBEdit_Per.text = '' ) then
begin
showmessage('请填写每个栏目!');
exit;
end;//if
if Qry_MaterCard.RecordCount >0 then
if strtoint(DBEdit_IgdCode.text) <> Qry_MaterCard.FieldByName('配方编号').asinteger then
begin
showmessage('本用料单的配方编号应该相同,'+#13+#13+'请不要输错!'+#13+#13+'请重新填写或取消!');
exit;
end; //if
//限制其他按钮
DBGrid1.Enabled:=true;
BitBtn_Ins.Enabled:=true;
BitBtn_Del.Enabled:=true;
BitBtn_Mod.Enabled:=true;
BitBtn_Post.Enabled:=false;
//填写金额
DBEdit_Money.text:=floattostr(strtofloat(DBEdit_Wt.text) * strtofloat(DBEdit_Per.text));
Tab_MaterCard.fieldbyname('riqi').asdatetime:=DateTimePicker1.date;
//处理自己的事件
Tab_MaterCard.post;
s_MixCardNum:=DBEdit_IgdCode.text;
//窗体上卷滚动效果
while Form_Rubb_MaterCard.Height >n_MinHeight do
begin
Form_Rubb_MaterCard.Height:=Form_Rubb_MaterCard.Height-1;
end; //while
//刷新表格
Qry_MaterCard.Close;
Qry_MaterCard.open;
perform(WM_NEXTDLGCTL,0,0);
end;
procedure TForm_Rubb_MaterCard.BitBtn_CancelClick(Sender: TObject);
begin
//限制其他按钮
DBGrid1.Enabled:=true;
BitBtn_Ins.Enabled:=true;
BitBtn_Del.Enabled:=true;
BitBtn_Mod.Enabled:=true;
BitBtn_Post.Enabled:=false;
//处理自己的事件
Tab_MaterCard.cancel;
//窗体上卷滚动效果
while Form_Rubb_MaterCard.Height >n_MinHeight do
begin
Form_Rubb_MaterCard.Height:=Form_Rubb_MaterCard.Height-1;
end; //while
end;
procedure TForm_Rubb_MaterCard.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//限制其他按钮
DBGrid1.Enabled:=true;
BitBtn_Ins.Enabled:=true;
BitBtn_Del.Enabled:=true;
BitBtn_Mod.Enabled:=true;
BitBtn_Post.Enabled:=false;
//处理自己的事件
Tab_MaterCard.cancel;
//窗体上卷滚动效果
Form_Rubb_MaterCard.Height:=n_MinHeight;
end;
procedure TForm_Rubb_MaterCard.FormCreate(Sender: TObject);
begin
n_MinHeight:=285;
n_MaxHeight:=420;
Form_Rubb_MaterCard.Height:=n_MinHeight;
end;
procedure TForm_Rubb_MaterCard.FormKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end; //if
end;
procedure TForm_Rubb_MaterCard.DBEdit_MaterChange(Sender: TObject);
begin
with Qry_Exe do
begin
close;
sql.clear;
sql.add('select * from 原材料字典 where 简称 = :v_index ');
parambyname('v_index').asstring:=DBEdit_Mater.text;
open;
if recordcount = 0 then exit;
DBEdit_Mater.text:= fieldbyname('材料名称').asstring;
close;
end;//with
end;
procedure TForm_Rubb_MaterCard.DBEdit_MaterEnter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
end;
procedure TForm_Rubb_MaterCard.DBEdit_MaterExit(Sender: TObject);
begin
TEdit(Sender).color:=clwindow;
end;
procedure TForm_Rubb_MaterCard.DBEdit_IgdCodeEnter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
DBEdit_IgdCode.text:=s_MixCardNum;
end;
procedure TForm_Rubb_MaterCard.DBEdit_dateEnter(Sender: TObject);
begin
TEdit(Sender).color:=claqua;
end;
procedure TForm_Rubb_MaterCard.FormShow(Sender: TObject);
begin
BitBtn_Post.Enabled:=false;
end;
procedure TForm_Rubb_MaterCard.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
try
if ((Key>57) and (Key<48)) or ((Key<96) and (Key>110)) then
// exit;
// if Key=190 then
exit;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -