home *** CD-ROM | disk | FTP | other *** search
- * Programma..........: NETNUM.FRG
- * Datum..............: 22-04-93
- * Versie.............: dBASE IV
- *
- * Notities:
- * --------
- * Alvorens u deze procedure met het DO-commando gaat uitvoeren
- * moet u LOCATE gebruiken, omdat de CONTINUE-
- * opdracht zich in de hoofdlus bevindt.
- *
- *-- Parameters
- PARAMETERS gl_noeject, gl_plain, gl_summary, gc_heading, gc_extra
- ** De eerste drie parameters zijn van het type logisch.
- ** De vierde parameter is een tekenreeks en de vijfde is een extra parameter.
- PRIVATE _peject, _wrap, ll_heading
- ll_heading=.F.
-
- *-- Testen op de aanwezigheid van records
- IF EOF() .OR. .NOT. FOUND()
- RETURN
- ENDIF
-
- *-- regelovergang uitschakelen
- _wrap=.F.
-
- IF _plength < 3
- SET DEVICE TO SCREEN
- DEFINE WINDOW gw_report FROM 7,17 TO 11,62 DOUBLE
- ACTIVATE WINDOW gw_report
- @ 0,1 SAY "Verhoog de paginalengte voor dit rapport."
- @ 2,1 SAY "Druk op een toets ..."
- x=INKEY(0)
- DEACTIVATE WINDOW gw_report
- RELEASE WINDOW gw_report
- RETURN
- ENDIF
-
- _plineno=0 && regels instellen op nul
- *-- NOEJECT parameter
- IF gl_noeject
- IF _peject="BEFORE"
- _peject="NONE"
- ENDIF
- IF _peject="BOTH"
- _peject="AFTER"
- ENDIF
- ENDIF
-
- *-- Instellen omgeving
- ON ESCAPE DO prnabort
- IF SET("TALK")="ON"
- SET TALK OFF
- gc_talk="ON"
- ELSE
- gc_talk="OFF"
- ENDIF
- gc_space=SET("SPACE")
- SET SPACE OFF
- gc_time=TIME() && systeemtijd opgegeven veld
- gd_date=DATE() && systeemdatum " " " "
- gl_fandl=.F. && vlag voor eerste en laatste pagina
- gl_prntflg=.T. && Doorgaan met het afdrukken van vlag
- gl_widow=.T. && vlag voor het controleren van weduwezones
- gn_length=LEN(gc_heading) && lengte van kopregel opslaan
- gn_level=2 && nummer van actieve pagina vastleggen
- gn_page=_pageno && actieve regelafstand bepalen
-
-
- *-- Initiatie van variabelen voor voetregelvelden van groep
- IF _pspacing > 1
- gn_atline=_plength - (_pspacing + 1)
- ELSE
- gn_atline=_plength - 2
- ENDIF
- ON PAGE AT LINE gn_atline EJECT PAGE
-
- *-- Afdrukken Report
-
- PRINTJOB
-
- *-- Initialisatie van variabelen voor groeponderbreking.
- r_msum1=0
-
- IF gl_plain
- ON PAGE AT LINE gn_atline DO Pgplain
- ELSE
- ON PAGE AT LINE gn_atline DO Pgfoot
- ENDIF
-
- DO Pghead
-
- gl_fandl=.T. && eerste pagina gestart
-
- DO Rintro
-
- *-- Bestandslus
- DO WHILE FOUND() .AND. .NOT. EOF() .AND. gl_prntflg
- DO Upd_Vars
- *-- Detailregels
- IF .NOT. gl_summary
- DO Detail
- ENDIF
- CONTINUE
- ENDDO
-
- IF gl_prntflg
- DO Rsumm
- IF _plineno <= gn_atline
- EJECT PAGE
- ENDIF
- ELSE
- DO Rsumm
- DO Reset
- RETURN
- ENDIF
-
- ON PAGE
-
- ENDPRINTJOB
-
- DO Reset
- RETURN
- * EOP: NETNUM.FRG
-
- *-- Update summary fields and/or calculated fields in the detail band.
- PROCEDURE Upd_Vars
- *-- Summary calculation - Count
- r_msum1=r_msum1+1
- RETURN
- * EOP: Upd_Vars
-
- *-- Set flag to get out of DO WHILE loop when escape is pressed.
- PROCEDURE prnabort
- gl_prntflg=.F.
- RETURN
- * EOP: prnabort
-
- PROCEDURE Pghead
- *-- Print HEADING parameter ie. REPORT FORM <name> HEADING <expC>
- IF .NOT. gl_plain .AND. gn_length > 0
- ?? gc_heading FUNCTION "I;V"+LTRIM(STR(_rmargin-_lmargin))
- ?
- ENDIF
- RETURN
- * EOP: Pghead
-
- PROCEDURE Rintro
- ?? "Plaats" STYLE "B" AT 15,
- ?? "Kengetal" STYLE "B" AT 47
- ?
- RETURN
- * EOP: Rintro
-
- PROCEDURE Detail
- ?? WOONPLAATS FUNCTION "T" AT 15,
- ?? KENGETAL FUNCTION "T" AT 47,
- ?? IIF(deleted(),"Gewist","") FUNCTION "T" PICTURE "XXXXXXXXXX" AT 56
- ?
- RETURN
- * EOP: Detail
-
- PROCEDURE Rsumm
- ?
- ?? "----------" AT 16
- ?
- ?? "Aantal records: " AT 0,
- ?? r_msum1 FUNCTION "I" PICTURE "9999999"
- ?
- gl_fandl=.F. && last page finished
- ?
- RETURN
- * EOP: Rsumm
-
- PROCEDURE Pgfoot
- PRIVATE _box
- gl_widow=.F. && disable widow checking
- ?
- IF .NOT. gl_plain
- ENDIF
- EJECT PAGE
- *-- is the page number greater than the ending page
- IF _pageno > _pepage
- GOTO BOTTOM
- SKIP
- gn_level=0
- ENDIF
- IF .NOT. gl_plain .AND. gl_fandl
- DO Pghead
- ENDIF
- gl_widow=.T. && enable widow checking
- RETURN
- * EOP: Pgfoot
-
- *-- Process page break when PLAIN option is used.
- PROCEDURE Pgplain
- PRIVATE _box
- EJECT PAGE
- RETURN
- * EOP: Pgplain
-
- *-- Reset dBASE environment prior to calling report
- PROCEDURE Reset
- SET SPACE &gc_space.
- SET TALK &gc_talk.
- ON ESCAPE
- ON PAGE
- RETURN
- * EOP: Reset
-