⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_rubb_matercard.~pas

📁 此代码为企业原料管理代码
💻 ~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 + -