home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DBAPG.ARC / LABELS.PRG < prev    next >
Text File  |  1984-08-12  |  3KB  |  110 lines

  1. * Program.: LABELS.PRG
  2. * Author..: Luis A. Castro
  3. * Date....: 9/15/82, 12/14/83
  4. * Notice..: Copyright 1982 & 1983, Luis A. Castro, All Rights Reserved
  5. * Version.: dBASE II, version 2.4x
  6. * Notes...: Prints multi-column mailing labels.
  7. *
  8. SET TALK OFF
  9. SET BELL OFF
  10. SET COLON OFF
  11. * ---Initialize memory variables.
  12. STORE $(STR(0,133),1,132) TO blank,line1,line2,line3,line4
  13. STORE 1 TO uptotal
  14. STORE " " TO select
  15. STORE 30 TO upwidth
  16. STORE "Y" TO printer
  17. * ---Initialize macros.
  18. STORE [TRIM(City)+", "+TRIM(State)+"  "+TRIM(Zip)] TO Macro
  19. STORE [line1+$(blank,1,upcount*upwidth-LEN(line1))] TO Mline1 
  20. STORE [line2+$(blank,1,upcount*upwidth-LEN(line2))] TO Mline2
  21. STORE [line3+$(blank,1,upcount*upwidth-LEN(line3))] TO Mline3
  22. STORE [line4+$(blank,1,upcount*upwidth-LEN(line4))] TO Mline4
  23. * ---Display heading and enter parameters.
  24. ERASE
  25. @ 2, 0 SAY "P R I N T    M A I L I N G    L A B E L S"
  26. @ 2,72 SAY DATE()
  27. @ 3, 0 SAY "========================================"
  28. @ 3,40 SAY "========================================"
  29. @ 5, 0 SAY "Enter number of labels to go across ";
  30.        GET uptotal PICTURE "9"
  31. READ
  32. * ---Test for uptotal values.
  33. DO CASE
  34.    CASE uptotal = 0
  35.       RETURN
  36.    CASE uptotal > 4
  37.       STORE 4 TO uptotal
  38. ENDCASE
  39. * ---Output to the screen or printer.
  40. @ 7,0 SAY "Output to the printer? [Y/N] " GET printer PICTURE "!"
  41. READ
  42. @ 8,0 SAY "Press <RETURN> to begin printing " GET select
  43. READ
  44. IF printer = "Y"
  45.    SET CONSOLE OFF
  46.    SET PRINT ON
  47. ELSE
  48.    ERASE
  49. ENDIF
  50. * ---Open the datafile and begin printing labels.
  51. USE Names
  52. DO WHILE .NOT. EOF
  53.    *
  54.    * ---Store first column to output lines.
  55.    STORE TRIM(Name) TO line1
  56.    IF Company = " "
  57.       STORE TRIM(Address) TO line2
  58.       STORE &Macro TO line3
  59.       STORE " " TO line4
  60.    ELSE
  61.       STORE TRIM(Company) TO line2
  62.       STORE TRIM(Address) TO line3
  63.       STORE &Macro TO line4
  64.    ENDIF
  65.    *
  66.    * ---Store rest of columns to output lines.
  67.    IF uptotal > 1
  68.       SKIP
  69.    ENDIF
  70.    STORE 1 TO upcount
  71.    DO WHILE .NOT. EOF .AND. upcount < uptotal
  72.       STORE &Mline1+TRIM(Name) TO line1
  73.       IF Company = " "
  74.          STORE &Mline2+TRIM(Address) TO line2
  75.          STORE &Mline3+&Macro TO line3
  76.       ELSE
  77.          STORE &Mline2+TRIM(Company) TO line2
  78.          STORE &Mline3+TRIM(Address) TO line3
  79.          STORE &Mline4+&Macro TO line4
  80.       ENDIF
  81.       STORE upcount+1 TO upcount
  82.       IF upcount < uptotal
  83.          SKIP
  84.       ENDIF
  85.    ENDDO while .not.eof.and.upcount<uptotal
  86.    *
  87.    * ---Print the contents of memvars line1,...,line4.
  88.    ? line1
  89.    ? line2
  90.    ? line3
  91.    ? line4
  92.    ?
  93.    ?
  94.    *
  95.    SKIP
  96. ENDDO while .not. eof
  97. *
  98. IF printer = "Y"
  99.    SET PRINT OFF
  100.    SET CONSOLE ON
  101. ENDIF
  102. ?
  103. ? "THAT'S ALL FOLKS..."
  104. SET COLON ON
  105. SET BELL ON
  106. SET TALK ON
  107. CLEAR
  108. RETURN
  109. * EOF: LABELS.PRG
  110.