ラジオ・ボタンはいくつかある候補の中でどれかを唯一選択する。
従ってIBM iでは「単一項目選択フィールド」という非常にわかりにくい
名前をつけている。
キー・ワードも SNGCHCFLD(=Single Choice Field)と何のことやら
わからないようなキー・ワード名である。
どうもMicrosoftの命名が気に入らないらしいのだが
そんなところで勝負すべきではないだろう。
C/Sモデル(=Client Server Model)が一時期に流行したのは
WindowsがGUI化に優れていたのでクライアントとしての
Windowsを活用したのだからGUI化はWindowsのほうが
早く進んでいたのは事実である。
現在ではWeb化が進みサーバー・サイドつまりIBM i自身で
Web化によってGUI化も行えるようになったのでC/Sモデルは
衰退した。
しかしMicrosoftがGUIを普及させたのは事実なのだから
ユーザーのためには普及しているラジオ・ボタンの名前をそのまま
踏襲すべきであった。
それはともかくラジオ・ボタンは次のように表示される。
[ラジオ・ボタンのDSPF]
ソースはこちらから
0001.00 A DSPSIZ(24 80 *DS3) 0002.00 A MSGLOC(24) 0003.00 A PRINT 0004.00 A R DSPDTA01 0005.00 A TEXT(' 明細画面 01') 0006.00 A CF03(03 ' 終了 ') 0007.00 A SETOF(99) 0008.00 A BLINK 0009.00 A 1 27' ラジオ・ボタン ' 0010.00 A DSPATR(HI) 0011.00 A 3 2' 下記はラジオ・ボタンのサンプル + 0012.00 A です ' 0013.00 A 6 2' 受注区分 ' 0014.00 A JUKBN# 2Y 0B 6 15TEXT(' 受注区分 ') 0015.00 A SNGCHCFLD((*NUMCOL 1)) 0016.00 A CHOICE(1 ' 売上 ') 0017.00 A CHOICE(2 ' 返品 ') 0018.00 A 6 34' 処理区分 ' 0019.00 A JUSHOR# 2Y 0B 6 47TEXT(' 処理区分 ') 0020.00 A SNGCHCFLD((*NUMCOL 1)) 0021.00 A CHOICE(3 ' 今月 ') 0022.00 A CHOICE(4 ' 来勘 ') 0023.00 A 13 10' 締日 ' 0024.00 A TKSIME 2Y 0B 13 25 0025.00 A SNGCHCFLD((*NUMCOL 1)) 0026.00 A CHOICE(10 '10 日締め ') 0027.00 A CHOICE(20 '20 日締め ') 0028.00 A CHOICE(31 ' 末日締め ') 0029.00 A* 0030.00 A DSPMSG 40A 20 4 0031.00 A DSPATR(HI) 0032.00 A 23 2'F3= 終了 ' 0033.00 A COLOR(BLU) 0034.00 A PSHFLD 2Y 0B 23 22PSHBTNFLD(*RSTCSR (*NUMCOL 1)) 0035.00 A PSHBTNCHC(1 ' OK ' ENTER)
[解説]
ラジオ・ボタンは
0014.00 A JUKBN# 2Y 0B 6 15TEXT(' 受注区分 ') 0015.00 A SNGCHCFLD((*NUMCOL 1)) 0016.00 A CHOICE(1 ' 売上 ') 0017.00 A CHOICE(2 ' 返品 ')
であり SNGCHCFLD がラジオ・ボタンであることを示し、
0016.00 A CHOICE(1 ' 売上 ') 0017.00 A CHOICE(2 ' 返品 ')
が選択項目を示している。
[ラジオ・ボタンのRPG]
ソースはこちらから
0001.00 H DFTNAME(RADIO) DATEDIT(*YMD/) 0002.00 F******** ラジオ・ボタン ********************************************** 0003.00 FRADIOFM CF E WORKSTN 0004.00 F********************************************************************** 0005.00 D ENTMSG C CONST('ENTER が押されました。 ') 0006.00 C*----------------------------------------------------+ 0007.00 C DSPLY TAG 0008.00 C EXFMT DSPDTA01 0009.00 C*----------------------------------------------------+ 0010.00 C SETOFF 99 0011.00 C*( CF03 )- 終了 0012.00 C *IN03 IFEQ *ON 0013.00 C SETON LR 0014.00 C RETURN 0015.00 C ENDIF 0016.00 C*( 実行キー ) 0017.00 C EVAL DSPMSG = ENTMSG 0018.00 C GOTO DSPLY 0019.00 C****************************************************** 0020.00 C *INZSR BEGSR 0021.00 C****************************************************** 0022.00 C Z-ADD 1 JUKBN# 0023.00 C Z-ADD 3 JUSHOR# 0024.00 C Z-ADD 31 TKSIME 0025.00 C ENDSR
[解説]
特に説明はなし。