ConsoleField 属性和字段

下列属性在类型为 ConsoleField 的变量中是必需的:

尽管 name 字段不在常量 ConsoleField 中,但也是必需的。

ConsoleField 的属性如下所示:
fieldLen
指定显示有意义的最大值所需的位数。对于常量 consoleField,不要设置此属性:fieldLen 是显示值占用的字符数,value 属性中包括了这种设置。
  • 类型INT
  • 示例fieldLen = 20
  • 缺省值none
position
控制台字段在表单中的位置。该属性包含由两个整数组成的数组:行号和跟在行号后面的列号。行号从表单顶部开始计算。同样,列号从表单左边开始计算。
  • 类型INT[]
  • 示例position = [2, 3]
  • 缺省值[1,1]
segments
指定每个字段分段的行、列和长度,这是可以有定界符的 consoleField 子段。要创建多行文本框的外观,将一个字段分段放在同一表单列的连续行上,这样一组分段将充当一个字段。
  • 类型INT[3][]
  • 示例segments = [[5,1,10],[6,1,10]]
  • 缺省值none

如果对 segments 指定了值,则 position 的值将被忽略,fieldLen 应设置为所有组合分段的长度。

如果指定多个分段,则 ConsoleField 的行为还会受 lineWrap 字段的影响。

validValues
指定对用户输入有效的值列表。
  • 类型单值元素和双值元素的数组文字
  • 示例validValues = [ [1,3], 5, 12 ]
  • 缺省值none

有关详细信息,请参阅 validValues

consoleField 数组的属性包括上面提到的属性(segments 除外)和下面的属性:
columns
指定在类型为 ConsoleField 的数组中显示元素的列数。例如,如果数组有 5 个元素并且 columns 属性的值为 2,则表单的第一行显示 2 个元素;第二行显示 2 个元素;第三行显示 1 个元素。
  • 类型INT
  • 示例columns = 3
  • 缺省值1

此属性仅对类型为 ConsoleField 的数组有意义。屏幕上的数组元素的分布(横向或纵向)受属性 orientIndexAcross 的影响。

linesBetweenRows
指定包含数组元素的每行之间的空白行数。
  • 类型INT
  • 示例linesBetweenRows = 3
  • 缺省值0

此属性仅对类型为 ConsoleField 的数组有意义。

orientIndexAcross
指示数组元素在屏幕上是否横向分布,如后面示例中所示。
  • 类型Boolean
  • 示例orientIndexAcross = yes
  • 缺省值yes

此属性仅对类型为 consoleField 的数组有意义。

如果属性 orientIndexAcross 设置为 yes,则数组的连续元素将以从左至右的方式显示。在下面的 2 列示例中,每个连续元素显示相当于元素下标的整数:
  1   2
  3   4
  5
如果属性 orientIndexAcross 设置为 no,则连续元素将以从上至下的方式显示:
  1   4
  2   5
  3
spacesBetweenColumns
指定将字段的每一列分开的空格数。
  • 类型INT
  • 示例spacesBetweenColumns = 3
  • 缺省值1

此属性仅对类型为 consoleField 的数组有效。

ConsoleField 的字段如下所示:
align
当数据长度小于字段长度时,align 字段指定数据在变量字段中的位置。
  • 类型AlignKind
  • 示例align = left
  • 缺省值对于字符或时间戳记数据为 left,对于数字为 right
  • 在运行时是否可更新?
值如下所示:
left
将数据放在字段的左端。位于开头的空格将被除去,并且被放在字段末尾。
none
不对齐数据。此设置仅对字符数据有效。
right
将数据放在字段的右端。位于结尾的空格将被除去,并且被放在字段开头。
autonext
指示用户填写当前 ConsoleField 后光标是否转至下一字段。
  • 类型Boolean
  • 示例autonext = yes
  • 缺省值None
  • 在运行时是否可更新?

跳进顺序确定哪个 ConsoleField 是下一个字段,如 ConsoleUI 部件和相关变量中所述。

binding
指定缺省情况下与 ConsoleField 绑定的变量的名称。
  • 类型String
  • 示例binding = "myVar"
  • 缺省值None
  • 在运行时是否可更新?

