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

📄 mrcpcl.pas

📁 生产管理系统:系统具有数据备份及数据还原功能。能够保证系统数据的安全性方便的全方位的数据查询。在相应的权限下
💻 PAS
字号:
unit MRCPCL;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ImgList, Grids, DBGrids, StdCtrls, ComCtrls, ToolWin,
  ExtCtrls;

type
  TFRM_CPCL = class(TForm)
    Panel2: TPanel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    TabSheet2: TTabSheet;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    ImageList1: TImageList;
    Datalb: TDataSource;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label7: TLabel;
    Edit6: TEdit;
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Edit5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ToolButton6Click(Sender: TObject);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRM_CPCL: TFRM_CPCL;
  tb : integer = 0;
implementation
  uses MR_DATA, MRCPCL_CX;
{$R *.dfm}

procedure TFRM_CPCL.FormShow(Sender: TObject);
begin
  combobox1.Clear;
  with data.ADOb do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_cl');
    open;
  end;
  if data.ADOb.RecordCount>0 then
  begin
    while not data.ADOb.Eof do
    begin
      combobox1.Items.Add(data.ADOb.fieldbyname('cl_hh').AsString);
      data.ADOb.Next;
    end;
  end;
  with data.ADOa do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_cpcl order by cpbh');
    open;
  end;
  datalb.DataSet := data.ADOa;
  if data.ADOa.RecordCount < 1 then
  begin
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    edit4.Clear;
    edit5.Clear;
    edit6.Clear;
    combobox1.Text := '';
  end
  else
  begin
    data.ADOa.First;
    edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
    edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
    combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
    edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
    edit4.Text := data.ADOa.fieldbyname('dw').AsString;
    edit5.Text := data.ADOa.fieldbyname('gg').AsString;
    edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
  end;
end;
procedure TFRM_CPCL.ToolButton1Click(Sender: TObject);
var
   i : integer;
   s : string;
begin
  i := 1;
  tb := 1;
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  edit4.Clear;
  edit5.Clear;
  edit6.Clear;
  combobox1.Text := '';
  s := 'PW'+formatdatetime('yyyymm',now());
  if data.ADOa.RecordCount<1 then
  begin
    edit1.Text := s+'00000'+inttostr(i);
  end
  else
  begin
    data.ADOa.Last;
    i := strtoint(copy(data.ADOa.fieldbyname('cpbh').AsString,9,6));
    edit1.Text := s+formatfloat('000000',i+1);
  end;
  ToolButton2.Enabled := false;
  ToolButton4.Enabled := true;
  ToolButton5.Enabled := true;
  edit2.SetFocus;
end;
procedure TFRM_CPCL.ComboBox1Change(Sender: TObject);
begin
  with data.ADOb do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_cl where cl_hh='+''''+trim(combobox1.Text)+'''');
    open;
  end;
  edit3.Text := data.ADOb.fieldbyname('cl_name').AsString;
  edit4.Text := data.ADOb.fieldbyname('cl_dw').AsString;
  edit5.SetFocus;
end;

procedure TFRM_CPCL.ToolButton2Click(Sender: TObject);
begin
  tb := 2;
  ToolButton1.Enabled := false;
  ToolButton4.Enabled := true;
  ToolButton5.Enabled := true;
  edit2.SetFocus;
end;

procedure TFRM_CPCL.ToolButton3Click(Sender: TObject);
begin
  if application.MessageBox('真的要删除该记录吗?','提示',mb_yesno) = idyes then
  begin
    if data.ADOa.FieldByName('cpbh').AsString = '' then
      showmessage('产品物料清单已经为空,无法删除。')
    else
    begin
      data.ADOa.Delete;
      FRM_CPCL.FormShow(Sender);
    end;
  end;
end;

procedure TFRM_CPCL.ToolButton4Click(Sender: TObject);
var
  en,eg,eh,scdd,wh,wm : string;
  el,ef : real;
