標識を節約してみよう
今回は前回の標識の話にちなんだ内容にします。
前回は標識を使用しない方法をお伝えしましたが、今回は標識を節約する方法です。
画面のファンクションの標識、何も指定しないと*INKC や *INKLなど♪ABCDEFG・・・・と口ずさみながらじゃないと?わかりづらいですよね。
そこで,CF01(01),CF02(02)とファンクションと標識を関連づけると、標識が最大で24個も使われてしまいますね。
そこで、今回は標識も使用せず尚且つソースも見やすくなる方法をお伝えします。
RPG側のコーディングです。
I仕様書にてファンクションキーの定義を行います。
F01,F02...は好きな名前で定義して結構です。
RPG:
-
I**--ファンクション戻り値定義
-
I X'31' C F01
-
I X'32' C F02
-
I X'33' C F03
-
I X'34' C F04
-
I X'35' C F05
-
I X'36' C F06
-
I X'37' C F07
-
I X'38' C F08
-
I X'39' C F09
-
I X'3A' C F10
-
I X'3B' C F11
-
I X'3C' C F12
-
I X'B1' C F13
-
I X'B2' C F14
-
I X'B3' C F15
-
I X'B4' C F16
-
I X'B5' C F17
-
I X'B6' C F18
-
I X'B7' C F19
-
I X'B8' C F20
-
I X'B9' C F21
-
I X'BA' C F22
-
I X'BB' C F23
-
I X'BC' C F24
-
I X'F1' C ENTER
-
I X'F4' C ROLLDN
-
I X'F5' C ROLLUP
RPG:
-
IWINFDS DS
-
I 1 8 W#DSID
-
I 369 369W#FUNK
-
I B 370 3710W#CSL
-
I 370 370 W#LIN1
-
I 371 371 W#COL1
-
I B 378 3790TPRRN
F仕様書で定義しているINFDSにファンクションを定義します
369 369バイト目に任意の名前で定義します
今回はW#FUNKとして定義します
実際のファンクションの判定です。
RPG:
-
C**-- 判定
-
C SELEC
-
C W#FUNK WHEQ F01
-
C EXSR @D1CLR
-
C EXSR @D1OFF
-
C W#FUNK WHEQ F03
-
C MOVEL'END' W#CTL P
-
C MOVEL'PF03' E#0090
-
C W#FUNK WHEQ F05
-
C EXSR @D1CLR
-
C OTHER
-
C EXSR @D1ENT
-
C ENDSL
TrackBack URL :
Comments (0)