有关绑定概述的信息,请参阅 ConsoleUI 部件和相关变量

caseFormat
指定如何针对大小写区分问题处理输入和输出。
  • 类型CaseFormatKind
  • 示例caseFormat = lowerCase
  • 缺省值defaultCase
  • 在运行时是否可更新?
值如下所示:
defaultCase(缺省值)
对大小写没有影响。
lowerCase
将字符尽可能变换为小写
upperCase
将字符尽可能变换为大写
color
指定 ConsoleField 中的文本颜色。
  • 类型ColorKind
  • 示例color = red
  • 缺省值white
  • 在运行时是否可更新? 是,但仅当在更新字段后显示 ConsoleField(或 ConsoleField 处于焦点位置)时才会有更新的视觉效果
值如下所示:
defaultColorwhite(缺省值)
白色
black
黑色
blue
蓝色
cyan
青色
green
绿色
magenta
品红色
red
红色
yellow
黄色
comment
指定注释,这是光标在 ConsoleField 中时在特定于窗口的注释行(如果有的话)中显示的文本。
  • 类型String
  • 示例"Employee name"
  • 缺省值Empty string
  • 在运行时是否可更新?
commentKey
指定用于搜索包括注释的资源束的键,注释是光标在 ConsoleField 中时在特定于窗口的注释行(如果有的话)中显示的文本。如果同时指定 commentcommentKey,则使用 comment
  • 类型String
  • 示例commentKey = "myKey"
  • 缺省值Empty string
  • 在运行时是否可更新?

资源束是由系统变量 ConsoleLib.messageResource 标识的,如 messageResource 中所述。

dataType
指定用于标识数据类型的字符串。该值用于验证用户输入(如 = 1.5)是否与特定种类的 SQL 列兼容。仅当 ConsoleField(或相关 ConsoleForm)的 openUI 语句包括语句属性 isConstruct 时,此字段才有意义。
  • 类型String
  • 示例dataType = "NUMBER"
  • 缺省值Empty string
  • 在运行时是否可更新?

对于数字输入,如果允许用户指定浮点值(在此情况下,> 1.5 是有效用户输入),则指定值 "NUMBER";否则指定相当于整数的字符串;如 "INT"

dateFormat
指示如何定义输出的格式;但仅当 ConsoleField 接受日期时才应指定 dateFormat
  • 类型字符串或与日期有关的系统常量
  • 示例dateFormat = isoDateFormat
  • 缺省值none
  • 在运行时是否可更新?
有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。

可从完整日期说明的开头或结尾删除字符,但不能从该说明的中间删除字符。

defaultDateFormat
运行时 Java™ 语言环境中指定的日期格式。
isoDateFormat
模式“yyyy-MM-dd”,这是国际标准组织(ISO)指定的日期格式。
usaDateFormat
模式“MM/dd/yyyy”,这是 IBM® 美国标准日期格式。
eurDateFormat
模式“dd.MM.yyyy”,这是 IBM 欧洲标准日期格式。
jisDateFormat
模式“yyyy-MM-dd”,这是日本工业标准日期格式。
systemGregorianDateFormat
8 个或 10 个字符的模式,它包括 dd(表示数字格式的当月某天)、MM(表示数字格式的月份)和 yy 或 yyyy(表示数字格式的年份),并将 d、M、y 或数字以外的字符用作分隔符。
该格式在以下 Java 运行时属性中:
  vgj.datemask.gregorian.long.NLS
NLS
Java 运行时属性 vgj.nls.code 中指定的(本地语言支持)代码。此代码是 targetNLS 中列示的代码之一。不支持大写英语(代码 ENP)

有关 vgj.nls.code 的详细信息,请参阅 Java 运行时属性(详细信息)

systemJulianDateFormat
6 个或 8 个字符的模式,它包含 DDD(表示数字格式的当年某天)和 yy 或 yyyy (表示数字格式的年份),并将 D、y 或数字以外的字符用作分隔符。
该格式在以下 Java 运行时属性中:
  vgj.datemask.julian.long.NLS
