'可能大家经常要从各种工具中往PD导一些资料,很多时候看到PD的OLE HELP也不知道何从下手。
'在PD的VB Scripts目录中有一些例子。可以进行翻阅,以下以建一个CDM,建两个实体并建立其关系入手,来描述一下基本的用法。没有对异常进行捕捉。我看PD 版本中也有不少人对这个感兴趣,所以顺便写了一个小测试程序,很多地方不完善,主要是想抛砖引玉。此处的代码复制到PD的Tools/Execute Commands/Edit Run Scripts就可运行,此处用PD9。0为例,其它的版本未试
dim mdl '声明模型
dim entity1, entity2 '声明两个实体
dim Attributes1 , Attributes2
dim relation1 '声明一个关系
set mdl = CreateModel(PDCDM.cls_Model, "") '创建一个概念模型
set entity1= mdl.entities.createnew '创建一个实体,
entity1.name = "master" '赋实体的各属性...
set Attributes1=entity1.Attributes.createnew '给实体添加一个属性。
Attributes1.name = "dcol1"
Attributes1.code = "dcol1" '属性的一些属性赋值.
set entity2= mdl.entities.createnew
entity2.name = "detail"
set Attributes2=entity2.Attributes.createnew
Attributes2.name = "dcol1"
Attributes2.code = "dcol1"
set relation1 = mdl.relationships.createnew '创建一个关系,注意,该关系必须先在模块上创建,再进行连接,否则会导致一些莫名其妙的问题,虽然通过 Entity.RelationShips.CreateNew也可以创建,但是它的Owner会不对。
relation1.Entity1 = entity1
relation1.Entity2 = entity2 '赋两个属性,表明谁与谁有关系。
relation1.Entity1ToEntity2RoleCardinality="1..n" '设定关系的类型。
relation1.Entity2ToEntity1RoleCardinality="0..1"
'relation1.Entity1ToEntity2RoleMandatory = true
'relation1.Entity2ToEntity1RoleMandatory = true
mdl.DefaultDiagram.AttachAllObjects '在缺省视图上附加所有的属性,你也可以AttachObject..
mdl.DefaultDiagram.AutoLayout '为了使得布局简单,使用了自动布局
mdl.DefaultDiagram.OpenView '打开当前视图。
'在PD的VB Scripts目录中有一些例子。可以进行翻阅,以下以建一个CDM,建两个实体并建立其关系入手,来描述一下基本的用法。没有对异常进行捕捉。我看PD 版本中也有不少人对这个感兴趣,所以顺便写了一个小测试程序,很多地方不完善,主要是想抛砖引玉。此处的代码复制到PD的Tools/Execute Commands/Edit Run Scripts就可运行,此处用PD9。0为例,其它的版本未试
dim mdl '声明模型
dim entity1, entity2 '声明两个实体
dim Attributes1 , Attributes2
dim relation1 '声明一个关系
set mdl = CreateModel(PDCDM.cls_Model, "") '创建一个概念模型
set entity1= mdl.entities.createnew '创建一个实体,
entity1.name = "master" '赋实体的各属性...
set Attributes1=entity1.Attributes.createnew '给实体添加一个属性。
Attributes1.name = "dcol1"
Attributes1.code = "dcol1" '属性的一些属性赋值.
set entity2= mdl.entities.createnew
entity2.name = "detail"
set Attributes2=entity2.Attributes.createnew
Attributes2.name = "dcol1"
Attributes2.code = "dcol1"
set relation1 = mdl.relationships.createnew '创建一个关系,注意,该关系必须先在模块上创建,再进行连接,否则会导致一些莫名其妙的问题,虽然通过 Entity.RelationShips.CreateNew也可以创建,但是它的Owner会不对。
relation1.Entity1 = entity1
relation1.Entity2 = entity2 '赋两个属性,表明谁与谁有关系。
relation1.Entity1ToEntity2RoleCardinality="1..n" '设定关系的类型。
relation1.Entity2ToEntity1RoleCardinality="0..1"
'relation1.Entity1ToEntity2RoleMandatory = true
'relation1.Entity2ToEntity1RoleMandatory = true
mdl.DefaultDiagram.AttachAllObjects '在缺省视图上附加所有的属性,你也可以AttachObject..
mdl.DefaultDiagram.AutoLayout '为了使得布局简单,使用了自动布局
mdl.DefaultDiagram.OpenView '打开当前视图。