使用此關鍵字,可指定彩色顯示器上欄位的顏色。
此欄位層次關鍵字指定彩色顯示器上欄位的顏色 (3179、3197 型號 C1 及 C2、3477 型號 FC、3486、3487 型號 HC、34881 或僅限於 5292 彩色顯示站)。如果針對在單色顯示站上顯示的欄位選取此關鍵字,則會忽略此關鍵字。 COLOR 關鍵字只能指定一個參數值,但每個欄位可以指定多個 COLOR 關鍵字。
此關鍵字的格式為:
COLOR(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(YLW) 及 DSPATR(RI) 均有效,則欄位在黃色背景上顯示為黑色字元。
在 COLOR 及 DSPATR 關鍵字的某些組合中,會忽略部分參數值。 下表顯示那些組合。
COLOR | DSPATR | 效果 |
---|---|---|
任意 |
ND (不顯示) |
忽略所有顏色 |
GRN |
BL |
忽略 BL2 |
RED | RI 及 BL 及 UL | 忽略 UL3 |
YLW BLU WHT | RI 及 UL |
忽略 RI |
1 即使未指定 DSPATR(CS),藍綠色及黃色直欄也具有直欄分隔字元 (直欄分隔字元在彩色顯示器上, 會顯示為字元之間的藍色小點。若顯示站的使用者設定顯示站減少行距,它們會消失不見。 2唯一可閃爍的顏色是紅色。 3預設有底線的可輸入欄位的底線也會移除。 |
例如,如果為輸出作業同時選取 COLOR(YLW) 及 DSPATR(HI), 則欄位會變成黃色,但不是高亮度。
如果在指定 DSPATR 關鍵字時,未指定 COLOR 關鍵字, 欄位會以下表中的顏色顯示在彩色顯示器上,但不會有指定的顯示屬性。
已選取 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 關鍵字,則會忽略此關鍵字。
下列範例顯示為欄位指定 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
在單色顯示器上,FIELD4 為綠色。在所有顯示器上,FIELD4 均帶有底線。
下列範例顯示指定欄位作為彩色及單色顯示器上的可輸入欄位的一種方法。
|...+....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