home *** CD-ROM | disk | FTP | other *** search
- * ┌─────────────────────────────────────────────────────────────────────┐ *
- * │ INVSTOCK.PRG: INVENTORY LIST │ *
- * │ Copyright (c) 1989 Tech III, Inc. All rights reserved. │ *
- * │ Tech III of San Pedro, California (213) 547-2191. │ *
- * │ "The bridge connecting people and technology."(tm) │ *
- * └─────────────────────────────────────────────────────────────────────┘ *
- ACTIVATE WINDOW screensim
- @ 00,00 SAY WINTITLE(PROMPT())
-
- * FILE HANDLING
- SELECT items
- IF EOF()
- GO TOP
- ENDIF
-
- DEFINE POPUP itemlist FROM 10,20 PROMPT FIELD item
- ON SELECTION POPUP itemlist DEACTIVATE POPUP
-
- * INITIALIZE VARIABLES
- GO TOP
- STORE item TO start_item && First item
- GO BOTTOM
- STORE item TO end_item && Last item
- STORE 'PRINTER' TO output
- STORE .t. TO _box, _wrap, printing
- * Boxes, and word-wrapping ON.
- * Printing is a control variable to allow user to cancel the job.
-
- STORE SET('MEMOWIDTH') TO memocols && Save old setting
- SET MEMOWIDTH TO 40
-
- * DEFINITIONS
- ON ESCAPE STORE .f. TO printing
-
- * USER INPUT: SELECT RANGE TO PRINT
- @ 02,02 SAY 'Start with item #: ' GET start_item VALID GETFIRST(start_item)
- @ 04,02 SAY ' End with item #: ' GET end_item VALID GETLAST(end_item) ;
- RANGE start_item,
- @ 06,02 SAY ' Direct report to: PRINTER/SCREEN: ' ;
- GET output PICTURE '@M PRINTER,SCREEN '
- READ
-
- STORE .t. TO printing
- IF .NOT. YESNO("System is ready to run report.")
- STORE .f. TO printing
- ELSE
- IF output<> "SCREEN "
- IF .NOT. READY2PR()
- STORE .f. TO printing
- ENDIF
- ENDIF
- ENDIF
-
- SEEK start_item
-
- * PRINT REPORT
- IF printing
- CLEAR
- IF output = 'PRINTER'
- REPORT FORM invstock REST TO PRINT NOEJECT WHILE item <= end_item .AND. printing
- ELSE
- REPORT FORM invstock REST TO FILE report.txt NOEJECT ;
- WHILE item <= end_item .AND. printing
- SELECT 0
- USE system
- LOCATE FOR LABEL = 'INVSTOCK: '
- IF EOF()
- APPEND BLANK
- ELSE
- REPLACE NEXT 1 contents WITH ''
- ENDIF
- REPLACE LABEL WITH 'INVSTOCK: ' + DTOC(DATE())
- APPEND MEMO contents FROM report.txt
- MODIFY MEMO contents NOEDIT WINDOW reportview
- USE
- SELECT invoice
- ENDIF
- DO standby WITH 'Your report request has been completed.'
- ELSE
- DO standby WITH 'You have canceled this report.'
- ENDIF
- SET MEMOWIDTH TO memocols
- CLEAR
- DEACTIVATE WINDOW screensim
- RETURN
-
- FUNCTION getfirst
- PARAMETER an_item
- SEEK an_item
- DO WHILE .NOT. FOUND()
- keyboard LEFT(an_item,1)
- ACTIVATE POPUP itemlist
- STORE PROMPT() TO start_item
- SEEK start_item
- ENDDO
- RETURN .t.
-
- FUNCTION getlast
- PARAMETER an_item
- SEEK an_item
- DO WHILE .NOT. FOUND()
- SET FILTER TO item >= start_item
- keyboard LEFT(an_item,1)
- ACTIVATE POPUP itemlist
- STORE PROMPT() TO end_item
- SEEK end_item
- ENDDO
- SET FILTER TO
- RETURN .t.
-
- * EOF
-