0

我有一个标记值类型:脚本。我粘贴一个字符串,如:

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');

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

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

我知道我应该在'=以及=之前的单词和' '中的值之后进行搜索

但是我怎样才能自动让标记值被解析呢?上图示例: 例子

谢谢你!

4

1 回答 1

0

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

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

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

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

要创建脚本,请执行以下操作:

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

如果您编写一个加载项,您会希望它响应 EA_OnNotifyContextItemModified 事件。检查项目/对象的类型是否正确(同样,很可能是元素),然后检查其标签并检查是否有一个“脚本”标签,其值为原始类型,然后对其进行解析并将其设置为解析值。

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

于 2012-09-17T09:09:04.350 回答