显示变量的值

PC-DMIS的报告语言允许在报告中使用Variable() 函数式显示变量的值。这个功能有如下语法:

变量(变量名称), [<optional command id or uid>])

第一个参数,字符型,代表变量的名称。第二个参数被当作变量的值使用。

例如,假定此代码位于测量例程中:

ASSIGN/V1=2

F1=FEAT/CIRCLE...

ASSIGN/V1=F1.X

COMMENT/OPER,“一些注释文本”

样例的目的,确定注释有个标识或是245的UID。

参照以上代码参见下例:

=VARIABLE("V1") - 若报告中没有其他语句将值设为 V1,这个值可以是 0 或 2,或者与特征 F1 的质心 X 测量值相同。它完全取决于在计算报告表达式时已执行了哪些命令,报告中又有哪些命令当前正在进行处理。

=VARIABLE("V1", "F1") - 若测量例程中只要一个名称为 "F1" 的特征,那么该表达式的结果应为 2,因为 V1 已直接指定给了特征 F1 上方的 2。

=VARIABLE("V1", 245) - 此种情况使用的是 UID;因此报告上这个表达式的值应与 F1.X 相同。

GridControlObject 的单个单元格不能从测量例程获取变量的值。在大部分情况中,需采用文本对象。

变量和台头

通常情况下,不能在报告的文件标头中显示变量值,因为 PC-DMIS 会在测量例程中执行语句前计算文件标头的值。因此,如果文件标头试图引用尚未创建的变量,PC-DMIS 将显示 0 值。然而,确实有一些选项可用于从测量例程获取标头的信息:

选项 1 - 使用跟踪字段代替变量
在测量例程中使用跟踪字段代替变量来捕获信息,使用标题标签模板的 GridControlObject 中所需单元格内的 =TRACEFIELD() 函数来参考。跟踪字段强制模板根据让跟踪字段显示的新信息重新评估报告。

优点\弊端

程序

选项 2 - 嵌入报告模板
在定义 ASSIGN 语句之后,嵌入报告模板到测量例程中,然后将变量值作为参数发送到标签模板上。根据需要在添加的单元格顶部添加另一行或另一单元格,对要显示的每个变量添加 Text 对象并固定其大小。最后,通过如下 REPORT/TEMPLATE 命令参数修改 Text 属性:

ASSIGN/V1="A String Value to Pass"

CS1 =REPORT/TEMPLATE,FILENAME=TEXTONLY.RTP,AUTOPRINT=NO,Section= -1

PARAM/TEXT1.TEXT=V1

参数/=

            ENDREPORT/

因为标号模板被嵌入到报告模板中,所以可以更改标号模板中的某一参数。

优点\弊端

选项 3 - 将页眉信息直接放入报告
从报告模板内的页眉标签模板中直接重新创建 GridControlObject,而不是使用页眉外部标签模板的报告模板,例如 File_Header.lbl。根据需要在添加的单元格顶部添加另一行或另一单元格,对要显示的每个变量添加 Text 对象并固定其大小。每个 Text 对象使用 =VARIABLE() 函数来拖动变量信息。例如 =VARIABLE("V1")

在报告模板中应用更改。

    1. TextReportObject 中更改规则,不使用页眉标签。

    2. 设置属性为当前部分,部分1

Command Set = 所有命令

Maximum Number of Pages = 1

    1. 添加第二章节 Section2,同样为其添加 TextReportObject,再次更改规则,不使用页眉标签。

    2. 设置属性为部分2

Command Set = 续上一章节

Maximum Number of Pages = 0(表示没有最大值)

优/缺点

选项 4 - 使用一般特征强制报告的生成
此选项使用空的一般特征,强制标签模板重新评估报告,并将需求的变量值引入最终报告。

在测量例程中,创建一个空的一般特征,并为其指定说明性名称,如:

REPORTHEADER=GENERIC/NONE,DEPENDENT,CARTESIAN,OUT,$

下一步,修改页眉标签模板,依据需要向 GridControlObject 添加其他单元格,然后在添加的单元格的上方,为要显示的每个变量添加一个文本对象并调整该对象的大小。现在将每个 Text 对象的 Text 属性设为使用 =VARIABLE() 函数以提取变量信息。但在该选项中,需在 =VARIABLE() 函数中使用额外的参数以引用一般特征。例如,=VARIABLE("V1","REPORTHEADER")

优点\弊端