ラジオ・ボタンはいくつかある候補の中でどれかを唯一選択する。
従って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
[解説]
特に説明はなし。
