📄 uaddustandnode.pas
字号:
unit uAddUStandNode;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBClient;
type
TfrmUnStandItem = class(TForm)
edtWbs: TEdit;
edtItem: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edtName: TEdit;
Label4: TLabel;
cboUnit: TComboBox;
rgoItem: TRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Bevel1: TBevel;
cdsLst: TClientDataSet;
lblCurName: TLabel;
procedure rgoItemClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
sItemWbs:string;
public
{ Public declarations }
end;
var
frmUnStandItem: TfrmUnStandItem;
{调用新增非标准项}
function AddUnStandItem(curlstData:OleVariant;curItemWbs,CurItemName:string;
out nWbs,nName,nUnit,sItem:string;out LevelType:integer):Boolean;
{curlstData:当前树状的所在的数据集
curItemWbs:当前节点所在的WBS值
CurItemName:当前节点所在的名称
nWbs:新增后的WBS值
nName:新增后的名称
nUnit:新增后的单位名称
sItem:新增后的清单编码
LevelType:新增后的选项值
}
implementation
{$R *.dfm}
function AddUnStandItem(curlstData:OleVariant;curItemWbs,CurItemName:string;out nWbs,nName,nUnit,sItem:string;out LevelType:integer):Boolean;
begin
result:=False;
with TfrmUnStandItem.Create(nil) do
try
cdsLst.Data:=curlstData;
lblCurName.Caption:=CurItemName;
sItemWbs:=curItemWbs;
edtWbs.Text:='';
edtItem.Text:='';
edtName.Text:='';
cboUnit.Text:='';
if showmodal=MrOk then
begin
nWbs:=edtWbs.Text;
nName:=edtName.Text;
nUnit:=cboUnit.Text;
sItem:=edtItem.Text;
LevelType:=rgoItem.ItemIndex;
result:=True;
end;
finally
free;
end;
end;
procedure TfrmUnStandItem.rgoItemClick(Sender: TObject);
begin
if rgoItem.ItemIndex=0 then
edtWbs.Text:=sItemWbs+'-1'
else if rgoItem.ItemIndex=1 then
edtWbs.Text:=sItemWbs+'+1'
else if rgoItem.ItemIndex=2 then
edtWbs.Text:=sItemWbs+'.+1';
end;
procedure TfrmUnStandItem.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if ModalResult=Mrok then
begin
if trim(edtWbs.text)='' then
begin
Application.MessageBox('系统编号不能为空!','提示',0);
Action:=caNone;
exit;
end;
cdsLst.IndexFieldNames:='WBS';
if cdsLst.FindKey([edtWbs.Text]) then
begin
Application.MessageBox('系统编号已存在!','提示',0);
Action:=caNone;
exit;
end;
if Trim(edtName.Text)='' then
begin
Application.MessageBox('项目名称不能为空!','提示',0);
Action:=caNone;
exit;
end;
if Trim(cboUnit.Text)='' then
begin
Application.MessageBox('单位不能为空!','提示',0);
Action:=caNone;
exit;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -