cpkczl.pas

来自「汽车配件管理系统 采用ACCESS数据库 配件销售类公司适用 。 主要是目录树的」· PAS 代码 · 共 305 行

PAS
305
字号
unit cpkczl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, DB, ADODB, dxCntner, dxTL, dxDBCtrl, dxDBTL, ComCtrls,
  dxtree, dxdbtree, dxdbtrel, cxLookAndFeelPainters, dxfColorButton,
  StdCtrls, cxButtons, cxMaskEdit, cxSpinEdit, cxDBEdit, cxCurrencyEdit,
  Grids, DBGridEh, cxLabel, cxControls, cxContainer, cxEdit, cxTextEdit,
  bsSkinCtrls, Menus, HzSpell, cxCheckBox, Mask, DBCtrlsEh, DBLookupEh;

type
  Tcpkczlck = class(TForm)
    spzl: TADOQuery;
    DataSource0: TDataSource;
    DBTree1: TdxDBTreeView;
    ePanel1: TbsSkinExPanel;
    cxLabel1: TcxLabel;
    DBGridEh1: TDBGridEh;
    Table1: TADOTable;
    Table2: TADOTable;
    Table3: TADOTable;
    Table4: TADOTable;
    Table5: TADOTable;
    Table6: TADOTable;
    Table7: TADOTable;
    Table8: TADOTable;
    Table9: TADOTable;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    DataSource4: TDataSource;
    DataSource5: TDataSource;
    DataSource6: TDataSource;
    DataSource7: TDataSource;
    DataSource8: TDataSource;
    DataSource9: TDataSource;
    DBGridEh2: TDBGridEh;
    DBGridEh3: TDBGridEh;
    DBGridEh4: TDBGridEh;
    DBGridEh5: TDBGridEh;
    DBGridEh6: TDBGridEh;
    cxLabel2: TcxLabel;
    cxLabel3: TcxLabel;
    cxLabel4: TcxLabel;
    cxLabel5: TcxLabel;
    cxLabel6: TcxLabel;
    cxLabel7: TcxLabel;
    cxLabel8: TcxLabel;
    cxButton1: TcxButton;
    cxButton2: TcxButton;
    Button1: TdxfColorButton;
    PopupMenu1: TPopupMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    ADOQy1: TADOQuery;
    py: THzSpell;
    Edit1: TcxTextEdit;
    Edit2: TcxTextEdit;
    Edit3: TcxTextEdit;
    Edit4: TcxTextEdit;
    cEdit1: TcxCurrencyEdit;
    cEdit2: TcxCurrencyEdit;
    cEdit3: TcxCurrencyEdit;
    cEdit4: TcxSpinEdit;
    cxLabel9: TcxLabel;
    Edit5: TcxTextEdit;
    cxLabel10: TcxLabel;
    cxLabel11: TcxLabel;
    cxLabel12: TcxLabel;
    cxLabel13: TcxLabel;
    cxLabel14: TcxLabel;
    cxLabel15: TcxLabel;
    cBox1: TcxCheckBox;
    cxLabel16: TcxLabel;
    dblp1: TDBLookupComboboxEh;
    zjEdit1: TcxTextEdit;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure cxButton1Click(Sender: TObject);
    procedure cxButton2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure DBGridEh1CellClick(Column: TColumnEh);
    procedure DBGridEh2CellClick(Column: TColumnEh);
    procedure DBGridEh3CellClick(Column: TColumnEh);
    procedure DBGridEh4CellClick(Column: TColumnEh);
    procedure DBGridEh5CellClick(Column: TColumnEh);
    procedure DBGridEh6CellClick(Column: TColumnEh);
    procedure Edit1PropertiesChange(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cpkczlck: Tcpkczlck;

implementation

{$R *.dfm}

uses main;

procedure Tcpkczlck.FormCreate(Sender: TObject);
begin
spzl.Open;
table1.Open;
table2.Open;
table3.Open;
table4.Open;
table5.Open;
table6.Open;
table7.Open;
table8.Open;
table9.Open;
dblp1.Text:='个';
epanel1.RollState:=true;
end;

procedure Tcpkczlck.N3Click(Sender: TObject);
var sjh,mc,bm:string;
bh,i:integer;
begin
zjedit1.Text:=spzl['zjm1'];
mc:=spzl['spmc'];
sjh:=spzl['spbh'];
edit1.Text:='';
edit5.Text:=spzl['spmc'];
edit2.Text:='';
edit3.Text:=spzl['spbh'];
if (length(spzl['spbh']) mod 5)<>0 then
begin
showmessage('此产品编码错误!位数不够或多出应为5的倍数!'+chr(13)+'请在产品编号处修改!');
cxlabel1.Caption:='产品编号:';
edit1.Text:=spzl['spbh'];
cxbutton1.Enabled:=false;
cxbutton2.Enabled:=false;
epanel1.RollState:=false;
button2.Visible:=true;
exit;
end;
edit4.Text:=spzl['zjm'];
cedit1.Value:=spzl['jj'];
cedit2.Value:=spzl['pfj'];
cedit3.Value:=spzl['sj'];
cedit4.Value:=spzl['sl'];
adoqy1.Close;
adoqy1.SQL.Clear;
adoqy1.SQL.Add('select sjbh,spbh from spk where sjbh=:bh order by spbh');
adoqy1.Parameters[0].Value:=sjh;
adoqy1.Open;
adoqy1.Last;
bm:='';
if adoqy1.RecordCount>0 then
begin
bm:=adoqy1['sjbh'];
bh:=strtoint(copy(adoqy1['spbh'],length(adoqy1['sjbh'])+1,5))+1;
if length(inttostr(bh))<=5 then
begin
i:=1;
while i<=(5-length(inttostr(bh))) do
begin
edit2.Text:=edit2.Text+'0';
i:=i+1;
end;
edit2.Text:=bm+edit2.Text+inttostr(bh);
epanel1.RollState:=false;
cbox1.Checked:=false;
dblp1.Enabled:=false;
end else showmessage('次级分类超过5位数,请新建分类!');
end else
begin
edit2.Text:=spzl['spbh']+'00001';
epanel1.RollState:=false;
cbox1.Checked:=false;
dblp1.Enabled:=false;
end;
adoqy1.Close;

end;

procedure Tcpkczlck.N5Click(Sender: TObject);
begin
spzl.Delete;
dbtree1.RefreshItems;
n3.Enabled:=false;
end;

procedure Tcpkczlck.cxButton1Click(Sender: TObject);
begin
if (length(edit2.Text) mod 5)=0 then
begin
spzl.Append;
spzl['spmc']:=edit1.Text;
spzl['spbh']:=edit2.Text;
spzl['sjmc']:=edit5.Text;
spzl['sjbh']:=edit3.Text;
spzl['zjm']:=edit4.Text;
spzl['zjm1']:=zjedit1.Text;
spzl['dw']:=dblp1.Text;
spzl['jj']:=cedit1.Value;
spzl['pfj']:=cedit2.Value;
spzl['sj']:=cedit3.Value;
spzl['sl']:=cedit4.Value;
spzl['zzcp']:=cbox1.Checked;
spzl.UpdateBatch();
dbtree1.RefreshItems;
end else
showmessage('分项编码错误!不是5的倍数!');
epanel1.RollState:=true;
cbox1.Checked:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit5.Enabled:=false;
cedit1.Enabled:=false;
cedit2.Enabled:=false;
cedit3.Enabled:=false;
cedit4.Enabled:=false;
dblp1.Enabled:=false;
end;

procedure Tcpkczlck.cxButton2Click(Sender: TObject);
begin
epanel1.RollState:=true;
cbox1.Checked:=false;
edit2.Enabled:=false;
edit3.Enabled:=false;
edit5.Enabled:=false;
cedit1.Enabled:=false;
cedit2.Enabled:=false;
cedit3.Enabled:=false;
cedit4.Enabled:=false;
dblp1.Enabled:=false;
end;

procedure Tcpkczlck.Button1Click(Sender: TObject);
begin
spzl.UpdateBatch();
n3.Enabled:=true;
end;

procedure Tcpkczlck.DBGridEh1CellClick(Column: TColumnEh);
begin
edit1.Text:=table1['mc'];
end;

procedure Tcpkczlck.DBGridEh2CellClick(Column: TColumnEh);
begin
edit1.Text:=table2['mc'];
end;

procedure Tcpkczlck.DBGridEh3CellClick(Column: TColumnEh);
begin
edit1.Text:=table3['mc'];
end;

procedure Tcpkczlck.DBGridEh4CellClick(Column: TColumnEh);
begin
edit1.Text:=table4['mc'];
end;

procedure Tcpkczlck.DBGridEh5CellClick(Column: TColumnEh);
begin
edit1.Text:=table5['mc'];
cbox1.Checked:=true;
//edit2.Enabled:=true;
//edit3.Enabled:=true;
//edit5.Enabled:=true;
cedit1.Enabled:=true;
cedit2.Enabled:=true;
cedit3.Enabled:=true;
cedit4.Enabled:=true;
dblp1.Enabled:=true;
end;

procedure Tcpkczlck.DBGridEh6CellClick(Column: TColumnEh);
begin
edit1.Text:=table6['mc'];
end;

procedure Tcpkczlck.Edit1PropertiesChange(Sender: TObject);
begin
edit4.Text:=py.PyHeadOfHz(edit1.Text);
end;

procedure Tcpkczlck.Button2Click(Sender: TObject);
begin
cxlabel1.Caption:='分项名称:';
cxbutton1.Enabled:=true;
cxbutton2.Enabled:=true;
spzl.Edit;
spzl['spbh']:=edit1.Text;
spzl.UpdateBatch();
button2.Visible:=false;
epanel1.RollState:=true;
end;

end.

⌨️ 快捷键说明

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