使用(VB)脚本解析标记值

时间:2012-09-06 12:07:20

标签: enterprise-architect

我有一个标记值类型:script。 我粘贴了一个字符串:

ET-Powersupply OFF
prTimeBefore = '1'  :(01,real,   'Time before [ms]'                 ,'0..100000');//Time before measurement
psDvcName = 'ETPS'     :(02,string, 'Device name [str1;str2;...]'      ,'');         //
psSndCmd  = 'ET1_STBY_OFF ; ET1_OUT_OFF'     :(04,string, 'Send CmdStr/@cmd [str1;str2;..]'  ,'');         //CommandString in device-specific Lib or '@direct cmd'
prSndRec  = '1'     :(05,real,   'snd/rec/both [1/2/3]'             ,'1..3');

是否可以在标记值中自动获取此输出:

prTimeBefore = '1'; psDvcName = 'ETPS'; psDvcName = 'ETPS'; prSndRec  = '1' 

我知道我应该在' = 之后搜索 = 之前的字词以及'<'中的值/强>

但是如何自动解析标​​记值呢?图片上面的示例: example

谢谢你!

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题;您可以编写一个EA脚本,也可以构建一个外接程序。后者是更完整的解决方案,但需要更多的工作。

使用脚本方法,您可以创建一个上下文相关脚本来设置标记并使用该脚本而不是常规EA GUI。这种方法并非万无一失,因为您仍然可以绕过脚本并使用EA的常规GUI错误地设置标记值。

使用加载项,您可以使EA做出反应,以便每当有人设置标记时,您可以根据需要进行更正。加载项可以对事件做出反应,而脚本必须由用户调用。

脚本存储在EA项目内,或存储在所有用户都需要配置的MDG技术中。需要在每台客户端计算机上分发和安装加载项。

要创建脚本,请按以下步骤操作:

  1. 在顶部菜单中选择查看 - 脚本。
  2. 在“脚本”窗口中,单击最左侧的图标以创建项目浏览器组和/或图表组。通过右键单击项目浏览器/图表,用户可以使用这些组中的脚本。
  3. 在任一组中,使用您喜欢的任何语言(VBScript,JScript或JavaScript)创建新脚本。
  4. 确保脚本响应正确类型的对象(可能是Element),然后编写脚本以打开输入对话框,解析输入值并将标记设置为已解析的值。
  5. 如果您在目标项目中工作,则该脚本可立即供所有用户使用。
  6. 如果您编写加载项,您将希望它响应EA_OnNotifyContextItemModified事件。检查项目/对象是否属于正确类型(再次,很可能是元素),然后检查其标记并检查是否存在其值为原始种类的“脚本”标记,然后解析它并将其设置为解析了价值。

    API在自动化下的帮助文件中记录。对象模型包含脚本和加载项中可用的接口,而加载项模型包含加载项可以响应的事件。