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

📄 f_specenter.pas

📁 仓库管理系统 仓库管理系统
💻 PAS
字号:
unit f_specenter;

interface

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

type
  Tdfmspecenter = class(TForm)
    StatusBar1: TStatusBar;
    GroupBox1: TGroupBox;
    Panel1: TPanel;
    GroupBox2: TGroupBox;
    Panel3: TPanel;
    DBGrid2: TDBGrid;
    GroupBox3: TGroupBox;
    Panel4: TPanel;
    DBGrid3: TDBGrid;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    ATblspec: TADOTable;
    ATbleware: TADOTable;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label5: TLabel;
    SpeedButton3: TSpeedButton;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    ADOTable1cclass: TWideStringField;
    ADOTable1cname: TWideStringField;
    DBGrid1: TDBGrid;
    Label9: TLabel;
    Label10: TLabel;
    DBEdit5: TDBEdit;
    ATblspeccstyle: TWideStringField;
    ATblspeccname: TWideStringField;
    ATblspeccclass: TWideStringField;
    ATblspeccprice: TFloatField;
    ATblewarespbh: TWideStringField;
    ATblewarejldw: TWideStringField;
    ATblewareflh: TWideStringField;
    ATblewarelsj: TFloatField;
    ATblewarejj: TFloatField;
    MaskEdit3: TMaskEdit;
    Label11: TLabel;
    ADOTable1clabel: TWideStringField;
    ATblspecclabel: TWideStringField;
    ATblewareclabel: TWideStringField;
    Label12: TLabel;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    Label13: TLabel;
    DBComboBox4: TDBComboBox;
    DSindlabel: TDataSource;
    Aindlabel: TADOTable;
    Aindlabelclabel: TWideStringField;
    Aindlabelcfactory: TWideStringField;
    dsclass: TDataSource;
    Atclass: TADOTable;
    atspec: TADOTable;
    dsspec: TDataSource;
    FlatButton1: TFlatButton;
    FlatButton2: TFlatButton;
    FlatButton3: TFlatButton;
    FlatButton4: TFlatButton;
    FlatButton5: TFlatButton;
    FlatButton6: TFlatButton;
    FlatButton7: TFlatButton;
    FlatButton8: TFlatButton;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    SpeedButton1: TSpeedButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure quitbtnClick(Sender: TObject);
    procedure addbtnClick(Sender: TObject);
    procedure delbtnClick(Sender: TObject);
    procedure cancelbtnClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure DBLookupComboBox2Exit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBComboBox4Enter(Sender: TObject);
    procedure DBComboBox2Enter(Sender: TObject);
    procedure DBComboBox1Enter(Sender: TObject);
    procedure FlatButton3Click(Sender: TObject);
    procedure FlatButton1Click(Sender: TObject);
    procedure DBEdit2Exit(Sender: TObject);
    procedure FlatButton2Click(Sender: TObject);
    procedure FlatButton4Click(Sender: TObject);
    procedure FlatButton5Click(Sender: TObject);
    procedure FlatButton6Click(Sender: TObject);
    procedure FlatButton7Click(Sender: TObject);
    procedure FlatButton8Click(Sender: TObject);
    procedure ATblewarePostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure DBLookupComboBox2Enter(Sender: TObject);
    procedure DataSource1StateChange(Sender: TObject);
    procedure DataSource2StateChange(Sender: TObject);
    procedure ADOTable1PostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure ATblspecPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmspecenter: Tdfmspecenter;
  vlab,vcla,vsty: string;

implementation

uses  dbmRainbowMis, chHeadUnit;

{$R *.DFM}

procedure Tdfmspecenter.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ATblspec.Active :=false;
  ATbleware.Active :=false;
  ADOTable1.Active :=false;
  Aindlabel.active :=false;
  Atclass.Active :=false;
  atspec.Active :=false;
  action:=cafree;
end;

procedure Tdfmspecenter.quitbtnClick(Sender: TObject);
begin
  close;
end;

procedure Tdfmspecenter.addbtnClick(Sender: TObject);
begin
//  tbltmanrec.Append;
end;

procedure Tdfmspecenter.delbtnClick(Sender: TObject);
begin
//  tbltmanrec.delete;
end;

procedure Tdfmspecenter.cancelbtnClick(Sender: TObject);
begin
//  tbltmanrec.Cancel;
end;

procedure Tdfmspecenter.SpeedButton3Click(Sender: TObject);
var
  m,n:integer;
begin
  n:=1;
  while n<=21 do
  begin
    if trim(copy(maskedit1.Text ,n,3))<>'' then
    begin
      m:=1;
      while m<=21 do
      begin
        if trim(copy(maskedit2.Text,m,4))<>'' then
        begin
          ATbleware.Append ;
          ATbleware['clabel']:=DBLookupComboBox1.text;
          ATbleware['flh']:=DBLookupComboBox2.Text;
          ATbleware['spbh']:=DBLookupComboBox2.Text +trim(copy(maskedit1.Text ,n,3))+trim(copy(maskedit2.Text ,m,4));
          ATbleware['lsj']:=maskedit3.Text;
          ATbleware.Post ;
        end;
        m:=m+5;
      end;
      n:=n+4;
    end else
      n:=n+4;
  end;
end;

procedure Tdfmspecenter.SpeedButton8Click(Sender: TObject);
begin
  ATblspec.Append ;
end;

procedure Tdfmspecenter.SpeedButton6Click(Sender: TObject);
begin
  ATblspec.Post ;
end;

procedure Tdfmspecenter.SpeedButton7Click(Sender: TObject);
begin
  ATblspec.cancel;
