顯示檔的 COLOR (顏色) 關鍵字

使用此關鍵字,可指定彩色顯示器上欄位的顏色。

此欄位層次關鍵字指定彩色顯示器上欄位的顏色 (3179、3197 型號 C1 及 C2、3477 型號 FC、3486、3487 型號 HC、34881 或僅限於 5292 彩色顯示站)。如果針對在單色顯示站上顯示的欄位選取此關鍵字,則會忽略此關鍵字。 COLOR 關鍵字只能指定一個參數值,但每個欄位可以指定多個 COLOR 關鍵字。

此關鍵字的格式為:

COLOR(GRN | WHT | RED | TRQ | YLW | PNK | BLU)

有效的參數值如下:

意義
GRN
綠色
WHT
白色
RED
紅色
TRQ
藍綠色
YLW
黃色
PNK
粉紅色
BLU
藍色

因為綠色是彩色顯示站上欄位的預設顏色, 所以在要讓欄位顏色保持為綠色時,才需要指定 COLOR(GRN)。 為欄位指定 DSPATR(HI)、DSPATR(CS) 或 DSPATR(BL),會變更欄位的顏色,除非您同時指定 COLOR(GRN)。

選項指示器對此關鍵字有效。

當您為同一個欄位多次指定 COLOR 關鍵字時,必須對每個 COLOR 關鍵字指定選項指示器。 如果輸出作業有多個有效的 COLOR 關鍵字,則 i5/OS® 作業系統會使用 DDS 中指定的第一個 COLOR 關鍵字 (請參閱範例 1)。同一個欄位不可以多次指定同一個顏色。

在顯示檔中可以指定的 COLOR 關鍵字數目,是受稱為螢幕屬性陣列之系統 內部儲存區的大小上限的限制。整個顯示檔之螢幕屬性陣列的大小上限為 32 763 個位元組。在檔案中指定的每個 COLOR 關鍵字,都會佔用此陣列中的大量儲存體。

如果您在檔案中使用許多 COLOR 關鍵字 (特別是具有條件的), 請注意這些關鍵字所需要的內部儲存大小。如果超出 32 763 個位元組的限制,則在建立檔案期間會發出訊息 CPF0673 (在檔案中指定了太多 COLOR 或 DSPATR 關鍵字)。若要判斷特定 COLOR 關鍵字所需要的儲存體大小, 請使用下列演算法:

