📄 base_t.pas
字号:
unit Base_T;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MDIBase, MSNPopUp, FR_DSet, FR_DBSet, FR_Class, Menus, ActnList,
DB, DBClient, Grids, DBGridEh, StdCtrls, ExtCtrls, dxExEdtr, dxTL,
dxDBCtrl, dxCntner, dxDBTL, Mask, wwdbedit;
type
TfrmMDIBase_T = class(TfrmMDIBase)
Panel1: TPanel;
FormTitle: TLabel;
Panel3: TPanel;
btnExit: TButton;
Panel2: TPanel;
btnedit: TButton;
btndelete: TButton;
Panel4: TPanel;
btnrefresh: TButton;
btnsearch: TButton;
btnprint: TButton;
CDSBaseinfo: TClientDataSet;
DSbaseinfo: TDataSource;
ActionList1: TActionList;
Action1: TAction;
Action2: TAction;
Action3: TAction;
Action4: TAction;
Action5: TAction;
frBaseinfo: TfrReport;
frDBDataSet1: TfrDBDataSet;
ActionList2: TActionList;
acmodify: TAction;
acdelete: TAction;
acrefresh: TAction;
acsearch: TAction;
acexit: TAction;
MSNSaveinfo: TMSNPopUp;
Panel5: TPanel;
dxDBTreeList1: TdxDBTreeList;
dxDBTreeList1Column1: TdxDBTreeListColumn;
dxDBTreeList1Column2: TdxDBTreeListColumn;
PlEdit: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
addBaseclass: TAction;
addsameclass: TAction;
addchildclass: TAction;
Label1: TLabel;
DBedit1: TwwDBEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
wwDBEdit1: TwwDBEdit;
wwDBEdit2: TwwDBEdit;
wwDBEdit3: TwwDBEdit;
Button4: TButton;
Button5: TButton;
acSave: TAction;
acCancel: TAction;
ppmreport: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnprintClick(Sender: TObject);
procedure acexitExecute(Sender: TObject);
procedure DSbaseinfoStateChange(Sender: TObject);
procedure DSbaseinfoDataChange(Sender: TObject; Field: TField);
procedure acrefreshExecute(Sender: TObject);
procedure acsearchExecute(Sender: TObject);
procedure acdeleteExecute(Sender: TObject);
procedure acmodifyExecute(Sender: TObject);
procedure acCancelExecute(Sender: TObject);
procedure acSaveExecute(Sender: TObject);
procedure addBaseclassExecute(Sender: TObject);
procedure addsameclassExecute(Sender: TObject);
procedure addchildclassExecute(Sender: TObject);
procedure dxDBTreeList1ChangeNode(Sender: TObject; OldNode,
Node: TdxTreeListNode);
procedure CDSBaseinfofCodeValidate(Sender: TField);
procedure Action1Execute(Sender: TObject);
procedure Action2Execute(Sender: TObject);
procedure Action3Execute(Sender: TObject);
procedure Action4Execute(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure frBaseinfoGetValue(const ParName: String;
var ParValue: Variant);
private
iParentID,iSelfID:Integer;
sParentCode,sSelfCode:String;
function CheckSave :Boolean;
{ Private declarations }
protected
FormCaption:String;
MainTable:string;
KeyField:String;
ReportName:string;
public
{ Public declarations }
end;
var
frmMDIBase_T: TfrmMDIBase_T;
implementation
uses Global, DataProcess, Bsearch;
{$R *.dfm}
procedure TfrmMDIBase_T.FormDestroy(Sender: TObject);
begin
inherited;
frmMDIBase_T:=nil;
end;
procedure TfrmMDIBase_T.FormShow(Sender: TObject);
begin
inherited;
FormTitle.Caption:=FormCaption;
GetSqlData(CDSBaseinfo,MainTable,KeyField,'Fid>0',20);
end;
procedure TfrmMDIBase_T.btnprintClick(Sender: TObject);
var
Point:Tpoint;
begin
inherited;
Point:=GetScreenPoint(btnprint);
ppmreport.Popup(point.X,point.Y);
end;
procedure TfrmMDIBase_T.acexitExecute(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmMDIBase_T.DSbaseinfoStateChange(Sender: TObject);
var
i:integer;
begin
inherited;
acSave.Enabled:=CDSBaseinfo.State in [dsInsert,dsEdit];
addBaseClass.Enabled:=not acSave.Enabled;
addSameClass.Enabled:=not acSave.Enabled;
addChildClass.Enabled:=not acSave.Enabled;
acCancel.Enabled:=acSave.Enabled;
acmodify.Enabled:=not acsave.Enabled;
acsearch.Enabled:=not acsave.Enabled;
acrefresh.Enabled:=not acsave.Enabled;
acdelete.Enabled:=not acSave.Enabled;
btnPrint.Enabled:=not acSave.Enabled;
dxdbTreelist1.Enabled := Not acSave.Enabled ;
if acSave.Enabled then
dxDBTreelist1.OptionsDB := dxDBTreeList1.OptionsDB - [etoCanNavigation]
else
if not (etoCanNavigation in dxDBTreeList1.OptionsDB ) then
dxDBTreelist1.OptionsDB := dxDBTreeList1.OptionsDB + [etoCanNavigation];
With PlEdit do
for i:= 0 to ControlCount-1 do
if Controls[i] is TwwDBEdit then
(Controls[i] as TwwDBEdit).ReadOnly := Not acSave.Enabled
end;
procedure TfrmMDIBase_T.DSbaseinfoDataChange(Sender: TObject;
Field: TField);
begin
inherited;
DSbaseinfoStateChange(Self);
end;
procedure TfrmMDIBase_T.acrefreshExecute(Sender: TObject);
begin
inherited;
GetSqlData(CDSBaseinfo,MainTable,KeyField,'Fid>0',20);
end;
procedure TfrmMDIBase_T.acsearchExecute(Sender: TObject);
begin
inherited;
searchtiao:='';
FromInterface:=Maintable;
if not assigned(frmSearch) then
FrmSearch:=TfrmSearch.Create(Application);
FrmSearch.showModal;
frmSearch.free;
if Searchtiao<>'' then
try
Getsqldata(CDSBaseinfo,Maintable,Keyfield,Searchtiao,20);
except
on E:Exception do
begin
messagedlg('琩高兵ン砞竚岿粇
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -