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

📄 unit_rubb_mixcard2.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
字号:
unit Unit_Rubb_MixCard2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBTables, Db, Grids, DBGrids, StdCtrls, ExtCtrls, Mask, DBCtrls, Buttons;

type
  TForm_Rubb_MixCard2 = class(TForm)
    BitBtn_Ins: TBitBtn;
    BitBtn_Del: TBitBtn;
    BitBtn_Mod: TBitBtn;
    BitBtn_Post: TBitBtn;
    BitBtn_Cancel: TBitBtn;
    Panel1: TPanel;
    DBEdit_Mater: TDBEdit;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel5: TPanel;
    DBEdit_Per: TDBEdit;
    DBEdit_Mul: TDBEdit;
    RadioGroup1: TRadioGroup;
    DBGrid1: TDBGrid;
    Tab_MixCard: TTable;
    DS_Show: TDataSource;
    Qry_MixCard: TQuery;
    DBEdit_MixCard: TDBEdit;
    DS_MixCard: TDataSource;
    DBEdit_Rubb: TDBEdit;
    BitBtn1: TBitBtn;
    Qry_exe: TQuery;
    Panel6: TPanel;
    procedure FormCreate(Sender: TObject);
    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 RadioGroup1Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit_MaterEnter(Sender: TObject);
    procedure DBEdit_MaterExit(Sender: TObject);
    procedure DBEdit_MaterChange(Sender: TObject);
    procedure DBEdit_PerExit(Sender: TObject);
    procedure DBEdit_MulExit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);

  private
    { Private declarations }
     n_MinHeight,n_MaxHeight:integer;
  public
    { Public declarations }
    s_MixCard,s_Rubb,s_mater:string;

  end;

var
  i: integer;
  Form_Rubb_MixCard2: TForm_Rubb_MixCard2;
  implementation

{$R *.DFM}

procedure TForm_Rubb_MixCard2.FormCreate(Sender: TObject);
begin
  n_MinHeight:=333;
  n_MaxHeight:=445;
  Form_Rubb_MixCard2.Height:=n_MinHeight;

end;

procedure TForm_Rubb_MixCard2.BitBtn_InsClick(Sender: TObject);
begin
//限制其他按钮
  i:=1;
  DBGrid1.Enabled:=false;
  BitBtn_Ins.Enabled:=false;
  BitBtn_Del.Enabled:=false;
  BitBtn_Mod.Enabled:=false;
  BitBtn_Post.Enabled:=true;

//处理自己的事件
  Tab_MixCard.active:=true;
  Tab_MixCard.append;
  DBEdit_MixCard.text:=s_MixCard;
  DBEdit_Rubb.text:=s_rubb;

//窗体下拉滚动效果
  while Form_Rubb_MixCard2.Height <n_MaxHeight do
  begin
    Form_Rubb_MixCard2.Height:=Form_Rubb_MixCard2.Height+1;
  end; //while

//刷新表格
  Qry_MixCard.close;
  Qry_MixCard.open;
  DBEdit_Mater.SetFocus;
   //Qry_MixCard.disablecontrols;
end;

procedure TForm_Rubb_MixCard2.BitBtn_DelClick(Sender: TObject);
begin
 if messagedlg('确认从配方中删除该材料吗?',mtwarning,[mbyes,mbno],0) = mryes then
  begin
  //处理自己的事件
    Tab_MixCard.SetKey;
    Tab_MixCard.FindKey([Qry_MixCard.fieldbyname('标识号').asinteger]);
    Tab_MixCard.delete;
  end; //if

//刷新表格
  Qry_MixCard.Close;
  Qry_MixCard.open;


end;

procedure TForm_Rubb_MixCard2.BitBtn_ModClick(Sender: TObject);
begin
//限制其他按钮
  i:=1;
  DBGrid1.Enabled:=false;
  BitBtn_Mod.Enabled:=false;
  BitBtn_Del.Enabled:=false;
  BitBtn_Ins.Enabled:=false;
  BitBtn_Post.Enabled:=true;

//处理自己的事件
  Tab_MixCard.SetKey;
  Tab_MixCard.FindKey([Qry_MixCard.fieldbyname('标识号').asinteger]);
  Tab_MixCard.edit;

//窗体下拉滚动效果
  while Form_Rubb_MixCard2.Height <n_MaxHeight do
  begin
    Form_Rubb_MixCard2.Height:=Form_Rubb_MixCard2.Height+1;
  end; //while

