ConsoleUI 记录类型

控制台用户界面(ConsoleUI)具有下列记录类型:

每个记录类型将在下面作出说明。记录类型中的字段可以是读/写或只读的。只读字段允许用户查询属性值,但不允许更改它们。读/写字段允许用户查询和更改这些值。

窗口类型

每个 ConsoleUI 可让多个窗口同时打开。在缺省情况下首先打开的窗口是一个全屏幕窗口,称为屏幕。后续打开的窗口将相互堆叠;最上面的窗口就是活动窗口。活动窗口关闭时,新的最上面的窗口就成为新的活动窗口。

下表定义窗口字段的属性。只有 name 属性是必需的。

表 1. 窗口字段
属性 类型或枚举 缺省行为 只读 描述
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 字段的属性。所有属性都不是必需的。

表 2. PresentationAttributes 字段
属性 类型 缺省行为 只读 描述
color colorKind 白色 文本消息的颜色。
highlight 突出显示种类 要应用于文本消息的突出显示。
可将下列任何属性组合使用:
  • normal
  • defaultHighlight
  • reverse
  • underline
  • blink
intensity 色饱和度种类 正常色饱和度 要应用于文本消息的色饱和度。

ConsoleForm 类型

ConsoleForm 是一种记录,它定义窗口中的表单的属性。每个窗口都可以显示一个 ConsoleForm

下表定义 ConsoleForm 特性的属性。所有属性都不是必需的。

表 3. ConsoleForm 字段
属性 类型 缺省行为 只读 描述
delimiters char[3] "[]|" 用于对字段定界的字符。左方括号“[”和右方括号“]”是必需的。如果两个字段间仅用一个空格隔开,则使用竖线“|”。
formSize integer[2] 表单大小:行数和列数。
name string 如果未指定 name,EGL 将提供名称。 表单的名称。
showBrackets boolean 用方括号对字段定界。

ConsoleField

ConsoleField 特性定义提供给表单的所有属性。

下表定义 ConsoleField 特性的属性。只有 fieldLenposition 属性是必需的。

表 4. ConsoleField 属性
属性名 类型 缺省行为 只读 描述
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 属性是必需的。

表 5. ConsoleField 字段
属性 类型 缺省行为 只读 描述
align alignKind 取决于类型 指定字段中的值的对齐方式:
  • Left
  • Center
  • Right
  • None
autonext boolean 如果已填写该字段,光标是否应移至下一个字段。如果 autonext = yes,则光标将移至下一个字段。
binding string "" 显示时只读 包含对绑定至此字段的数据项的引用
caseFormat 大小写格式种类 缺省大小写 如果是否强制将该值从小写转换为大写,或从大写转换为小写。选择此项时,字段刷新将实现新值。
color colorKind 白色 与文本表单字段相同。

可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。

commentKey string 用于在资源中查找注释文本的键。
comment string 用于此字段的注释文本,当光标在该字段中时,它将显示在注释行中。
dataType string "" 在此表单字段未绑定至数据项时,定义表单字段的数据类型。对于 constructQuery 是必需的。
dateFormat string   将该字段的格式定义为指定日期格式设置。可能的值包括:
  • iso
  • usa
  • eur
  • jis
  • 语言环境
  • systemGregorianDateFormat
  • systemJulianDateFormat
  • dateFormatPattern 字符串
editor string 用于编辑字段的大对象(LOB)类型。
helpMsgKey string "" 从资源文件中查找帮助文本的键。如果 helphelpMsgKey 都存在,则 help 优先。
help string "" KEY_HELP 键时要显示给用户的文本。如果 helphelpMsgKey 都存在,则 help 优先。
highlight 缺省突出显示 与文本表单字段相同。

可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。

initialValueKey string 用于查找 initialValue 的键。
initialValue string 字段的开始显示值。
inputRequired boolean false 如果设置此项,则用户必须在字段中输入值。用户不能将该字段留为空白。
intensity 正常色饱和度 与文本表单字段相同。

可以在运行时动态设置颜色,并且在用户交互期间刷新字段或将字段作为焦点时,表单字段将显示新的呈示属性。

