每个记录类型将在下面作出说明。记录类型中的字段可以是读/写或只读的。只读字段允许用户查询属性值,但不允许更改它们。读/写字段允许用户查询和更改这些值。
窗口类型
每个 ConsoleUI 可让多个窗口同时打开。在缺省情况下首先打开的窗口是一个全屏幕窗口,称为屏幕。后续打开的窗口将相互堆叠;最上面的窗口就是活动窗口。活动窗口关闭时,新的最上面的窗口就成为新的活动窗口。
下表定义窗口字段的属性。只有 name 属性是必需的。
属性 | 类型或枚举 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
color | colorKind | 黑色 | 可见时只读 | 窗口中的文本的颜色。 |
commentLine | integer | 屏幕:LAST - 1;其它:LAST | 可见时只读 | 是否保留特定行以用于注释。如果 hasCommentLine = yes,则窗口行用于注释。 |
formLine | (正)整数 负整数可用于指定从屏幕底部开始算起的行号;仅在运行时才验证行值。 |
3 | 可见时只读 | 表单从该处开始的窗口行。 |
hasBorder | boolean | 否 | 可见时只读 | 窗口是否有边框。 |
hasComment Line | boolean | 是 | 可见时只读 | 是否保留一行以用于注释。 |
highlight | highlightKind | 黑色 | 可见时只读 | 应用于窗口文本的突出显示。 |
intensity | intensityKind | 正常色饱和度 | 可见时只读 | 要应用于窗口文本的色饱和度(鲜明度)。 |
menuLine | (positive) integer 负整数可用于指定从屏幕底部开始算起的行号;仅在运行时才验证窗口大小中的行值。 |
1 | 可见时只读 | 菜单从该处开始的窗口行。 |
messageLine | (positive) integer 负整数可用于指定从屏幕底部开始算起的行号;仅在运行时才验证行值。 |
2 | 可见时只读 | 保留以用于注释的窗口行。 |
name | string | 无 | 是 | 窗口的名称。 |
position | integer[2] 必须是大于零的正整数,并且在显示设备的实际面积之内。 |
[1,1] | 是 | 屏幕中左上角的位置。 |
promptLine | (positive) integer 负整数可用于指定从屏幕底部开始算起的行号;仅在运行时才验证窗口大小中的行值。 |
1 | 可见时只读 | 保留以用于提示的窗口行。 |
size | integer[2] 必须是大于零的正整数,并且在显示设备的实际面积之内。 |
无 | 是 | 窗口的行和列的数目。如果未指定,将在运行时计算大小。 |
PresentationAttributes 类型
PresentationAttributes 定义窗口中的文本的外观。
下表定义 PresentationAttributes 字段的属性。所有属性都不是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
color | colorKind | 白色 | 否 | 文本消息的颜色。 |
highlight | 突出显示种类 | 无 | 否 | 要应用于文本消息的突出显示。 可将下列任何属性组合使用:
|
intensity | 色饱和度种类 | 正常色饱和度 | 否 | 要应用于文本消息的色饱和度。 |
ConsoleForm 类型
ConsoleForm 是一种记录,它定义窗口中的表单的属性。每个窗口都可以显示一个 ConsoleForm。
下表定义 ConsoleForm 特性的属性。所有属性都不是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
delimiters | char[3] | "[]|" | 是 | 用于对字段定界的字符。左方括号“[”和右方括号“]”是必需的。如果两个字段间仅用一个空格隔开,则使用竖线“|”。 |
formSize | integer[2] | 无 | 是 | 表单大小:行数和列数。 |
name | string | 如果未指定 name,EGL 将提供名称。 | 是 | 表单的名称。 |
showBrackets | boolean | 是 | 是 | 用方括号对字段定界。 |
ConsoleField
ConsoleField 特性定义提供给表单的所有属性。
下表定义 ConsoleField 特性的属性。只有 fieldLen 和 position 属性是必需的。
属性名 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
columns | integer | 1 | 是 | 列数。仅对控制台数组字段有效。 |
fieldLen | integer | 显示类型声明的最大值(包括所有格式字符)所需的字节数。 | 是 | 该字段占用的列数。 |
linesBetween Rows | integer | 0 | 是 | 每行之间的行数。仅对控制台数组字段有效。 |
orientIndex Across | boolean | 否 | 是 | 表单中的字段的方向。仅对控制台数组字段有效。 |
position | integer[2] | [1,1] | 是 | 表单中的字段的位置。 |
segments | integer[3][] | 是 | 每个字段分段的位置和长度的集合。如果并非空值,将覆盖位置和长度。 | |
spacesBetween Columns | integer | 1 | 是 | 每列之间的空格数。仅对控制台数组字段有效。 |
validValues | validValue 规范 | 显示时只读 | 包含对此表单字段中的条目有效的值列表 |
下表定义 ConsoleField 字段的属性。只有 name 属性是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
align | alignKind | 取决于类型 | 是 | 指定字段中的值的对齐方式:
|
autonext | boolean | 无 | 是 | 如果已填写该字段,光标是否应移至下一个字段。如果 autonext = yes,则光标将移至下一个字段。 |
binding | string | "" | 显示时只读 | 包含对绑定至此字段的数据项的引用 |
caseFormat | 大小写格式种类 | 缺省大小写 | 否 | 如果是否强制将该值从小写转换为大写,或从大写转换为小写。选择此项时,字段刷新将实现新值。 |
color | colorKind | 白色 | 否 | 与文本表单字段相同。 可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。 |
commentKey | string | 无 | 是 | 用于在资源中查找注释文本的键。 |
comment | string | 无 | 是 | 用于此字段的注释文本,当光标在该字段中时,它将显示在注释行中。 |
dataType | string | "" | 是 | 在此表单字段未绑定至数据项时,定义表单字段的数据类型。对于 constructQuery 是必需的。 |
dateFormat | string | 是 | 将该字段的格式定义为指定日期格式设置。可能的值包括:
|
|
editor | string | 无 | 是 | 用于编辑字段的大对象(LOB)类型。 |
helpMsgKey | string | "" | 否 | 从资源文件中查找帮助文本的键。如果 help 和 helpMsgKey 都存在,则 help 优先。 |
help | string | "" | 否 | 按 KEY_HELP 键时要显示给用户的文本。如果 help 和 helpMsgKey 都存在,则 help 优先。 |
highlight | 缺省突出显示 | 无 | 否 | 与文本表单字段相同。 可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。 |
initialValueKey | string | 无 | 是 | 用于查找 initialValue 的键。 |
initialValue | string | 无 | 是 | 字段的开始显示值。 |
inputRequired | boolean | false | 是 | 如果设置此项,则用户必须在字段中输入值。用户不能将该字段留为空白。 |
intensity | 正常色饱和度 | 无 | 否 | 与文本表单字段相同。 可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。 |
isBoolean | boolean | 否 | 是 | 指示该字段表示布尔值。该值是以依赖于本地语言的字符表示的(单字符字段),或者表示“是”或“否”的单词。 在内部,对于数字字段:
|
masked | boolean | 无 | 是 | 如果设置了此项,则字段中的每个字符都将显示为一个星号(*)。 |
minimumInput | integer | 否 | 是 | 指定用户输入的值中必须存在的最少字符数。 |
name | string | 无 | 是 | 字段的名称。 |
numericFormat | string | 是 | 将该字段的格式定义为指定的数字格式设置。可能的字符值包括:
|
|
pattern | string | 是 | 指定数据格式和条目的模式。 | |
protect | boolean | 无 | 否 | 如果为 yes,则表示用户不能在字段中输入数据。如果为 no,则表示用户可以在字段中输入数据。 |
SQLColumnName | string | "" | 否 | 在数据库表中表示列名的字符串值。在构造查询时将使用此信息,在查询中,将在生成的 SQL 字符串中使用该列名。如果存在,则此值优先于 dataType 列名值。 |
timeFormat | string | 是 | 将该字段的格式定义为指定的时间格式设置。可能的值包括:
|
|
timeStampFormat | string | 是 | 将该字段的格式定义为指定时间戳记格式设置。可能的值包括:
|
|
value | string | 无 | 是 | 该字段的当前显示缓冲区内容。 |
verify | boolean | false | 是 | 如果设置此项,当用户修改该字段时,系统将提示用户应重新输入相同的值才能退出该字段。 |
wordWrap | integer | 无 | 是 | 在多分段字段中分割值的方式:
|
菜单
每个窗口都可以显示一个菜单,而菜单可以有无限数目的菜单项。最终用户将在菜单中上下移动,选择所需的菜单项,这将在 EGL 程序中执行与菜单项相关联的 on_event 操作。
下表定义菜单字段的属性。只有 labelText 和 labelKey 属性是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
labelText | string | 在执行 OpenUI 期间只读 | 屏幕中的菜单的名称。 | |
labelKey | string | 在执行 OpenUI 期间只读 | 用于在资源中查找菜单标题的键。如果为 label 提供了值,则将忽略 labelKey。 | |
menu Items | menu Item[] | 否 | 包含此菜单中相关联的 menuItems 的动态数组。如果未实现 menuItems,则必须使用语法 menu.MenuItems.addElement(menuItem) 来添加菜单项。如果在使用菜单对象调用 openUI 时不存在任何菜单项,将抛出运行时错误。 |
MenuItem
所有 MenuItem 属性定义菜单。
下表定义 MenuItem 字段的属性。只有 name 属性是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
accelerators | string[] | 是 | 激活菜单项的加速键(击键)的名称。 | |
commentKey | string | 是 | 用于在资源中查找注释的键。如果提供了 comment,则将忽略此值。 | |
comment | string | 是 | 在屏幕中选择了该项时将显示在注释行中的文本。 | |
helpMsgKey | string | 是 | 用于在资源中查找帮助的键。如果提供了 help,则将忽略此值 | |
help | string | 是 | 在选择了帮助键时要显示的文本 | |
labelKey | string | 是 | 用于在资源中查找标注的键。如果提供了 labelText,则将忽略此值 | |
labelText | string | 是 | 该项的显示名称。 | |
name | string | 是 | 该项的名称。此名称是在处理 OnEvent 期间使用的。如果未指定该名称,内部算法将计算出一个名称。 |
提示
下表定义提示字段的属性。只有 messageKey 和 responseAttr 属性是必需的。
属性 | 类型 | 缺省行为 | 只读 | 描述 |
---|---|---|---|---|
isChar | boolean | false | 是 | 指示用户输入的第一个字符是否放在响应变量中。 如果 isChar = false,则用户输入的字符将放在响应变量中。 如果 isChar = true,则用户输入的字符将不会放在响应变量中。 |
message | string | false | 否 | 一个文字串值,将在执行 openUI (prompt) 语句期间显示给用户。 |
messageKey | 控制台字段 | 无 | 是 | 用于在资源束中查找消息的键值。如果提供了 messageKey 和 message,则将忽略 messageKey。 |
response Attr | 控制台字段 | 无 | 是 | 在接受用户输入时使用的表示属性。 |