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

📄 pasbom.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 PAS
字号:
unit pasBom;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseDefine, wwDialog, wwidlg, DB, ADODB, ActnList, ComCtrls,
  ToolWin, Grids, DBGridEh, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBTL,
  StdCtrls, Mask, DBCtrls, ExtCtrls, Wwlocate;

type
  TfrmBom = class(TfrmBaseDefine)
    dxDBTreeList1: TdxDBTreeList;
    dxDBTreeList1fID: TdxDBTreeListMaskColumn;
    dxDBTreeList1fParentID: TdxDBTreeListMaskColumn;
    dxDBTreeList1fParentCode: TdxDBTreeListColumn;
    dxDBTreeList1fCode: TdxDBTreeListColumn;
    dxDBTreeList1fName: TdxDBTreeListColumn;
    dxDBTreeList1fNotes: TdxDBTreeListColumn;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBMemo1: TDBMemo;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit5: TDBEdit;
    dxDBTreeList1Column7: TdxDBTreeListColumn;
    dxDBTreeList1Column8: TdxDBTreeListColumn;
    DBEdit6: TDBEdit;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    Label8: TLabel;
    wwLocateDialog1: TwwLocateDialog;
    QBaseInfoXh: TStringField;
    QBaseInfoName: TStringField;
    QBaseInfoSizes: TStringField;
    QBaseInfoRemark: TStringField;
    QBaseInfobomId: TBCDField;
    QBaseInfoFid: TBCDField;
    QBaseInfoFxh: TStringField;
    QBaseInfoFsizes: TStringField;
    dxDBTreeList2: TdxDBTreeList;
    Qf_getChild: TADOQuery;
    DSf_getChild: TDataSource;
    Splitter1: TSplitter;
    Qf_getChildxh: TStringField;
    Qf_getChildsizes: TStringField;
    Qf_getChildlevel: TIntegerField;
    Qf_getChildret: TStringField;
    Qf_getChildmyret: TStringField;
    dxDBTreeList2xh: TdxDBTreeListMaskColumn;
    dxDBTreeList2sizes: TdxDBTreeListMaskColumn;
    dxDBTreeList2level: TdxDBTreeListMaskColumn;
    dxDBTreeList2ret: TdxDBTreeListMaskColumn;
    dxDBTreeList2myret: TdxDBTreeListMaskColumn;
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure QBaseInfoNewRecord(DataSet: TDataSet);
    procedure QBaseInfoAfterPost(DataSet: TDataSet);
    procedure QBaseInfoAfterCancel(DataSet: TDataSet);
    procedure acRefreshExecute(Sender: TObject);
    procedure QBaseInfoBeforeEdit(DataSet: TDataSet);
    procedure QBaseInfoAfterDelete(DataSet: TDataSet);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure dxDBTreeList1ChangeNode(Sender: TObject; OldNode,
      Node: TdxTreeListNode);
    procedure acFindExecute(Sender: TObject);
    procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
    procedure Button1Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    iParentID,iSelfID:Integer;
    sParentCode,sSelfCode,sParentsizes,ssizes:String;
  public
    { Public declarations }
  end;

  Tcomboboxinfo=class(tobject)
  public
     fCode,fName:string;
  end;

var
  frmBom: TfrmBom;

implementation

{$R *.dfm}
uses DataModule,select;

procedure TfrmBom.FormDestroy(Sender: TObject);
begin
  frmBom:=nil;
end;

procedure TfrmBom.FormCreate(Sender: TObject);
begin
  inherited;
  tbtNew.Visible := False;
  Button2.Visible := bCanNew;
  Button3.Visible := bCanNew;
  Button4.Visible := bCanNew;
end;


procedure TfrmBom.Button2Click(Sender: TObject);
begin
  QBaseInfo.Append ;
  QBaseInfo.FieldByName('fID').AsInteger :=0;
  QBaseInfo.fieldbyname('fxh').asString :='';
  QBaseInfo.fieldbyname('fsizes').asString :='';
  QBaseInfo.Post;
  QBaseInfo.Edit;
  DBEdit3.SetFocus;
end;

procedure TfrmBom.Button3Click(Sender: TObject);
begin
  QBaseInfo.Append ;
  QBaseInfo.FieldByName('fID').AsInteger :=iParentID;
  QBaseInfo.fieldbyname('fxh').asString :=sParentCode;
  QBaseInfo.fieldbyname('fsizes').asString :=sParentsizes;
  QBaseInfo.Post;
  QBaseInfo.Edit;
  DBEdit3.SetFocus;
