home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug084.arc / DBLINES.TXT < prev    next >
Text File  |  1979-12-31  |  2KB  |  78 lines

  1. HERE IS A DBASE COMMAND TO BREAK UP A LARGE FIELD INTO LINES OF
  2. WHATEVER LENGTH YOU WANT - SAY THE FIELD IS 240 CHARACTERS,
  3. YOU WOULD PUT SEMICOLONS IN THE FILE TO MAKE THE PRINTER DO 
  4. LINES OF A REASONABLE SIZE, BUT IF THE INFORMATION DOES NOT HAVE 
  5. SEMICOLON╙á I╬á I╘á THE╬ THI╙ I╙ ┴ WA┘ O╞ PRINTIN╟ I╘á INT╧á SUC╚ 
  6. LINES.   BY BRIAN BELL OF GLENBROOK N.S.W WRITTEN MARCH 1986
  7.  
  8. MODIFY COMMAND DISPLAY.
  9.  
  10. USE (FILENAME)
  11. ERAS
  12. SET TALK OFF
  13. * SET UP LINE WIDTH REQUIRED
  14. STOR '   ' TO L
  15. @ 3,5 SAY'LINE WIDTH'GET L
  16. ? CHR(7)
  17. SET BELL OFF
  18. READ NOUP
  19. SET BELL ON
  20. * SET UP LOOP TO PRINT ITEMS IN ANY ORDER YOU WANT
  21. DO WHIL T
  22. ERAS
  23. * SET UP A VARIABLE TO GET TO THE RIGHT POSITION
  24. STOR '   ' TO B
  25. @ 5,5 SAY 'NUMBER - ZERO TO QUIT'GET B
  26. ?? CHR(7)
  27. SET BELL OFF
  28. READ NOUP
  29. SET BELL ON
  30. IF B = '0'
  31. SET TALK ON
  32. RETU
  33. ENDI
  34. GOTO RECO &B
  35. * RECORD THE LENGTH OF THE TRIMMED FIELD
  36.   STOR LEN(TRIM(FIELDNAME)) TO LT
  37. * SET UP VARIABLE TO RECORD HOW MUCH IS LEFT TO PRINT
  38.   STOR LT TO LN
  39. * SET UP A (FLOATING) START POSITION
  40.   STOR 1 TO LG
  41. * TAKE CARE OF INDENTATION OCCURING ON LINES AFTER LINE 1
  42.   STOR 0 TO LINE1
  43. * SET UP END OF NEXT LINE VARIABLE
  44.   STOR 0 TO LH
  45. * MAKE IT PRINT UNTIL FIELD IS ALL PRINTED
  46.  
  47.   DO WHIL  LN > 1
  48. * ADD MAXIMUM LINE WIDTH TO STARTING POSITION VARIABLE
  49.   STOR &L+LH TO LH
  50. * TAKE CARE OF CASES OF FULL FIELDS
  51.    IF LH >= 250
  52.    ? $(FIELDNAME,LG,251-LG)
  53.    STOR 0 TO LN
  54.    LOOP
  55.    ENDIFè* TAKE CARE OF LENGTH AND MAKE IT ALL FULL WORDS
  56.    DO WHIL $(FIELDNAME,LH,1)#' '
  57.    STOR LH-1 TO LH
  58.    ENDD
  59. * TAKE CARE OF INDENTATION
  60.   IF LINE1<1
  61.   SET RAW ON
  62.   ? ' '
  63.   SET RAW OFF
  64.   ELSE
  65.   ?
  66.   ENDIF
  67. * PRINT A LINE AND SET VARIABLES FOR NEXT LINE
  68.   ?? $(FIELDNAME,LG,LH-LG)
  69.   STOR 1+LINE1 TO LINE1
  70.   STOR LN-(LH-LG) TO LN
  71.   STOR LH TO LG
  72.   ENDD
  73. * PUT A WAIT OPTION HERE IF REQUIRED
  74. WAIT
  75. ENDD DISPLAY
  76.  
  77. CONTROL W   TO SAVE THE FILE   DO DISPLAY TO RUN IT......
  78.