NLS
Java 运行时属性 vgj.nls.code 中指定的(本地语言支持)代码。此代码是 targetNLS 中列示的代码之一。不支持大写英语(代码 ENP)

有关 vgj.nls.code 的详细信息,请参阅 Java 运行时属性(详细信息)

editor
对用户与数据的交互指定该程序;但仅当 ConsoleField 与类型为 LOB 的变量绑定时才有意义。
  • 类型String
  • 示例editor = "/bin/vi"
  • 缺省值none
  • 在运行时是否可更新?

可指定 PATH 或 LIBPATH 中的可执行文件的名称;或者可指定该可执行文件的标准路径。

help
指定出现以下情况时要显示的文本:
  • 光标在 ConsoleField 中;并且
  • 用户按了 ConsoleLib.key_help 中标识的键。
  • 类型String
  • 示例:help = "Update the value"
  • 缺省值Empty string
  • 在运行时是否可更新?
helpKey
指定用于搜索资源束的访问键,该资源束包含在出现以下情况时将显示的文本:
  • 光标在 ConsoleField 中;并且
  • 用户按了 ConsoleLib.key_help 中标识的键。
如果同时指定 helphelpKey,则使用 help
  • 类型String
  • 示例helpKey = "myKey"
  • 缺省值Empty string
  • 在运行时是否可更新?

资源束是由系统变量 ConsoleLib.messageResource 标识的,如 messageResource 中所述。

highlight
指定显示 ConsoleField 时要使用的特殊效果(如果有的话)。
  • 类型HighlightKind[]
  • 示例highlight = [reverse, underline]
  • 缺省值[noHighLight]
  • 在运行时是否可更新? 是,但仅当在更新 highlight 字段后显示 ConsoleField(或 ConsoleField 处于焦点位置)时才会有更新的视觉效果
值如下所示:
noHighlight(缺省值)
不会有特殊效果。使用此值将覆盖任何其它值。
blink
没有效果。
reverse
反转文本和背景色,这样的话(举例来说),如果显示是黑底白字的,则背景变为白色的,而文本变为黑色的。
underline
在受影响区域下面加下划线。下划线的颜色就是文本的颜色,即使同时指定了值 reverse 也是如此。
initialValue
指定要显示的初始值。
  • 类型String
  • 示例initialValue = "200"
  • 缺省值Empty string
  • 在运行时是否可更新?

如果 openUI 语句中的 setInitial 属性设置为 true,则将使用 consoleField 中的 initialValue 属性的值。但是,如果该 openUI 属性为 false,则改为显示绑定变量的当前值;并且 initialValue 属性的值会被忽略。

initialValueKey
指定用于搜索资源束的访问键,该资源束包含要显示的初始值。如果同时指定 initialValueinitialValueKey,则使用 initialValue
  • 类型String
  • 示例initialValueKey = "myKey"
  • 缺省值Empty string
  • 在运行时是否可更新?

资源束是由系统变量 ConsoleLib.messageResource 标识的,如 messageResource 中所述。

inputRequired
指示是否用户不输入值就不能离开字段。
如果同时指定 initialValueinitialValueKey,则使用 initialValue
  • 类型String
  • 示例initialValueKey = "myKey"
  • 缺省值Empty string
  • 在运行时是否可更新?

资源束是由系统变量 ConsoleLib.messageResource 标识的,如 messageResource 中所述。

intensity
指定显示字体的强度。
  • 类型IntensityKind[]
  • 示例intensity = [bold]
  • 缺省值[normalIntensity]
  • 在运行时是否可更新? 是,但仅当在更新 intensity 字段后显示 ConsoleField(或 ConsoleField 处于焦点位置)时才会有更新的视觉效果
值如下所示:
normalIntensity(缺省值)
不会有特殊效果。使用此值将覆盖任何其它值。
bold
使文本以粗体字体显示。
dim
现在此值不生效。将来,当输入字段被禁用或应该取消强调时,可以适当地让文本以较弱的强度出现。
invisible
除去任何有关“字段位于表单中”的指示。
isBoolean
指示 ConsoleField 是否表示布尔值。字段 isBoolean 限制有效的 ConsoleField 值,并且对输入或输出很有用。

