home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / CL86_123.ZIP / EDITGEN.PRG < prev    next >
Encoding:
Text File  |  1987-02-26  |  1.9 KB  |  66 lines

  1. ********************************************************************************
  2. * EDITGEN.PRG
  3. *
  4. * This program generates a database (EDITGEN) which contains lines
  5. * of code to replace the loading of 4-way array values, then outputs
  6. * it to a file for inclusion in compiles
  7. *
  8. * MAINTENANCE HISTORY
  9. *
  10. * 08/20/86  MST  ORIGINAL PROGRAM
  11. * 08/26/86  rvh  Converted to CONV.C calls to increase speed, decrease file size
  12. ********************************************************************************
  13. CLEAR
  14. @ 1, 1 SAY 'PHOENIX SYSTEMS CODE GENERATOR'
  15. @ 2, 1 SAY '4-WAY EDITING ARRAY VALUE CODE'
  16.  
  17. @ 5, 1 SAY 'CREATING FILE BLIPGEN.PRG...'
  18.  
  19. USE BLIPEDIT
  20. END    = CHR(10)
  21. RESULT = 0
  22. CALL CONV_INIT WITH 'BLIPGEN.PRG', 'W', RESULT
  23.  
  24. CALL CONV_WRITE WITH '* Copyright (c) ' + str(year(date()), 4) + ' by Phoenix Systems, Inc.' + END
  25. CALL CONV_WRITE WITH 'PROCEDURE BLIP_GEN' + END
  26. CALL CONV_WRITE WITH END
  27.  
  28. MID1 = "] = '"
  29. END1 = "'" + END
  30. MID2 = '] = '
  31. TOTL = LASTREC()
  32. DO CASE
  33. CASE TOTL < 10
  34.     L = 1
  35. CASE TOTL < 100
  36.     L = 2
  37. CASE TOTL < 1000
  38.     L = 3
  39. CASE TOTL < 10000
  40.     L = 4
  41. CASE TOTL < 100000
  42.     L = 5
  43. ENDCASE
  44.  
  45. @ 7, 1 SAY '# OF FIELDS: ' + STR(TOTL, L)
  46. @ 9, 1 SAY ' GENERATING: '
  47. DO WHILE .NOT. EOF()
  48.      NUM = STR(RECNO(), L)
  49.     TMP1 = NUM + MID1
  50.     TMP2 = NUM + MID2
  51.     @ 9, 14 SAY NUM
  52.     LINE =          '  VAR [' + TMP1 + TRIM(VAR)     + END1
  53.     LINE = LINE + '  ROW [' + TMP2 + STR(ROW, L)   + END
  54.     LINE = LINE + '  COL [' + TMP2 + STR(COL, L)   + END
  55.     LINE = LINE + '  PIC [' + TMP1 + TRIM(PIC)     + END1
  56.     LINE = LINE + '   UP [' + TMP2 + STR(UP, L)    + END
  57.     LINE = LINE + ' DOWN [' + TMP2 + STR(DOWN, L)  + END
  58.     LINE = LINE + ' LEFT [' + TMP2 + STR(LEFT, L)  + END
  59.     LINE = LINE + 'RIGHT [' + TMP2 + STR(RIGHT, L) + END
  60.     CALL CONV_WRITE WITH LINE
  61.     SKIP
  62. ENDDO
  63. CALL CONV_WRITE WITH CHR(26)  && EOF
  64. CALL CONV_END
  65. RETURN
  66.