如果部件本身是子类型,将提供其它属性。类型为 textUI 的程序具有称为 alias 的属性和称为 inputForm 的属性。后者标识程序逻辑运行之前显示给用户的文本表单。
DataItem IDPart CHAR(9) { minInput = 9, // requires 9 input characters isDigits = yes, // requires digits columnName = "SSN" // is related to a column }
myVariable IDPart;
可在组合部件(如记录部件)中声明该变量,也可以直接在逻辑部件(如程序)中声明该变量。在每一种情况下,变量声明的上下文确定哪些属性有用。如果变量嵌入在组合部件中,则有用属性的列表比较短。
在当前示例中,仅当在类型为 SQLRecord 的记录中声明该变量时,才使用属性 columnName。仅当在用户界面部件(如 pageHandler)中声明该变量时,才使用两个验证属性。
myVariable IDPart { isDigits = no };
在此示例中,属性 minInput 不受覆盖操作的影响,并且属性 columnName 会被忽略。
不能在运行时访问属性。例如,在创建基于 SQL 记录部件的变量时,您所编写的逻辑不能检索或更改指定给 tableNames 属性的名称,该属性标识由该记录访问的 SQL 表。即使覆盖变量声明中的属性值,您所编写的逻辑也不能更改在开发时指定的值。
如果不能在运行时访问属性值,则意味着当您指定变量的内容或将变量用作自变量时,该属性值不会随内容一起传送。例如,如果将一个 SQL 记录中的数据传送至另一个 SQL 记录,则有关目标记录访问哪些 SQL 表的规范不会有任何更改。同样,在将 SQL 记录传递至 EGL 函数时,参数将接收字段内容,但保留在开发时指定的 SQL 表规范。
预定义 EGL 部件(如 ConsoleField)可能包括属性和字段。与属性不同,字段在运行时是可用的。您编写的逻辑可读取字段值并且在许多情况下可以更改字段值。
set-value 块是一个代码区域,可在其中设置属性和字段值。有关详细信息,请参阅 set-value 块。
相关概念
引用 EGL 中的变量
set-value 块