数字字段的值是 0(表示 false)或 1(表示 true)。

字符字段的值是由从属于本地语言的字或字的一部分表示的,并且特定值由语言环境确定。例如,在英语中,长度为三个或更多个字符的布尔字段具有值 yes(表示 true)或 no(表示 false),一字符布尔字段值具有截断的值 yn
  • 类型Boolean
  • 示例isBoolean = yes
  • 缺省值no
  • 在运行时是否可更新?
lineWrap
指示如何让文本在必要时换行以避免截断文本。
  • 类型LineWrapType
  • 示例value = compress
  • 缺省值character
  • 在运行时是否可更新?
值如下所示:
character(缺省值)
字段中的文本不会在空格处断开,但会在字段分段边界的字符位置断开。
compress
如果可能,文本将在空格处断开。当用户离开 ConsoleField(通过浏览至另一 ConsoleField 或通过按 Esc 键)时,该值将赋给绑定变量,并且将除去用来让文本换行的所有附加空格。
word
如果可能,字段中的文本将在空格处断开。将该值赋给绑定变量时,将包含附加空格以反映如何填充该值以便在字的边界换行。

lineWrap 字段只对具有多个分段的 ConsoleField 有意义,因为它是由 segments 属性控制的。

masked
指示当用户输入密码时是否让 ConsoleField 中的每个字符相应地显示为星号(*)。
  • 类型Boolean
  • 示例masked = yes
  • 缺省值no
  • 在运行时是否可更新?
minimumInput
指示有效输入中的最小字符数。
  • 类型INT
  • 示例minimumInput = 4
  • 缺省值no
  • 在运行时是否可更新?
name
ConsoleField 名称,在运行时解析名称的编程环境中使用。强烈建议名称字段的值与变量名称相同。
  • 类型String
  • 示例name = "myField"
  • 缺省值none
  • 在运行时是否可更新?
numericFormat
指示如何定义输出的格式;但仅当 ConsoleField 接受数字时才应指定 numericFormat
  • 类型String
  • 示例numericFormat = "-###@"
  • 缺省值none
  • 在运行时是否可更新?
有效字符如下所示:
#
表示一位数字的占位符。
*
将星号(*)用作前导零的填充字符。
&
将零用作前导零的填充字符。
#
将空格用作前导零的填充字符。
<
使数字向左对齐。
,
除非该位置包含前导零,否则根据语言环境使用数 字分隔符。
.
根据语言环境使用小数点。
-
使用减号(-)来表示小于 0 的值;使用空格来表示大于或等于 0 的值。
+
使用减号(-)来表示小于 0 的值;使用加号(+)来表示大于或等于 0 的值。
(
在记帐时,适当地在负值前加上左圆括号。
)
在记帐时,适当地在负值后加上右圆括号。
$
根据语言环境在该值前加上适当的货币符号。
@
根据语言环境在该值后加上适当的货币符号。
pattern
如果 ConsoleField 内容是字符类型,则指定用于定义输入和输出格式的模式。
  • 类型String
  • 示例pattern = "(###) ###-####"
  • 缺省值none
  • 在运行时是否可更新?
下列控制字符可用:
  • A 是表示字母的占位符;并且被视为字母的一部分字符是根据语言环境确定的
  • # 是表示数字位的占位符
  • X 是表示任意种类的必需字符的占位符