(# of conditions for the keyword) x 2 + 2 + 29 = # of bytes required
in the screen
attribute array
for the keyword

例如,假設某個檔案包含 8 個欄位,每個欄位包含 9 個 COLOR 關鍵字, 並且每個 COLOR 關鍵字使用 3 個選擇條件。使用上述演算法,每個 COLOR 關鍵字需要螢幕屬性陣列的 520 個位元組:

3 x 2 + 2 + 29 = 520 個位元組

因為每個欄位中有九個 COLOR 關鍵字,每個檔案中有八個欄位,因此螢幕屬性陣列所需的儲存體大小總計為 37 440 個位元組 (520 x 9 個關鍵字 x 8 個欄位)。因為 37 440 大於 32 763,因此會在建立檔案時發出訊息 CPF0673。

將 COLOR 關鍵字與 DSPATR 關鍵字一起使用

在 COLOR 及 DSPATR 的某些組合中,兩個關鍵字都有效。這些組合包括:

COLOR
DSPATR
任意
RI (反白影像)
任意
UL (底線)
RED
BL (閃爍欄位)
RED
BL 及 RI
RED
BL 及 UL
RED
RI 及 UL
GRN
RI 及 UL
TRQ
RI 及 UL
PNK
RI 及 UL

例如,如果 COLOR(YLW) 及 DSPATR(RI) 均有效,則欄位在黃色背景上顯示為黑色字元。

在 COLOR 及 DSPATR 關鍵字的某些組合中,會忽略部分參數值。 下表顯示那些組合。

COLOR DSPATR 效果

任意
任意
任意

ND (不顯示)
HI (高亮度)
CS (直欄分隔字元)

忽略所有顏色
忽略 HI
忽略 CS1

GRN
WHT
TRQ
YLW
PNK
BLU

BL
BL
BL
BL
BL
BL

忽略 BL2
忽略 BL2
忽略 BL2
忽略 BL2
忽略 BL2
忽略 BL2

RED RI 及 BL 及 UL 忽略 UL3
YLW BLU WHT

RI 及 UL
RI 及 UL
RI 及 UL

忽略 RI
忽略 RI
忽略 RI

1 即使未指定 DSPATR(CS),藍綠色及黃色直欄也具有直欄分隔字元 (直欄分隔字元在彩色顯示器上, 會顯示為字元之間的藍色小點。若顯示站的使用者設定顯示站減少行距,它們會消失不見。

2唯一可閃爍的顏色是紅色。

3預設有底線的可輸入欄位的底線也會移除。

例如,如果為輸出作業同時選取 COLOR(YLW) 及 DSPATR(HI), 則欄位會變成黃色,但不是高亮度。

在彩色顯示器上使用 DSPATR 關鍵字

如果在指定 DSPATR 關鍵字時,未指定 COLOR 關鍵字, 欄位會以下表中的顏色顯示在彩色顯示器上,但不會有指定的顯示屬性。

表 1. DSPATR 關鍵字在彩色顯示器上
已選取 DSPATR(CS) 顯示屬性 已選取 DSPATR(HI) 顯示屬性 已選取 DSPATR(BL) 顯示屬性 彩色顯示站上產生的顏色
      綠色 (正常)
X     藍綠色1
  X   白色
    X 紅色,不閃爍
  X X 紅色,閃爍
X X   黃色1
X   X 粉紅色
X X X 藍色
1 所顯示的藍綠色及黃色欄位具有直欄分隔字元 (始終為藍色), 但工作站使用者設定顯示站縮小行距時例外。

例如,如果為欄位選取 DSPATR(HI),但未指定 COLOR 關鍵字, 則欄位是白色的,但在彩色顯示器上不會強調顯示。

如果為單色顯示器選取 COLOR 關鍵字,則會忽略此關鍵字。

範例 1

下列範例顯示為欄位指定 COLOR 及 DSPATR 的效果。

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A          R RECORD                    1
00020A                                  1  2'Column Heading'
00030A                                      DSPATR(HI)
00040A       2  FIELD1         5      3  2
00050A       3  FIELD2         5   I  5  2COLOR(YLW)
00060A       4  FIELD3         5      7  2DSPATR(BL)
00070A       5  FIELD4         5   I  9  2
00080A  42                                  COLOR(YLW)
00090A  43                                  COLOR(TRQ)
00100A  44                                  COLOR(BLU)
     A
1
在彩色顯示器上,常數欄位直欄標題 為白色;在單色顯示器上,它會強調顯示。
2
在所有顯示器上,FIELD1 均為綠色。
3
在彩色顯示器上,FIELD2 為黃色,並具有藍色的直欄分隔字元。 在所有顯示器上,該欄位都帶有底線,因為它是可輸入欄位。
4
在彩色顯示器上,FIELD3 為紅色但不閃爍;在單色顯示器上,它會閃爍。
5
在彩色顯示器上,FIELD4 可顯示為下列其中一種顏色:
  • 綠色,如果未啟用指示器
  • 黃色,如果啟用指示器 42 (不論是否有啟用其他指示器)
  • 藍綠色,如果啟用指示器 43,但停用指示器 42
  • 藍色,如果僅啟用指示器 44

在單色顯示器上,FIELD4 為綠色。在所有顯示器上,FIELD4 均帶有底線。

範例 2

下列範例顯示指定欄位作為彩色及單色顯示器上的可輸入欄位的一種方法。

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A          R RECORD
00020A 2 1      FIELDA         5   B  2  2COLOR(TRQ)
00030A  44                                  ERRMSG('Record not found' 44)
     A
1
在彩色顯示器上,FIELDA 為藍綠色並具有藍色直欄分隔字元;在單色顯示器上,它是綠色的。
2
如果在顯示 FIELDA 時,啟用選項指示器 44,則 ERRMSG 關鍵字有效,並具有下列效果:
  • 在彩色顯示器上,FIELDA 為藍綠色,其影像是反白的 (因為 COLOR 關鍵字,所以它不會強調顯示)。 訊息行上會以白色顯示錯誤訊息找不到記錄
  • 在單色顯示器上,FIELDA 會強調顯示,其影像是反白的。 錯誤訊息找不到記錄也會強調顯示,並顯示在訊息行上。
相關參考
顯示檔的 CHCAVAIL (可用時的選項顏色/顯示屬性) 關鍵字
顯示檔的 CHCSLT (選取時的選項顏色/顯示屬性) 關鍵字
顯示檔的 CHCUNAVAIL (無法使用時的選項顏色/顯示屬性) 關鍵字
顯示檔的 DSPATR (顯示屬性) 關鍵字
顯示檔的 ENTFLDATR (輸入欄位屬性) 關鍵字
顯示檔的 ERRMSG (錯誤訊息) 及 ERRMSGID (錯誤訊息 ID) 關鍵字
顯示檔的 MNUBARSEP (功能表列分隔字元) 關鍵字
顯示檔的 WDWBORDER (視窗邊框) 關鍵字
1 視連接至顯示裝置的監視器而定。