home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
clarion
/
tkmengen.zip
/
PRINT.CLA
< prev
next >
Wrap
Text File
|
1989-08-24
|
3KB
|
103 lines
MEMBER('MAKEMENU')
PRINTING PROCEDURE
TITLE REPORT LENGTH(59),WIDTH(80),PRE(TTL)
RPT_HEAD DETAIL
. .
REPORT REPORT LENGTH(59),WIDTH(80),PAGE(MEM:PAGE),LINE(MEM:LINE) |
PRE(RPT)
PAGE_HEAD HEADER
COL(31) STRING('MENU DATA DESTAILS') CTL(@LF)
.
GRP_HEAD DETAIL
COL(1) STRING('={80}')
ROW(+1,1) STRING('MAIN MENU TITLE :')
COL(22) STRING(25),USE(SAV:MAINMENU)
ROW(+1,1) STRING('MAIN MENU DESCRIPTION :')
ROW(+1,1) STRING(80),USE(MEN:MDESC)
ROW(+1,1) STRING('-{79}') CTL(@LF)
.
DETAIL DETAIL
COL(1) STRING('SUB MENU TITLE :')
COL(19) STRING(25),USE(PRT:SUBMENU)
COL(36) STRING('PROCEDURE :')
COL(49) STRING(14),USE(PRT:SUBPROC)
ROW(+1,1) STRING('SUB MENU DERSCRIPTION :')
ROW(+1,1) STRING(80),USE(PRT:SDESC) CTL(@LF2)
.
GRP_FOOT DETAIL
.
PAGE_FOOT FOOTER
.
RPT_FOOT DETAIL
. .
GROUP,PRE(SAV)
MAINMENU STRING(10)
.
GROUP, PRE(PRT)
SUBMENU STRING(10)
SDESC STRING(80)
SUBPROC STRING(15)
end
CODE
IF s8DFName ='' THEN
SHOW(2,1,'You must first design your menu details ........')
BEEP(400,30)
BEEP(200,50)
BEEP(300,20)
BEEP(550,50)
BEEP(250,150)
RETURN
END
DONE# = 0 !TURN OFF DONE FLAG
CLEAR(MEN:RECORD) !MAKE SURE RECORD CLEARED
PRINT(TTL:RPT_HEAD) !PRINT TITLE PAGE
CLOSE(TITLE) !CLOSE TITLE REPORT
SET(MEN:MENU) !SET TO FIRST RECORD
DO NEXT_RECORD !READ FIRST RECORD
OPEN(REPORT) !OPEN THE REPORT
LOOP UNTIL DONE# !READ ALL RECORDS IN FILE
SAV:MAINMENU = MEN:MAINMENU !SAVE BREAK FIELD
PRINT(RPT:GRP_HEAD) ! PRINT GROUP HEADER
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
LOOP UNTIL DONE# ! READ ALL RECORDS IN GROUP
LOOP I#=1 TO 15
IF MEN:SUBMENU[I#]='' THEN CYCLE .
prt:SUBMENU=MEN:SUBMENU[I#]
prt:SDESC = MEN:SDESC[I#]
prt:SUBPROC= MEN:SUBPROC[I#]
SAVE_LINE# = MEM:LINE ! SAVE LINE NUMBER
PRINT(RPT:DETAIL) ! PRINT DETAIL LINES
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
END
DO NEXT_RECORD ! GET NEXT RECORD
IF MEN:MAINMENU <> SAV:MAINMENU THEN BREAK.!BREAK ON NEW GROUP
. !
PRINT(RPT:GRP_FOOT) ! PRINT GROUP FOOTER
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
. !
PRINT(RPT:RPT_FOOT) !PRINT GRAND TOTALS
DO CHECK_PAGE ! DO PAGE BREAK IF NEEDED
CLOSE(REPORT) !CLOSE REPORT
RETURN !RETURN TO CALLER
NEXT_RECORD ROUTINE !GET NEXT RECORD
LOOP UNTIL EOF(MENU) ! READ UNTIL END OF FILE
NEXT(MENU) ! READ NEXT RECORD
EXIT ! EXIT THE ROUTINE
. !
DONE# = 1 ! ON EOF, SET DONE FLAG
CHECK_PAGE ROUTINE !CHECK FOR NEW PAGE
IF MEM:LINE <= SAVE_LINE# ! ON PAGE OVERFLOW
.