home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib32a.dsk / SEPTEMBER.1987 / CREATE.SHAPES.bas next >
BASIC Source File  |  2023-02-26  |  4KB  |  89 lines

  1. 1  REM **********************
  2. 2  REM *   CREATE.SHAPES    *
  3. 3  REM *  BY JOHN BELTRAMI  *
  4. 4  REM * COPYRIGHT (C) 1987 *
  5. 5  REM * BY MICROSPARC, INC *
  6. 6  REM * CONCORD, MA  01742 *
  7. 7  REM **********************
  8. 10  REM  CREATE SHAPES
  9. 20 D$ =  CHR$(4)
  10. 30 E$ = ".SHP"
  11. 40  TEXT : HOME : VTAB 2: PRINT "CREATE SHAPES BY JOHN BELTRAMI": PRINT "COPYRIGHT 1987 BY MICROSPARC, INC."
  12. 50  VTAB 10: HTAB 5: PRINT "THIS PROGRAM CREATES SEVERAL TEXT"
  13. 60  VTAB 12: HTAB 5: PRINT "FILES THAT CONTAIN SAMPLE SHAPES."
  14. 70  VTAB 14: HTAB 5: PRINT "PARAMETERS ARE EXPRESSED IN DATA"
  15. 80  VTAB 16: HTAB 5: PRINT "STATEMENTS AND WRITTEN OUT TO TEXT"
  16. 90  VTAB 18: HTAB 5: PRINT "FILES WITH '.SHP' SUFFIXES."
  17. 100  VTAB 21: HTAB 5: PRINT "DO YOU WANT TO CONTINUE ?";: GET Y$: PRINT Y$
  18. 110  IF (Y$ < > CHR$(89))  AND (Y$ < > CHR$(121))  THEN  PRINT  CHR$(7): PRINT : PRINT "---- NO FILES AFFECTED ----": END 
  19. 120  HOME : VTAB 10: HTAB 5: PRINT "PLEASE STAND BY AS THE SHAPE"
  20. 130  VTAB 12: HTAB 5: PRINT "FILES ARE CREATED"
  21. 140  REM  DATA STRUCTURE
  22. 150  REM  1) 48 LINES OF DATA
  23. 160  REM  2) 6 DATA POINTS PER LINE
  24. 170  REM  3) NAME OF SHAPE FILE
  25. 180  REM     PRECEDES DATA
  26. 190  REM  4) DUMMY FILE NAME
  27. 200  REM     (END) MUST FOLLOW 
  28. 210  REM     LAST DATA SET
  29. 220  ONERR  GOTO 730: REM  START PROCESSING
  30. 230  READ N$
  31. 240  IF N$ = "END"  THEN  PRINT : PRINT "<DONE>": END 
  32. 250 N$ = N$ +E$
  33. 260  PRINT D$;"OPEN ";N$
  34. 270  PRINT D$;"CLOSE ";N$
  35. 280  PRINT D$;"DELETE ";N$
  36. 290  PRINT D$;"OPEN ";N$
  37. 300  PRINT D$;"WRITE ";N$
  38. 310  FOR I = 1 TO 48
  39. 320  FOR J = 1 TO 6
  40. 330  READ K
  41. 340  PRINT K
  42. 350  NEXT J
  43. 360  NEXT I
  44. 370  PRINT D$;"CLOSE ";N$
  45. 380  PRINT D$
  46. 390  PRINT : PRINT "FILE: ";N$;" CREATED": PRINT 
  47. 400  GOTO 230
  48. 410  DATA  LINCOLN
  49. 420  DATA  0,0,0,0,0,0,35,6,0,0,0,0,30,17,0,0,0,0,29,20,0,0,0,0
  50. 430  DATA  27,25,0,0,0,0,26,29,0,0,0,0,27,29,0,0,0,0,26,32,0,0,0,0
  51. 440  DATA  28,31,0,0,0,0,27,34,0,0,0,0,26,35,0,0,0,0,25,37,0,0,0,0
  52. 450  DATA  25,37,0,0,0,0,24,39,0,0,0,0,24,39,0,0,0,0,23,40,0,0,0,0
  53. 460  DATA  23,40,0,0,0,0,22,41,0,0,0,0,22,41,0,0,0,0,23,39,0,0,0,0
  54. 470  DATA  22,40,0,0,0,0,21,41,0,0,0,0,20,42,0,0,0,0,19,42,0,0,0,0
  55. 480  DATA  18,43,0,0,0,0,18,43,0,0,0,0,17,44,0,0,0,0,18,42,0,0,0,0
  56. 490  DATA  21,39,0,0,0,0,21,38,0,0,0,0,21,38,0,0,0,0,21,37,0,0,0,0
  57. 500  DATA  21,36,0,0,0,0,22,34,0,0,0,0,22,32,1,1,0,0,22,32,0,0,0,0
  58. 510  DATA  21,33,0,0,0,0,21,33,0,0,0,0,21,33,0,0,0,0,22,33,0,0,0,0
  59. 520  DATA  24,5,3,24,0,0,33,23,0,0,0,0,34,23,0,0,0,0,35,22,0,0,0,0
  60. 530  DATA  35,23,0,0,0,0,35,23,0,0,0,0,29,30,0,0,0,0,29,31,0,0,0,0
  61. 540  DATA  QUESTION
  62. 550  DATA  20,40,0,0,0,0,20,40,0,0,0,0,20,40,0,0,0,0,20,40,0,0,0,0
  63. 560  DATA  20,40,0,0,0,0,20,40,0,0,0,0,20,40,0,0,0,0,20,40,0,0,0,0
  64. 570  DATA  20,10,20,10,0,0,20,10,20,10,0,0,20,10,20,10,0,0,20,10,20,10,0,0
  65. 580  DATA  20,10,20,10,0,0,20,10,20,10,0,0,20,10,20,10,0,0,20,10,20,10,0,0
  66. 590  DATA  50,10,0,0,0,0,50,10,0,0,0,0,50,10,0,0,0,0,50,10,0,0,0,0
  67. 600  DATA  50,10,0,0,0,0,50,10,0,0,0,0,35,25,0,0,0,0,35,25,0,0,0,0
  68. 610  DATA  35,25,0,0,0,0,35,25,0,0,0,0,35,25,0,0,0,0,35,25,0,0,0,0
  69. 620  DATA  35,25,0,0,0,0,35,25,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0
  70. 630  DATA  35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0
  71. 640  DATA  35,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  72. 650  DATA  35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0
  73. 660  DATA  35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0,35,10,0,0,0,0
  74. 670  REM  ***********************
  75. 680  REM  THIS MUST BE THE 
  76. 690  REM  LAST DATA STATEMENT
  77. 700  REM  IN THIS PROGRAM:
  78. 710  DATA  "END"
  79. 720  REM  ***********************
  80. 730 E =  PEEK(222):EL =  PEEK(218) +256 * PEEK(219): POKE 216,0: CALL  -3288: PRINT D$"CLOSE"
  81. 740  IF E = 3  THEN A$ = "NO DEVICE CONNECTED": GOTO 800
  82. 750  IF E = 4  THEN A$ = "DISK IS WRITE-PROTECTED": GOTO 800
  83. 760  IF E = 8  THEN A$ = "I/O ERROR--CHECK DRIVE DOOR": GOTO 800
  84. 770  IF E = 16  THEN A$ = "SYNTAX ERROR--CHECK DATA STATEMENTS": GOTO 800
  85. 780  IF E = 42  THEN A$ = "OUT OF DATA--CHECK DATA STATEMENTS": GOTO 800
  86. 790 A$ = "ERROR " + STR$(E) +" IN LINE " + STR$(EL)
  87. 800  HOME : VTAB 12: PRINT A$: IF E = 3  OR E = 4  OR E = 8  THEN  PRINT "RETURN TO TRY AGAIN, ";
  88. 810  PRINT "ESC TO QUIT";: GET Z$: PRINT : ON Z$ =  CHR$(27) GOTO 820: IF E = 3  OR E = 4  OR E = 8  THEN  HOME : RESTORE : GOTO 220
  89. 820  END