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

📄 unitdictionary.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitDictionary;

interface

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

type
  TfrmCommDictionary = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    dbgMaterDictionary: TDBGrid;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    dbgProdDictionary: TDBGrid;
    DBGrid3: TDBGrid;
    dbgStaff: TDBGrid;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Splitter1: TSplitter;
    eMaterDictionaryFind: TEdit;
    rgMaterDictionary: TRadioGroup;
    BitBtn5: TBitBtn;
    Panel4: TPanel;
    Splitter2: TSplitter;
    Panel5: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    dbeProdID: TDBEdit;
    DBEdit6: TDBEdit;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    Splitter3: TSplitter;
    Panel6: TPanel;
    eProdDictionaryFind: TEdit;
    rgProdDictionary: TRadioGroup;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    BitBtn12: TBitBtn;
    Splitter4: TSplitter;
    Panel7: TPanel;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    Label8: TLabel;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    Label18: TLabel;
    DBEdit8: TDBEdit;
    Label19: TLabel;
    Splitter7: TSplitter;
    Splitter8: TSplitter;
    Panel10: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    dbeStaffID: TDBEdit;
    DBEdit12: TDBEdit;
    BitBtn18: TBitBtn;
    BitBtn20: TBitBtn;
    BitBtn21: TBitBtn;
    BitBtn22: TBitBtn;
    Splitter9: TSplitter;
    Panel11: TPanel;
    eStaffFind: TEdit;
    rgStaff: TRadioGroup;
    bbExit: TBitBtn;
    Image2: TImage;
    DBGrid5: TDBGrid;
    Splitter6: TSplitter;
    Panel12: TPanel;
    Label13: TLabel;
    Label14: TLabel;
    dbeWorkShop: TDBEdit;
    DBEdit14: TDBEdit;
    BitBtn23: TBitBtn;
    BitBtn24: TBitBtn;
    BitBtn25: TBitBtn;
    BitBtn26: TBitBtn;
    Panel13: TPanel;
    Splitter10: TSplitter;
    Splitter5: TSplitter;
    Panel8: TPanel;
    Label9: TLabel;
    Label10: TLabel;
    dbeManufacturerID: TDBEdit;
    dbeManufacturer: TDBEdit;
    BitBtn15: TBitBtn;
    BitBtn16: TBitBtn;
    BitBtn17: TBitBtn;
    BitBtn19: TBitBtn;
    Splitter11: TSplitter;
    Panel9: TPanel;
    DBEdit9: TDBEdit;
    Label15: TLabel;
    Label16: TLabel;
    DBEdit10: TDBEdit;
    BitBtn7: TBitBtn;
    Button1: TButton;
    Query1: TQuery;
    dbeMaterID: TDBEdit;
    Query2: TQuery;
    Label17: TLabel;
    Label20: TLabel;
    Query3: TQuery;
    Label21: TLabel;
    Query2ProdID: TStringField;
    Query2FigID: TStringField;
    Query2ProdName: TStringField;
    Query2RubbName: TStringField;
    Query2MakePrice: TFloatField;
    Query2SellPrice: TFloatField;
    Query2Contain: TIntegerField;
    Query2Weight: TFloatField;
    BitBtn6: TBitBtn;
    BitBtn8: TBitBtn;
    DBEdit11: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    Query2Tanhuang: TIntegerField;
    Query2Gujia: TIntegerField;
    Label28: TLabel;
    Label29: TLabel;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    Label30: TLabel;
    DBEdit21: TDBEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure CEnter(Sender: TObject);
    procedure CExit(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn15Click(Sender: TObject);
    procedure BitBtn18Click(Sender: TObject);
    procedure BitBtn23Click(Sender: TObject);
    procedure BitBtn19Click(Sender: TObject);
    procedure BitBtn22Click(Sender: TObject);
    procedure BitBtn26Click(Sender: TObject);
    procedure BitBtn16Click(Sender: TObject);
    procedure BitBtn20Click(Sender: TObject);
    procedure BitBtn24Click(Sender: TObject);
    procedure BitBtn17Click(Sender: TObject);
    procedure BitBtn21Click(Sender: TObject);
    procedure BitBtn25Click(Sender: TObject);
    procedure bbExitClick(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure eMaterDictionaryFindChange(Sender: TObject);
    procedure eProdDictionaryFindChange(Sender: TObject);
    procedure dbgMaterDictionaryCellClick(Column: TColumn);
    procedure dbgProdDictionaryCellClick(Column: TColumn);
    procedure rgProdDictionaryClick(Sender: TObject);
    procedure rgMaterDictionaryClick(Sender: TObject);
    procedure eStaffFindChange(Sender: TObject);
    procedure dbgStaffCellClick(Column: TColumn);
    procedure rgStaffClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid3CellClick(Column: TColumn);
    procedure DBGrid5CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
    function zdyStrAddOne(s:string):string; //  号码加一
    function zdyStrdecOne(s:string):string; //  号码减一
  end;

var
  frmCommDictionary: TfrmCommDictionary;
   ci,a,j,sp,v:integer;
   p:string;
implementation

uses UnitDM;

{$R *.DFM}

function TfrmCommDictionary.zdyStrAddOne(s:string):string; //  号码加一
var
  iStrLen,iTemLen,i:integer;
  iTem:integer;
  sZero,sTem:string;
begin
  sZero:='';
  iStrLen:= strlen(Pchar(s));

  try strtoint(s)
  except exit;
  end; //try

  iTem:=strtoint(s);
  Inc(iTem);
  sTem:=inttostr(iTem);

  iTemLen:=strlen(Pchar(sTem));
  i:= iStrLen - iTemLen;

  for i := 1 to i do
  begin
    sZero:= sZero + '0';
  end; //for

  sTem:=sZero + sTem ;
  result := sTem;

end;

function TfrmCommDictionary.zdyStrdecOne(s:string):string; //  号码减一
var
  iStrLen,iTemLen,i:integer;
  iTem:integer;
  sZero,sTem:string;
begin
  sZero:='';
  iStrLen:= strlen(Pchar(s));

  try strtoint(s)
  except exit;
  end; //try

  iTem:=strtoint(s);
  iTem:=iTem-1;
  sTem:=inttostr(iTem);

  iTemLen:=strlen(Pchar(sTem));
  i:= iStrLen - iTemLen;

  for i := 1 to i do
  begin
    sZero:= sZero + '0';
  end; //for

  sTem:=sZero + sTem ;
  result := sTem;

end;


procedure TfrmCommDictionary.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //Query1.Close;
  Query2.Close;
  dm.tabMaterDictionary.close;
  dm.tabStaff.close;
  dm.tabManufacturer.close;
  dm.tabWorkShop.close;
  dm.tabProdDictionary.close;
  dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
  dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
  dm.dsStaff.DataSet:=dm.tabStaff;
end;

procedure TfrmCommDictionary.BitBtn1Click(Sender: TObject);
var
  iMaterID:integer;
begin
  j:=0;
  a:=1;
  BitBtn4.Enabled:=false;
  BitBtn2.Enabled:=false;
  dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
  with dm.tabMaterDictionary do
  begin
     open;
    last;
    iMaterID:=fieldbyname('标识号').asinteger;
    iMaterID:=iMaterID+1;
    append;
  end; //with

  dbeMaterID.SetFocus;
  dbeMaterID.text:=inttostr(iMaterID);
  DBEdit3.SetFocus;
end;

procedure TfrmCommDictionary.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
  end; //if

end;

procedure TfrmCommDictionary.CEnter(Sender: TObject);
begin
  if a=1 then
  begin
  (Sender as TDBEdit).ReadOnly:=false;
  (Sender as TDBEdit).color := claqua;
  end;
  if a=0 then
  showmessage('请先按“添加”或“修改”按键!');

end;

procedure TfrmCommDictionary.CExit(Sender: TObject);
begin
  (Sender as TDBEdit).color := clwindow;
end;

procedure TfrmCommDictionary.BitBtn4Click(Sender: TObject);
begin
  a:=1;
    BitBtn1.Enabled:=false;
    BitBtn2.Enabled:=false;
    if j=1 then
    begin
   dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
   dm.tabMaterDictionary.Filtered:=true ;
    end;
   //dm.tabMaterDictionary.close;
   //dm.tabMaterDictionary.open;
   //dm.tabMaterDictionary.Filtered:=false ;
   dm.tabMaterDictionary.edit;
    j:=0;
   dbeMaterID.SetFocus;
end;

procedure TfrmCommDictionary.BitBtn2Click(Sender: TObject);
begin
  if v<>1 then
   begin
    showmessage('请选择要删除的记录!');
    exit;
    end;
  if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
    begin
    v:=0;
    exit;
    end;
    begin
    dm.tabMaterDictionary.open;
     if dm.tabMaterDictionary.recordcount=0 then
     begin
     showmessage('无记录可删除!');
     exit;
     end;
    if j<>0 then
   begin
    with Query1 do
    begin
    close;
    sql.Clear;
    sql.Add('delete from 原材料字典');
    sql.add('where 标识号=:b');
    paramByName('b').asinteger:=sp;
    execsql;
    end;
    dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
   end;
    if j=0 then
    dm.tabMaterDictionary.delete;
    eMaterDictionaryFind.text:='';

  //dm.tabMaterDictionary.edit;
  with dm.tabMaterDictionary do
    begin
    open;
    first;
    while not eof do
    begin
    if fieldbyname('标识号').asinteger>sp then
    begin
    edit;
    fieldbyname('标识号').asinteger:=fieldbyname('标识号').asinteger-1;
    post;
    sp:=sp+1;
    end;
    next;
    end;
    dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
    dm.tabMaterDictionary.Close;
    dm.tabMaterDictionary.Open;
    end;
    j:=0;
    sp:=0;
   v:=0;
  end;
end;

procedure TfrmCommDictionary.BitBtn3Click(Sender: TObject);
begin
    if (a=1) then
    begin
    dm.tabMaterDictionary.post;
    if a=0 then
    showmessage('请先按“添加”或“修改”按键!');
    a:=0;
    dm.tabMaterDictionary.Filtered:=false ;
    eMaterDictionaryFind.text:='';
    BitBtn1.Enabled:=true;
    BitBtn2.Enabled:=true;
    BitBtn4.Enabled:=true;
     exit;
    end ;

end;

procedure TfrmCommDictionary.BitBtn5Click(Sender: TObject);
begin
  Query1.active:=false;
  dm.tabMaterDictionary.active:=false;
  close;
end;

procedure TfrmCommDictionary.BitBtn8Click(Sender: TObject);
var
  sProdID:string;
begin
  dm.tabProdDictionary.cancel;
  with dm.qryExe do
  begin
    close;
    sql.Clear;
    if rgProdDictionary.ItemIndex = 0 then
    begin
      sql.add('select * from ProdDictionary where FigID = :FigID');
      parambyname('FigID').asstring:=eProdDictionaryFind.text;
    end
    else if rgProdDictionary.ItemIndex = 1 then
    begin
      sql.add('select * from ProdDictionary where ProdName = :ProdName');
      parambyname('ProdName').asstring:=eProdDictionaryFind.text;
    end
    else
      exit;
    open;
    if recordcount = 0 then
    begin
      showmessage('没找到该成品!');
      exit;
    end;
    sProdID:=fieldbyname('ProdID').asstring;
    end; //with

    with dm.tabProdDictionary do
    begin
      setkey;
      findkey([sProdID]);
    end; //with
  dbgProdDictionary.setfocus;

end;

procedure TfrmCommDictionary.BitBtn9Click(Sender: TObject);
var
  sProdID:string;
begin
  j:=0;
  a:=1;
  BitBtn10.Enabled:=false;
  BitBtn11.Enabled:=false;
  dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
  with dm.tabProdDictionary do
  begin
    open;
    last;
    sProdID:=fieldbyname('ProdID').asstring;
    if sProdID='' then
    sProdID:='000';
    sProdID:=zdyStrAddOne(sProdID);
    append;
  end; //with

  dbeProdID.SetFocus;
  dbeProdID.text:=sProdID;
   DBEdit6.SetFocus;
end;

procedure TfrmCommDictionary.BitBtn11Click(Sender: TObject);
var
g:string;
begin
   if v<>1 then
    begin
    showmessage('请选择要删除的记录!');
    exit;
    end;
   if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
    begin
    v:=0;
    exit;
    end;
    begin
    dm.tabProdDictionary.open;
     if dm.tabProdDictionary.recordcount = 0 then
     begin
     showmessage('无记录可删除!');
     exit;
     end;
    if j<>0 then
    begin
    with Query2 do
    begin
    close;
    sql.Clear;
    sql.Add('delete from ProdDictionary');
    sql.add('where prodID=:b');
    paramByName('b').asstring:=p;
    execsql;
    end;
    //dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
   end;
    if j=0 then
    dm.tabProdDictionary.delete;
    eProdDictionaryFind.text:='';

  //dm.tabMaterDictionary.edit;
  with dm.tabProdDictionary do
    begin
    open;
    first;
    while not eof do
    begin
    g:=fieldbyname('prodID').asstring;
    if strtoint(g)>strtoint(p) then
    begin
    edit;
    fieldbyname('prodID').asstring :=zdyStrdecOne(g);
    post;
    p:=inttostr(strtoint(p)+1);
    end;
    next;
    end;
    dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
    dm.tabProdDictionary.Close;
    dm.tabProdDictionary.Open;
    end;
    j:=0;
    p:='';
    v:=0;
    //end;
    end;
end;

procedure TfrmCommDictionary.BitBtn10Click(Sender: TObject);
begin
  a:=1;
  //dbeProdID.SetFocus;
  BitBtn11.Enabled:=false;
  BitBtn9.Enabled:=false;
   if j=1 then
   begin
   dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
   dm.tabProdDictionary.Filtered:=true ;
   end;
   //dm.tabProdDictionary.close;
   dm.tabProdDictionary.open;
  //dm.tabProdDictionary.Filtered:=false; ;
   dm.tabProdDictionary.edit;
    j:=0;
  dbeProdID.SetFocus;
end;

procedure TfrmCommDictionary.BitBtn12Click(Sender: TObject);
begin
   if (DBEdit9.text='')or (DBEdit4.text='')or (DBEdit7.text='')or (DBEdit6.text='')then
   begin
     showmessage('必须输入产品名称、胶料名称、图号和净重!');
     exit;
     end;
  if a=1 then
    dm.tabProdDictionary.post;
   if a=0 then
    showmessage('请先按“添加”或“修改”按键!');
     dm.tabProdDictionary.Filtered:=false ;
    eProdDictionaryFind.text:='';
    a:=0;
    BitBtn9.Enabled:=true;
    BitBtn10.Enabled:=true;
    BitBtn11.Enabled:=true;
end;

procedure TfrmCommDictionary.BitBtn15Click(Sender: TObject);
var
  sID:string;
begin
  a:=1;
  BitBtn16.Enabled:=false;
  BitBtn19.Enabled:=false;
  with dm.tabManufacturer do
  begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -