!*! Updated on 07-Aug-92 at 12:37 AM by James A. Jarboe I V; edit time: 0:28:43
!*! Created on 22-Sep-91 at 11:46 PM by James A. Jarboe I V; edit time: 0:12:23
!
! HIDSKP - Sample Test program for HIDFLD, SKPFLD, GETPUI, SETPUI
!
! Uses the following Xcalls available on AMUS Network.
!
! HIDFLD.SBR - HIDE or SHOW field.
! SKPFLD.SBR - SKIP or ALLOW field.
! GETPUI.SBR - Get POPUP'ITEM value.
! SETPUI.SBR - Set POPUP'ITEM value.
!
++INCLUDE SYSSTD.BSI
!
MAP1 SCR$, S, 6, "HIDSKP" ! ESP screen to use.
MAP1 YES, F, 6, 1 ! Value to HIDE or SKIP
MAP1 NO, F, 6, 0 ! Value to SHOW or ALLOW
MAP1 CHAR'BYTE, F, 6 ! Byte Value of Character.
MAP1 CHAR'FLAG, F, 6 ! Flag Value of Character.
MAP1 HIDE'FLAG, F, 6 ! Hide Flag (yes or no)
MAP1 POPUP'VALUE, F, 6 ! Value of gotten Popup value.
! Initialize terminal.
XCALL INITRM, "Test Program", "By James A. Jarboe IV"
! Fetch Screen
!
XCALL FETCH, SCR$, SCREEN, X
IF X GOTO SCREEN'FETCH'ERROR
! Open it properly
!
XCALL OPNSCR, SCREEN
! Hide all appropriate fields.
!
XCALL HIDFLD, SCREEN, YES, 2,3,4,5,6
FIELD = 1
CHAR = ESP'BEGLIN
! Fields 3 and 4 are set as regular edit fields in the HIDSKP.SCR screen.
! Here we make it so that they are SKIPped and we cannot enter them.
!
XCALL SKPFLD, SCREEN, YES, 3, 4
! Main Edit loop until we MENU to Exit.
!
EDIT'LOOP:
XCALL GTSCR, SCREEN, CHAR, FIELD
CHAR'BYTE = CHAR and 255
CHAR'FLAG = CHAR XOR CHAR'BYTE
! Handle MENU Exit.
!
IF CHAR'BYTE = ESP'MENU then GOTO FINISHED
! Handle Pre-edit.
!
IF (CHAR AND ESP'PREEDIT) then CALL PRE'EDIT
! Handle Post-edit.
!
IF (CHAR AND ESP'POSTEDIT) then CALL POST'EDIT
! Redit screen.
!
GOTO EDIT'LOOP
! Finished, clean up properly.
!
FINISHED:
XCALL CLSSCR, SCREEN
OUT:
XCALL INITRM
END
! Currently no Pre Edit.
!
PRE'EDIT:
RETURN
! All work is done at Post Edit.
!
POST'EDIT:
! Always set popup values to fields 3 and 4 every time we post edit.
!
XCALL GETPUI, SCREEN, 1, POPUP'VALUE
XCALL SETPUI, SCREEN, 3, POPUP'VALUE
XCALL GETPUI, SCREEN, 2, POPUP'VALUE
XCALL SETPUI, SCREEN, 4, POPUP'VALUE
! Call the proper field post'edit condition.
!
ON FIELD CALL ONE'OR'TWO, ONE'OR'TWO
ON FIELD-4 CALL FIVE