end;

procedure TfrmBom.Button4Click(Sender: TObject);
begin
  iParentId:=QBaseInfo.fieldbyname('fID').asInteger;
  iSelfID:=QBaseInfo.fieldbyname('bomID').asInteger;
  sParentCode:= QBaseInfo.fieldbyname('fxh').asString;
  sSelfCode:= QBaseInfo.fieldbyname('xh').asString;
  sParentsizes:= QBaseInfo.fieldbyname('fsizes').asString;
  ssizes:= QBaseInfo.fieldbyname('sizes').asString;
  QBaseInfo.Append ;
  QBaseInfo.FieldByName('fID').AsInteger :=iSelfID;
  QBaseInfo.fieldbyname('fxh').asString :=sSelfCode;
  QBaseInfo.fieldbyname('fsizes').asString :=ssizes;
  QBaseInfo.Post;
  QBaseInfo.Edit;
  DBEdit3.SetFocus;
end;

procedure TfrmBom.QBaseInfoNewRecord(DataSet: TDataSet);
begin
  CanSave:=True;
  CanCancel:=True;
end;

procedure TfrmBom.QBaseInfoAfterPost(DataSet: TDataSet);
begin
  inherited;
  CanSave:=False;
  CanCancel:=False;
end;

procedure TfrmBom.QBaseInfoAfterCancel(DataSet: TDataSet);
begin
  CanSave:=False;
  CanCancel:=False;
end;

procedure TfrmBom.acRefreshExecute(Sender: TObject);
begin
  //inherited;
  QBaseInfo.Requery();
end;

procedure TfrmBom.QBaseInfoBeforeEdit(DataSet: TDataSet);
begin
  //inherited;
  CanSave:=True;
  CanCancel:=True;
end;

procedure TfrmBom.QBaseInfoAfterDelete(DataSet: TDataSet);
begin
  if dmClient.adocnequip_manage.InTransaction then
      dmClient.adocnequip_manage.CommitTrans;
  CanSave:=False;
  CanCancel:=False;
  self.dsBaseInfoStateChange(nil);
end;

procedure TfrmBom.dsBaseInfoStateChange(Sender: TObject);
var
  i:Integer;
begin
  inherited;
  with PageControl1.ActivePage do
    for i := 0 to ControlCount - 1 do
      if Controls[i] is TDBEdit then
        (Controls[i] as TDBEdit).ReadOnly := CanEdit
      else if Controls[i] is TDBMemo then
        (Controls[i] as TDBMemo).ReadOnly := CanEdit;
  
end;

procedure TfrmBom.dxDBTreeList1ChangeNode(Sender: TObject; OldNode,
  Node: TdxTreeListNode);
begin
  inherited;
  if Not (QBaseInfo.State in [dsInsert,dsEdit]) then
  begin
    iParentId:=QBaseInfo.fieldbyname('fID').asInteger;
    iSelfID:=QBaseInfo.fieldbyname('bomID').asInteger;
    sParentCode:= QBaseInfo.fieldbyname('fxh').asString;
    sSelfCode:= QBaseInfo.fieldbyname('xh').asString;
    sParentsizes:= QBaseInfo.fieldbyname('fsizes').asString;
    ssizes:= QBaseInfo.fieldbyname('sizes').asString;
  end;
end;

procedure TfrmBom.acFindExecute(Sender: TObject);
begin
  inherited;
  wwLocateDialog1.Execute;
end;

procedure TfrmBom.dsBaseInfoDataChange(Sender: TObject; Field: TField);
begin
//  inherited;
  dsBaseInfoStateChange(nil);
end;

procedure TfrmBom.Button1Click(Sender: TObject);
begin
  inherited;
  with Qf_getChild do
  begin
    Close;
    sql.Clear;
    SQL.Add('select xh,sizes,level,ret,ret+xh+sizes myret from  dbo.f_getChild('''+QBaseInfo.fieldbyname('xh').asString+''','''+QBaseInfo.fieldbyname('sizes').asString+''')  ');
    Open;
  end;
end;

procedure TfrmBom.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if   (Shift>=[ssctrl])   and   (Key=70)   then
    wwLocateDialog1.Execute;
end;

end.

⌨️ 快捷键说明

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