isBoolean boolean 指示该字段表示布尔值。该值是以依赖于本地语言的字符表示的(单字符字段),或者表示“是”或“否”的单词。
在内部,对于数字字段:
  • 0 表示 false
  • 1 表示 true
对于字符字段:
  • N 表示 false
  • Y 表示 true
masked boolean 如果设置了此项,则字段中的每个字符都将显示为一个星号(*)。
minimumInput integer 指定用户输入的值中必须存在的最少字符数。
name string 字段的名称。
numericFormat string   将该字段的格式定义为指定的数字格式设置。可能的字符值包括:
  • *
  • &
  • #
  • <
  • ,
  • .
  • -
  • +
  • $
  • (
  • )
pattern string   指定数据格式和条目的模式。
protect boolean 如果为 yes,则表示用户不能在字段中输入数据。如果为 no,则表示用户可以在字段中输入数据。
SQLColumnName string "" 在数据库表中表示列名的字符串值。在构造查询时将使用此信息,在查询中,将在生成的 SQL 字符串中使用该列名。如果存在,则此值优先于 dataType 列名值。
timeFormat string   将该字段的格式定义为指定的时间格式设置。可能的值包括:
  • iso
  • usa
  • eur
  • jis
  • 语言环境
  • timeFormat 模式字符串
timeStampFormat string   将该字段的格式定义为指定时间戳记格式设置。可能的值包括:
  • db2
  • odbc
  • 时间戳记模式字符串
value string 该字段的当前显示缓冲区内容。
verify boolean false 如果设置此项,当用户修改该字段时,系统将提示用户应重新输入相同的值才能退出该字段。
wordWrap integer 在多分段字段中分割值的方式:
  • no:逐个字符换行
  • yes:换行,存储的值包括填充
  • compress:换行,额外填充将被除去。

菜单

每个窗口都可以显示一个菜单,而菜单可以有无限数目的菜单项。最终用户将在菜单中上下移动,选择所需的菜单项,这将在 EGL 程序中执行与菜单项相关联的 on_event 操作。

下表定义菜单字段的属性。只有 labelTextlabelKey 属性是必需的。

表 6. 菜单字段
属性 类型 缺省行为 只读 描述
labelText string   在执行 OpenUI 期间只读 屏幕中的菜单的名称。
labelKey string   在执行 OpenUI 期间只读 用于在资源中查找菜单标题的键。如果为 label 提供了值,则将忽略 labelKey
menu Items menu Item[]   包含此菜单中相关联的 menuItems 的动态数组。如果未实现 menuItems,则必须使用语法 menu.MenuItems.addElement(menuItem) 来添加菜单项。如果在使用菜单对象调用 openUI 时不存在任何菜单项,将抛出运行时错误。

MenuItem

所有 MenuItem 属性定义菜单

下表定义 MenuItem 字段的属性。只有 name 属性是必需的。

表 7. MenuItem 字段
属性 类型 缺省行为 只读 描述
accelerators string[]   激活菜单项的加速键(击键)的名称。
commentKey string   用于在资源中查找注释的键。如果提供了 comment,则将忽略此值。
comment string   在屏幕中选择了该项时将显示在注释行中的文本。
helpMsgKey string   用于在资源中查找帮助的键。如果提供了 help,则将忽略此值
help string   在选择了帮助键时要显示的文本
labelKey string   用于在资源中查找标注的键。如果提供了 labelText,则将忽略此值
labelText string   该项的显示名称。
name string   该项的名称。此名称是在处理 OnEvent 期间使用的。如果未指定该名称,内部算法将计算出一个名称。

提示

下表定义提示字段的属性。只有 messageKeyresponseAttr 属性是必需的。

表 8. 提示字段
属性 类型 缺省行为 只读 描述
isChar boolean false 指示用户输入的第一个字符是否放在响应变量中。

如果 isChar = false,则用户输入的字符将放在响应变量中。

如果 isChar = true,则用户输入的字符将不会放在响应变量中。

message string false 一个文字串值,将在执行 openUI (prompt) 语句期间显示给用户。
messageKey 控制台字段 用于在资源束中查找消息的键值。如果提供了 messageKeymessage,则将忽略 messageKey
response Attr 控制台字段 在接受用户输入时使用的表示属性。
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.