上面三种字符以外的字符包括在输入或输出中;但对于输出,所有被覆盖字符都将丢失:
  • 如果输出模式为“(###) ###-####”,则值“6219655561212”将为如下所示:
      (219) 555-1212

    原始值中的每个 6 将不会显示给用户,并且会在数据存储更新时丢失。

  • 对于输入,光标会跳过文字字符并且只允许在出现占位符的位置输入。在当前示例中,如果用户输入 2195551212,则字符串“(219) 555-1212”将变成 ConsoleField 中的值并且成为放在绑定变量中的值。
protect
指定是否保护 ConsoleField,不允许用户更新。
  • 类型Boolean
  • 示例protect = yes
  • 缺省值no
  • 在运行时是否可更新?
值如下所示:
No(缺省值)
设置字段,使用户可以覆盖其中的值。
Yes
设置 consoleField,以使用户不能覆盖其中的值。另外,在下列情况下,每当用户尝试浏览至 consoleField 时光标将跳过该 consoleField:
  • 用户正在依据跳进顺序在上一个 consoleField 中输入,并且按下(a) Tab 键或者(b)在字段 autonext 设置为 yes 的情况下在上一个 consoleField 字段中填写内容。
  • 用户正在依据跳进顺序在下一个 consoleField 中输入,并且按下 Shift Tab 键。
  • 用户使用方向键移至上一个或下一个 consoleField。

可将变量与受保护或不受保护的 consoleField 绑定。openUI 属性 setInitial 的设置确定是否显示绑定变量的值。

如果程序尝试移至受保护的 consoleField,则会发生运行时错误。

SQLColumnName
指的是与 ConsoleField 相关联的数据库表列的名称。当 ConsoleField(或相关 ConsoleForm)的 openUI 语句包括语句属性 isConstruct 时,此名称用于创建搜索条件。
  • 类型String
  • 示例SQLColumnName = "ID"
  • 缺省值none
  • 在运行时是否可更新?
timeFormat
指示如何定义输出的格式;但仅当 ConsoleField 接受时间时才应指定 timeFormat
  • 类型字符串或与时间有关的系统常量
  • 示例timeFormat = isoTimeFormat
  • 缺省值none
  • 在运行时是否可更新?
有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。

可从完整时间说明的开头或结尾删除字符,但不能从该说明的中间删除字符。

defaultTimeFormat
运行时 Java 语言环境中指定的时间格式。
isoTimeFormat
模式“HH.mm.ss”,这是国际标准组织(ISO)指定的时间格式。
usaTimeFormat
模式“hh:mm AM”,这是 IBM 美国标准时间格式。
eurTimeFormat
模式“HH.mm.ss”,这是 IBM 欧洲标准时间格式。
jisTimeFormat
模式“HH:mm:ss”,这是日本工业标准时间格式。
timestampFormat
指示如何定义输出的格式;但仅当 ConsoleField 接受时间戳记时才应指定 timestampFormat
  • 类型字符串或与时间戳记有关的系统常量
  • 示例timestampFormat = odbcTimestampFormat
  • 缺省值none
  • 在运行时是否可更新?
有效值如下所示:
"pattern"
pattern 值由一组字符组成,如日期、时间和时间戳记格式说明符中所述。

可从完整时间戳记说明的开头或结尾删除字符,但不能从该说明的中间删除字符。

defaultTimestampFormat
运行时 Java 语言环境中指定的时间戳记格式。
db2TimeStampFormat
模式“yyyy-MM-dd-HH.mm.ss.ffffff”,这是 IBM DB2® 缺省时间戳记格式。
odbcTimestampFormat
模式“yyyy-MM-dd HH:mm:ss.ffffff”,这是 ODBC 时间戳记格式。
value
consoleField 中显示的当前值。代码可设置此值,以便在调用 ConsoleLib.displayForm 时在 consoleField 中显示指定的值。
  • 类型String
  • 示例value = "View"
  • 缺省值none
  • 在运行时是否可更新?
verify
指示在尝试退出 ConsoleField 后是否提示用户重新输入相同的值。
  • 类型String
  • 示例value = "View"
  • 缺省值none
  • 在运行时是否可更新?
值如下所示:
No(缺省值)
EGL 运行时不发出特殊提示。
Yes
当用户尝试离开 ConsoleField 时,EGL 运行时执行下列操作:
  • 清除 consoleField,让光标留在该处
  • 显示一条消息,指示用户重复输入内容
  • 在用户再次尝试离开 consoleField 时比较两个输入值

如果两个值相匹配,则绑定变量将接收该值并照常继续处理。如果两个值不匹配,则 consoleField 内容会还原为两次用户输入中的第一次输入之前的值,并且光标仍留在该字段中。

相关概念
控制台用户界面

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.