📄 pasbom.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 + -