|
The DDS forMultiple windows on a display screen
******************************************************************
** WRITTEN BY : Booth Martin *
** DATE WRITTEN : 11-2007 *
** COMMENTS : demonstrate multi-windows *
** *
******************************************************************
A DSPSIZ(24 80 *DS3)
A PRINT
A 90 MSGALARM
A ERRSFL
A CA03
A CF23
A*****************************************************************
A R S1CMD2
A OVERLAY
A 23 2'F3=Exit'
A COLOR(BLU)
A + 3'F23=Multi-Windows'
A COLOR(BLU)
A 22 70' Page Up & '
A DSPATR(RI) COLOR(BLU)
A 23 70' Page Down '
A DSPATR(RI) COLOR(BLU)
A*****************************************************************
A R WIN1
A WINDOW(&W1LINE &W1POS -
A 5 32 -
A *NOMSGLIN *NORSTCSR)
A WDWBORDER((*COLOR BLU))
A WDWTITLE((*TEXT &W1TITLE) +
A (*COLOR YLW) +
A *LEFT *BOTTOM)
A USRRSTDSP
A OVERLAY
A PAGEUP(21)
A PAGEDOWN(22)
A W1LINE 2S 0P
A W1POS 3S 0P
A W1TITLE 20 P
A W1FIELD1 30 1 2
A COLOR(WHT)
A W1RADIO1 2Y 0B 2 1SNGCHCFLD
A CHOICE(1 'High Flyer')
A CHOICE(2 'Guest')
A CHOICE(3 'Tourist')
A CHCCTL(1 &W1RADIOF1)
A CHCCTL(2 &W1RADIOF2)
A CHCCTL(3 &W1RADIOF3)
A CHCAVAIL((*COLOR TRQ))
A W1RADIOF1 1Y 0H
A W1RADIOF2 1Y 0H
A W1RADIOF3 1Y 0H
A W1CHECK1 2Y 0B 2 18MLTCHCFLD
A CHOICE(1 'No-Call List')
A CHOICE(2 'Special Diet')
A CHOICE(3 'VIP Account')
A CHCCTL(1 &W1CHECKF1)
A CHCCTL(2 &W1CHECKF2)
A CHCCTL(3 &W1CHECKF3)
A CHCAVAIL((*COLOR PNK))
A W1CHECKF1 1Y 0H
A W1CHECKF2 1Y 0H
A W1CHECKF3 1Y 0H
|
The RPG forMultiple windows on a display screen
**********************************************************************
* WRITTEN BY : Booth Martin *
* DATE WRITTEN : 11-2007 *
* COMMENTS : Demonstrate Multi windows. *
**********************************************************************
**--------------------------------------------------------------------*
** FILES *
**--------------------------------------------------------------------*
FSTYLE04FM cf e workstn
**--------------------------------------------------------------------*
** DEFINITIONS *
**--------------------------------------------------------------------*
* Constants.
D c#Windows c 15
D c#StartingRow c 17
D c#StartingCol c 10
* Working fields.
D wCount s like(W1LINE)
D wOffset s like(W1LINE)
D W1Array s 500 dim(15)
* Windows array data
D W1Data ds 500
D W1LINE OVERLAY(W1Data )
D W1POS OVERLAY(W1Data : *NEXT)
D W1TITLE OVERLAY(W1Data : *NEXT)
D W1Field1 OVERLAY(W1Data : *NEXT)
D W1RadioF1 OVERLAY(W1Data : *NEXT)
D W1RadioF2 OVERLAY(W1Data : *NEXT)
D W1RadioF3 OVERLAY(W1Data : *NEXT)
D W1CheckF1 OVERLAY(W1Data : *NEXT)
D W1CheckF2 OVERLAY(W1Data : *NEXT)
D W1CheckF3 OVERLAY(W1Data : *NEXT)
**====================================================================*
** MAIN CALCULATIONS *
**====================================================================*
* Fill array with values.
C clear W1Array
C eval W1Line = c#StartingRow + 1
C eval W1Pos = c#StartingCol - 2
C for wCount = 1 to c#Windows
C eval W1Line = w1Line - 1
C eval W1Pos = w1Pos + 2
* Fill Fields:
C eval W1Field1 = 'John Doe, 1-999-888-5555'
C eval W1RadioF1 = 0
C eval W1RadioF2 = 1
C eval W1RadioF3 = 0
C eval W1CheckF1 = 1
C eval W1CheckF2 = 1
C eval W1CheckF3 = 0
C eval W1TITLE = 'Window @ ' + %char(W1Line)
C + ',' + %char(W1POS)
C + ', ' + %char(wCount)
C eval W1Array(wCount) = W1Data
C endfor
* Put up screen.
C write S1CMD2
C for wCount = 1 to c#Windows
C eval W1Data = W1Array(wCount)
C write WIN1
C endfor
C eval wCount = c#Windows
C read WIN1
C dou *inkc
C select
C when *in21 and
C W1LINE > (c#StartingRow - c#Windows + 1)
* Go up a window
C eval wCount = wCount + 1
C eval W1Data = W1Array(wCount)
C when *in22 and
C W1LINE < c#StartingRow
* Go down a window
C eval wCount = wCount - 1
C eval W1Data = W1Array(wCount)
C endsl
C exfmt WIN1
C enddo
* Exit.
C eval *inlr = *on
**====================================================================*
** END OF MAIN PROCEDURE *
**====================================================================*
|
|
|