DDS解説書を読むと DSPF でも、結構、GUIコントロールを作成することができる。
ここからのシリーズでは DSPF上での GUIコントロールを紹介する。
最初は「押しボタン」(プッシュ・ボタン)であり、マウスを使って押すことができるボタンである。
この DSPF画面でOKボタンをマウスの左ボタンで押すと、次々と数値がカウント・アップされる。
0001.00 A*%%TS SD 20070817 120013 QTR REL-V5R4M0 5722-WDS
0002.00 A* 11:59:33 QSECOFR REL-R06M00 5714-UT1
0003.00 A*%%EC
0004.00 A DSPSIZ(24 80 *DS3)
0005.00 A MSGLOC(24)
0006.00 A PRINT
0007.00 A R DSPDTA01
0008.00 A*%%TS SD 20070817 120013 QTR REL-V5R4M0 5722-WDS
0009.00 A TEXT(' 明細画面 01')
0010.00 A CF03(03 ' 終了 ')
0011.00 A SETOF(99)
0012.00 A BLINK
0013.00 A 1 27' 押しボタン '
0014.00 A DSPATR(HI)
SOSI A 3 2' 下記は押しボタンのサンプ
SOSI A 4 3'OK ボタンを押したときは押
0017.00 A 回数をカウントします。 '
0018.00 A 8 4' 押した回数 . . . . . . .
0019.00 A KAISU 3Y 0B 8 37
0020.00 A PSHFLD 2Y 0B 8 45PSHBTNFLD(*RSTCSR (*NUMCOL
0021.00 A PSHBTNCHC(1 ' OK ' ENTER)
0022.00 A PSHF10 2Y 0B 10 45PSHBTNFLD(*RSTCSR (*NUMCOL
0023.00 A PSHBTNCHC(1 ' F1O ' CF10
0024.00 A DSPMSG 40A O 20 4DSPATR(HI)
0025.00 A 23 2'F3= 終了 '
0001.00 PGM
0002.00 /*---------------------------------------------------------*/
0003.00 /* BUTTON : 押しボタン */
0004.00 /*---------------------------------------------------------*/
0005.00 DCL VAR(&MSG) TYPE(*CHAR) LEN(80)
0006.00 DCLF FILE(QTROBJ/BUTTONFM)
0007.00
0008.00 CHGVAR VAR(&KAISU) VALUE(0)
0009.00 DSPLY: SNDRCVF RCDFMT(DSPDTA01)
0010.00 IF COND(&IN03 *EQ '1') THEN(RETURN)
0011.00 IF COND(&PSHF10 *EQ 1) THEN(DO)
0012.00 CHGVAR VAR(&DSPMSG) VALUE('F10 ボタンが押されました ')
0013.00 ENDDO
0014.00 ELSE CMD(DO)
0015.00 CHGVAR VAR(&DSPMSG) VALUE('OK ボタンが押されました ')
0016.00 ENDDO
0017.00 CHGVAR VAR(&KAISU) VALUE(&KAISU + 1)
0018.00 GOTO DSPLY
0019.00 RETURN
0020.00
0021.00 ERROR: RCVMSG RMV(*NO) MSG(&MSG)
0022.00 SNDMSG: SNDPGMMSG MSG(&MSG) MSGTYPE(*DIAG)
0023.00 ENDPGM