//刷新表格
  Qry_MixCard.close;
  Qry_MixCard.open;

end;

procedure TForm_Rubb_MixCard2.BitBtn_PostClick(Sender: TObject);
begin
//必须填写某些栏目
  if i=1 then
  begin
  if (DBEdit_Per.text = '') and (DBEdit_Mul.text= '') then
  begin
    showmessage('请填写各栏目!');
    exit;
  end; //if

//限制其他按钮
  DBGrid1.Enabled:=true;
  BitBtn_Ins.Enabled:=true;
  BitBtn_Del.Enabled:=true;
  BitBtn_Mod.Enabled:=true;

//处理自己的事件
   Tab_MixCard.post;

//窗体上卷滚动效果
  while Form_Rubb_MixCard2.Height >n_MinHeight do
  begin
    Form_Rubb_MixCard2.Height:=Form_Rubb_MixCard2.Height-1;
  end; //while

//刷新表格
   Qry_MixCard.close;
   Qry_MixCard.open;

  perform(WM_NEXTDLGCTL,0,0);
   end;
   if (i=0)  then
   showmessage('数据提交失败,没按“添加”或“修改”键!');
     i:=0;
   end;

procedure TForm_Rubb_MixCard2.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_MixCard.cancel;

//窗体上卷滚动效果
  while Form_Rubb_MixCard2.Height >n_MinHeight do
  begin
    Form_Rubb_MixCard2.Height:=Form_Rubb_MixCard2.Height-1;
  end; //while


end;

procedure TForm_Rubb_MixCard2.FormClose(Sender: TObject; var Action: TCloseAction);
var
  fPer:real;
begin
//限制其他按钮
  DBGrid1.Enabled:=true;
  BitBtn_Ins.Enabled:=true;
  BitBtn_Del.Enabled:=true;
  BitBtn_Mod.Enabled:=true;
  BitBtn_Post.Enabled:=false;

//处理自己的事件
  Tab_MixCard.cancel;

//窗体上卷滚动效果
  Form_Rubb_MixCard2.Height:=n_MinHeight;


  if RadioGroup1.ItemIndex = 0 then
  with Qry_exe do
  begin
    close;
    sql.clear;
    sql.add('select sum(百分比) from 炼胶配方表 where 配方编号 = :v_MixCardNum ');
    parambyname('v_MixCardNum').asinteger:=strtoint(s_MixCard);
    open;
    fPer:=fields[0].asfloat;
    fPer:=strtofloat(formatfloat('0.000',fPer));
    if fPer = 0 then exit;
    if fPer <> 100 then
    begin
      showmessage('您所填写的百分比配方各项之和是'+floattostr(fPer)+'%,'+' 应为100% 。'+#13+#13'请重新填写!');
    end;
  end; //with
end;

procedure TForm_Rubb_MixCard2.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
  0:
    begin
      DBEdit_Per.Enabled:=true;
      DBEdit_Mul.Enabled:=false;
      DBEdit_Per.color:=clwindow;
      DBEdit_Mul.color:=clbtnface;
    end;
  1:
    begin
      DBEdit_Per.Enabled:=false;
      DBEdit_Mul.Enabled:=true;
      DBEdit_Per.color:=clbtnface;
      DBEdit_Mul.color:=clwindow;
    end;
  end; //case

end;

procedure TForm_Rubb_MixCard2.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_MixCard2.DBEdit_MaterEnter(Sender: TObject);
begin
  TEdit(Sender).color:=claqua;
end;

procedure TForm_Rubb_MixCard2.DBEdit_MaterExit(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
  TEdit(Sender).color:=clwindow;
end;

procedure TForm_Rubb_MixCard2.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_MixCard2.DBEdit_PerExit(Sender: TObject);
begin
  TEdit(Sender).color:=clwindow;
  BitBtn_Post.SetFocus;
end;

procedure TForm_Rubb_MixCard2.DBEdit_MulExit(Sender: TObject);
begin
  TEdit(Sender).color:=clwindow;
  BitBtn_Post.SetFocus;
end;

procedure TForm_Rubb_MixCard2.FormShow(Sender: TObject);
begin
  Qry_MixCard.active:=true;
  i:=0;
  BitBtn_Post.Enabled:=false;
end;

procedure TForm_Rubb_MixCard2.BitBtn1Click(Sender: TObject);
begin
   Qry_MixCard.active:=false;
   Tab_MixCard.active:=false;
   close;
end;

procedure TForm_Rubb_MixCard2.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 + -