begin
  if (edit2.Text = '')or(edit3.Text = '')or(edit6.Text = '')
      or(combobox1.Text = '') then
  begin
    showmessage('产品名称、物料货号、物料名称和用量不能为空。');
  end
  else
  begin
    eh := data.ADOa.FieldByName('cpbh').AsString;
    en := data.ADOa.FieldByName('cpmc').AsString;
    eg := data.ADOa.FieldByName('gg').AsString;
    el := data.ADOa.FieldByName('yl').AsFloat;
    wh := data.ADOa.FieldByName('clhh').AsString;
    wm := data.ADOa.FieldByName('clmc').AsString;
    if tb = 1 then
      data.ADOa.Append;
    if tb = 2 then
      data.ADOa.Edit;
    data.ADOa.FieldByName('cpbh').AsString := edit1.Text;
    data.ADOa.FieldByName('cpmc').AsString := edit2.Text;
    data.ADOa.FieldByName('clhh').AsString := combobox1.Text;
    data.ADOa.FieldByName('clmc').AsString := edit3.Text;
    data.ADOa.FieldByName('dw').AsString := edit4.Text;
    data.ADOa.FieldByName('gg').AsString := edit5.Text;
    data.ADOa.FieldByName('yl').AsFloat := strtofloat(edit6.Text);
    data.ADOa.Post;                         
    FRM_CPCL.FormShow(Sender);
  end;
  ToolButton1.Enabled := true;
  ToolButton2.Enabled := true;
  ToolButton4.Enabled := false;
  ToolButton5.Enabled := false;
  tb := 0;
  with data.ADOd do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_scdd where cphh='+''''+eh+'''');
    open;
  end;
  if data.ADOd.RecordCount>0 then
  begin
    ef := strtofloat(data.ADOd.fieldbyname('sl').AsString);
    scdd := data.ADOd.fieldbyname('scddh').AsString;
    while not data.ADOd.Eof do
    begin
      data.ADOd.Edit;
      data.adod.FieldByName('cpmc').AsString := en;
      data.adod.Post;
      data.ADOd.Next;
    end;
  end;
  with data.ADOd do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_ll where scddh='+''''+scdd+'''');
    open;
  end;
  if data.ADOd.RecordCount>0 then
  begin
    while not data.ADOd.Eof do
    begin
      data.ADOd.Edit;
      data.adod.FieldByName('cpmc').AsString := en;
      data.ADOd.FieldByName('gg').AsString := eg;
      data.ADOd.FieldByName('wlhh').AsString := wh;
      data.ADOd.FieldByName('wlmc').AsString := wm;
      data.ADOd.FieldByName('sl').AsFloat := el*ef;
      data.adod.Post;
      data.ADOd.Next;
    end;
  end;
  with data.ADOd do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_ll where scddh='+''''+scdd+'''');
    open;
  end;
  with data.ADOd do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_cprk where scddh='+''''+scdd+'''');
    open;
  end;
  if data.ADOd.RecordCount>0 then
  begin
    while not data.ADOd.Eof do
    begin
      data.ADOd.Edit;
      data.adod.FieldByName('cpmc').AsString := en;
      data.adod.Post;
      data.ADOd.Next;
    end;
  end;
  with data.ADOd do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_jy where scddh='+''''+scdd+'''');
    open;
  end;
  if data.ADOd.RecordCount>0 then
  begin
    while not data.ADOd.Eof do
    begin
      data.ADOd.Edit;
      data.adod.FieldByName('cpmc').AsString := en;
      data.adod.Post;
      data.ADOd.Next;
    end;
  end;
end;

procedure TFRM_CPCL.ToolButton5Click(Sender: TObject);
begin
  //data.ADOa.Cancel;
  FRM_cpcl.FormShow(Sender);
  ToolButton1.Enabled := true;
  ToolButton2.Enabled := true;
  ToolButton4.Enabled := false;
  ToolButton5.Enabled := false;
  ToolButton8.Enabled := true;
  ToolButton9.Enabled := true;
  ToolButton10.Enabled := true;
  ToolButton11.Enabled := true;
  tb := 0;
end;

procedure TFRM_CPCL.ToolButton8Click(Sender: TObject);
begin
  data.ADOa.First;
  edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
  edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
  edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
  edit4.Text := data.ADOa.fieldbyname('dw').AsString;
  edit5.Text := data.ADOa.fieldbyname('gg').AsString;
  edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
  ToolButton8.Enabled := false;
  ToolButton9.Enabled := false;
  ToolButton10.Enabled := true;
  ToolButton11.Enabled := true;
end;

procedure TFRM_CPCL.ToolButton9Click(Sender: TObject);
begin
  data.ADOa.Prior;
  if not data.ADOa.Bof then
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end
  else
  begin
    ToolButton8.Enabled := false;
    ToolButton9.Enabled := false;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end;
  edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
  edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
  edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
  edit4.Text := data.ADOa.fieldbyname('dw').AsString;
  edit5.Text := data.ADOa.fieldbyname('gg').AsString;
  edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
procedure TFRM_CPCL.ToolButton10Click(Sender: TObject);
begin
  data.ADOa.Next;
  if not data.ADOa.Eof then
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end
  else
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := false;
    ToolButton11.Enabled := false;
  end;
  edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
  edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
  edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
  edit4.Text := data.ADOa.fieldbyname('dw').AsString;
  edit5.Text := data.ADOa.fieldbyname('gg').AsString;
  edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;

procedure TFRM_CPCL.ToolButton11Click(Sender: TObject);
begin
  data.ADOa.Last;
  ToolButton8.Enabled := true;
  ToolButton9.Enabled := true;
  ToolButton10.Enabled := false;
  ToolButton11.Enabled := false;
  edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
  edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
  edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
  edit4.Text := data.ADOa.fieldbyname('dw').AsString;
  edit5.Text := data.ADOa.fieldbyname('gg').AsString;
  edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;

procedure TFRM_CPCL.ToolButton13Click(Sender: TObject);
begin
  close;
end;

procedure TFRM_CPCL.DBGrid1CellClick(Column: TColumn);
begin
  edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
  edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
  edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
  edit4.Text := data.ADOa.fieldbyname('gg').AsString;
  edit5.Text := data.ADOa.fieldbyname('dw').AsString;
  edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;

procedure TFRM_CPCL.Edit5KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    edit6.SetFocus;
end;

procedure TFRM_CPCL.Edit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    combobox1.SetFocus; 
end;

procedure TFRM_CPCL.Edit3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    edit4.SetFocus;
end;

procedure TFRM_CPCL.Edit4KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    edit5.SetFocus;
end;

procedure TFRM_CPCL.ToolButton6Click(Sender: TObject);
begin
  ToolButton5.Enabled := TRUE;
  application.CreateForm(TFRM_CPCL_CX, FRM_CPCL_CX);
  FRM_CPCL_CX.ShowModal;
  FRM_CPCL_CX.Free;
end;

procedure TFRM_CPCL.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9',#8]) then
     key := #0;
end;

end.

⌨️ 快捷键说明

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