end;

procedure Tdfmspecenter.SpeedButton9Click(Sender: TObject);
begin
  adotable1.Append ;
end;

procedure Tdfmspecenter.SpeedButton1Click(Sender: TObject);
begin
  ATbleware.delete ;
end;

procedure Tdfmspecenter.SpeedButton2Click(Sender: TObject);
begin
    adotable1.cancel ;
end;

procedure Tdfmspecenter.DBLookupComboBox2Exit(Sender: TObject);
begin
  maskedit3.Text := atspec['cprice'];
end;

procedure Tdfmspecenter.FormCreate(Sender: TObject);
begin
  ATblspec.Active :=true;
  ATbleware.Active :=true;
  ADOTable1.Active :=true;
  Aindlabel.active :=true;
  Atclass.Active :=true;
  atspec.Active :=true;
end;

procedure Tdfmspecenter.DBComboBox4Enter(Sender: TObject);
begin
  chHeadUnit.dblist(dbcombobox4,Aindlabel,'clabel','cfactory',1);
end;

procedure Tdfmspecenter.DBComboBox2Enter(Sender: TObject);
begin
  atclass.Filtered := false;
  Atclass.Filter :='clabel='+''''+dbcombobox1.text+'''';
  atclass.Filtered := true;
  chHeadUnit.dblist(dbcombobox2,Atclass,'cclass','clabel',1);
end;

procedure Tdfmspecenter.DBComboBox1Enter(Sender: TObject);
begin
  chHeadUnit.dblist(dbcombobox1,Aindlabel,'clabel','cclass',1);
end;

procedure Tdfmspecenter.FlatButton3Click(Sender: TObject);
begin
  ADOTable1.Post;
  vlab:=trim(adotable1['clabel']);  
end;

procedure Tdfmspecenter.FlatButton1Click(Sender: TObject);
begin
  ADOTable1.Append ;
  dbcombobox4.Text := vlab;
  dbcombobox4.SetFocus ;
end;

procedure Tdfmspecenter.DBEdit2Exit(Sender: TObject);
begin
  FlatButton3.SetFocus;
end;

procedure Tdfmspecenter.FlatButton2Click(Sender: TObject);
begin
  ADOTable1.Delete ;
end;

procedure Tdfmspecenter.FlatButton4Click(Sender: TObject);
begin
  ADOTable1.Cancel;
end;

procedure Tdfmspecenter.FlatButton5Click(Sender: TObject);
begin
  ATblspec.Append ;
  dbcombobox1.Text := vlab;
  dbcombobox2.Text := vcla;
  dbcombobox1.SetFocus;
end;

procedure Tdfmspecenter.FlatButton6Click(Sender: TObject);
begin
  ATblspec.Delete;
end;

procedure Tdfmspecenter.FlatButton7Click(Sender: TObject);
begin
  ATblspec.Post;
  atspec.Close;
  atspec.Open;
  vlab:=ATblspec['clabel'];
  vcla:=ATblspec['cclass'];
end;

procedure Tdfmspecenter.FlatButton8Click(Sender: TObject);
begin
  ATblspec.Cancel;
end;

procedure Tdfmspecenter.ATblewarePostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  Application.MessageBox('不允许空纪录或重复部门号,请检查后重新保存?',
        '提示信息', MB_OK);
  abort;
  ATbleware.Cancel;
end;

procedure Tdfmspecenter.DBLookupComboBox2Enter(Sender: TObject);
begin
  atspec.Filtered := false;
  atspec.Filter :='clabel='+''''+trim(DBLookupComboBox1.text)+'''';
  atspec.Filtered := true;
end;

procedure Tdfmspecenter.DataSource1StateChange(Sender: TObject);
begin
    case ADOTable1.State of
      dsbrowse:
        begin
          FlatButton1.Enabled :=true;
          FlatButton2.Enabled :=true;
          FlatButton3.Enabled :=false;
          FlatButton4.Enabled :=false;
        end;
      dsinsert:
        begin
          FlatButton1.Enabled :=false;
          FlatButton2.Enabled :=false;
          FlatButton3.Enabled :=true;
          FlatButton4.Enabled :=true;
        end;
      dsedit:
        begin
          FlatButton1.Enabled :=false;
          FlatButton2.Enabled :=false;
          FlatButton3.Enabled :=true;
          FlatButton4.Enabled :=true;
        end;
    end;
end;

procedure Tdfmspecenter.DataSource2StateChange(Sender: TObject);
begin
    case ATblspec.State of
      dsbrowse:
        begin
          FlatButton5.Enabled :=true;
          FlatButton6.Enabled :=true;
          FlatButton7.Enabled :=false;
          FlatButton8.Enabled :=false;
        end;
      dsinsert:
        begin
          FlatButton5.Enabled :=false;
          FlatButton6.Enabled :=false;
          FlatButton7.Enabled :=true;
          FlatButton8.Enabled :=true;
        end;
      dsedit:
        begin
          FlatButton5.Enabled :=false;
          FlatButton6.Enabled :=false;
          FlatButton7.Enabled :=true;
          FlatButton8.Enabled :=true;
        end;
    end;
end;

procedure Tdfmspecenter.ADOTable1PostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  Application.MessageBox('不允许空纪录或重复的记录,请取消或检查后重新保存?',
        '提示信息', MB_OK);
  abort;
end;

procedure Tdfmspecenter.ATblspecPostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  Application.MessageBox('不允许空纪录或重复的记录,请取消或检查后重新保存?',
        '提示信息', MB_OK);
  abort;
end;

end.

⌨️ 快捷键说明

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