home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a070 / 3.ddi / FOXPRO / SAMPLE / SALESREG.PRG < prev    next >
Encoding:
Text File  |  1989-11-09  |  2.5 KB  |  111 lines

  1. * ┌─────────────────────────────────────────────────────────────────────┐ *
  2. * │  SALESREG.PRG: INVOICE REGISTER                                     │ *
  3. * │  Copyright (c) 1989 Tech III, Inc. All rights reserved.             │ *
  4. * │  Tech III of San Pedro, California      (213) 547-2191.             │ *
  5. * │  "The bridge connecting people and technology."(tm)                 │ *
  6. * └─────────────────────────────────────────────────────────────────────┘ *
  7. @ 00,00 SAY WINTITLE(PROMPT())
  8.  
  9. SELECT invoice
  10. STORE RECNO() TO curr_rec
  11. SET ORDER TO inv_inv
  12.  
  13. * INITIALIZE VARIABLES
  14. STORE .t. TO printing
  15. STORE invoice TO startno, endno
  16. STORE 'PRINTER' TO output
  17.  
  18. * DEFINITIONS
  19. ON ESCAPE STORE .f. TO printing
  20.  
  21. * USER INPUT: SELECT INVOICE RANGE TO PRINT
  22. @ 02,02 SAY 'Begin printing with invoice number: ' ;
  23. GET startno ;
  24. PICTURE '99999' ;
  25. VALID GETFIRST()
  26.  
  27. @ 04,02 SAY 'Stop printing after invoice number: ' ;
  28. GET endno ;
  29. PICTURE '99999' ;
  30. RANGE startno,99999 ;
  31. VALID GETLAST()
  32.  
  33. @ 06,02 SAY '  Direct report to: PRINTER/SCREEN: ' ;
  34. GET output PICTURE '@M PRINTER,SCREEN '
  35. READ
  36.  
  37. STORE .t. TO printing
  38. IF .NOT. YESNO("System is ready to run report.")
  39.   STORE .f. TO printing
  40. ELSE
  41.   IF output<> "SCREEN "
  42.     IF .NOT. READY2PR()
  43.       STORE .f. TO printing
  44.     ENDIF
  45.   ENDIF
  46. ENDIF
  47.  
  48. SEEK startno
  49.  
  50. * START PRINTING
  51. IF printing
  52.   CLEAR
  53.   IF output = 'PRINTER'
  54.     REPORT FORM salesreg NOEJECT TO PRINT REST WHILE invoice <= endno
  55.   ELSE
  56.     REPORT FORM salesreg TO FILE report.txt NOEJECT REST WHILE invoice <= endno
  57.     SELECT 0
  58.     USE system
  59.     LOCATE FOR LABEL = 'SALESREG: '
  60.     IF EOF()
  61.       APPEND BLANK
  62.     ELSE
  63.       REPLACE NEXT 1 contents WITH ''
  64.     ENDIF
  65.     REPLACE LABEL WITH 'SALESREG: '  + DTOC(DATE())
  66.     APPEND MEMO contents FROM report.txt
  67.     MODIFY MEMO contents NOEDIT WINDOW reportview
  68.     USE
  69.     SELECT invoice
  70.   ENDIF
  71.   DO standby WITH 'Your report request has been completed.'
  72. ELSE
  73.   DO standby WITH 'You have canceled the report.'
  74. ENDIF
  75. ON ESCAPE
  76. RETURN
  77.  
  78. FUNCTION getfirst
  79.   SET NEAR ON
  80.   SEEK startno
  81.   IF FOUND()
  82.     SET NEAR OFF
  83.     RETURN .t.
  84.   ELSE
  85.     DO standby WITH "That invoice isn't on file."
  86.     IF EOF()
  87.       GO TOP
  88.     ENDIF
  89.     STORE invoice TO startno
  90.     SET NEAR OFF
  91.     RETURN .f.
  92.   ENDIF
  93.   
  94. FUNCTION getlast
  95.   SET NEAR ON
  96.   SEEK endno
  97.   IF FOUND()
  98.     SET NEAR OFF
  99.     RETURN .t.
  100.   ELSE
  101.     DO standby WITH "That invoice isn't on file."
  102.     IF EOF()
  103.       GO TOP
  104.     ENDIF
  105.     STORE invoice TO endno
  106.     SET NEAR OFF
  107.     RETURN .f.
  108.   ENDIF
  109.   
  110.   * EOF
  111.