组织机构设计器窗体基类 代码分析

//获得根结点的“文件名称”
procedure TBaseOrgDsgnForm.GetRootNodeFileNames(AFileNames: TStrings);
//SMP ADD 2005-7-8 For Clear
var
  lOrgRootFileName: string;
begin
  //FileSys.cOrgFilePrefix 通过文件系统类FileSys获得组织文件前缀Org:(关于各种文件系统前缀,可参照说明手册P39)
  //JSConst.cOrgRoot通过JSConst全局常量类获得组织结构根\Root
  lOrgRootFileName := FileSys.cOrgFilePrefix + JSConst.cOrgRoot;//Org:\Root
  AFileNames.Add(lOrgRootFileName);
//SMP ADD 2005-7-8 For Clear
  //nothing to do
end;

选自X3手册P39

X3文件系统介绍

中文名称

 E文名称

 协议名(前缀)

存储介质 

 存取内容

文件示例

业务文件系统

BizFileSystem

Biz:

数据库

数据表、业务信息、业务功能、业务流程等模型资源

Biz:\System\System.Database\TConnection.Table

组织文件系统

OrgFileSystem

Org:

数据库

机构、部门、岗位、和人员等模型资源

 

本地文件系统

OSFileSystem

File:

本地计算机磁盘和光盘

本地操作系统文件

临时文件系统

TempFileSystem

Temp:

内存

内存中的临时文件

 

用户文件系统

UserFileSystem

User:

数据库

业务运行平台中的用户文件



  try
    GetRootNodeFileNames(lFileNames);//获得组织文件系统根文件名称
    for I := 0 to lFileNames.Count - 1 do
    begin
      //首选通过类工厂BizTree的工厂访求BizTreeStructure得到一个TBizTree对象,再通过对象方法 
      // FindNodeByFullFileName查找符合组织文件系统要文件名称的结点
      lBizNode := BizTree.BizTreeStructure.FindNodeByFullFileName(lFileNames[I]);
      if Assigned(lBizNode) then
        lRootNodes.AddObject(lBizNode.GUID, lBizNode);
    end;
    if lRootNodes.Count > 0 then
    begin
      OrgChart.RootNodes := lRootNodes;//设置一下根结点
      OrgTreeView.StartWithNodes := lRootNodes;
      OrgComboBox.BizTreeView.StartWithNodes := lRootNodes;
      BrowseDialog.StartWithNodes := lRootNodes;
    end;
  finally
    lRootNodes.Free;
    lFileNames.Free;
  end;

原文地址:https://www.cnblogs.com/ZhouXiHong/p/436009.html