home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / bc_sf / sf-start.bas < prev    next >
Encoding:
BASIC Source File  |  1987-05-02  |  12.8 KB  |  241 lines

  1. 10 REM Filename:   SF-START
  2. 20     K$="Copyright Frederick G. Volking 1986"
  3. 30     K$="6891 gnikloV .G kcirederF thgirypoC"
  4. 40     KEY OFF : CLS : GOSUB 1670
  5. 50     GOSUB 1790
  6. 60 REM display main menu screen
  7. 70     CLS : IF CLR%=1 THEN COLOR CLR1%
  8. 80     PRINT "╔═════════════════════════════════════════════════════════════════════════════╗"
  9. 90     PRINT "║                                                                             ║"
  10. 100    IF CLR%=1 THEN COLOR CLR4%
  11. 110    LOCATE 2,2 : PRINT " BasiCoder-SF(tm)  Copyright Frederick G. Volking 1985,1986,1987  Ver: 2.5.4"
  12. 120    IF CLR%=1 THEN COLOR CLR1%
  13. 130    PRINT "╚═════════════════════════════════════════════════════════════════════════════╝"
  14. 140    IF CLR%=1 THEN COLOR CLR7%
  15. 150    PRINT "BASICODER-SF(tm) Production Version. This is copyrighted material. Federal law"
  16. 160    PRINT "and International Treaty provide criminal penalties for copyright infringement."
  17. 170    IF CLR%=1 THEN COLOR CLR3%
  18. 180    PRINT STRING$(79,196)
  19. 190    PRINT "   BasiCoder-SF is a Program Generator for Simple data Files .............."
  20. 200    PRINT ""
  21. 210    PRINT "   This means that all you need do, is answer a few easy questions ....."
  22. 220    PRINT ""
  23. 230    PRINT "   Then tell BasiCoder to GO-TO-WORK! .........."
  24. 240    PRINT "                 ....... and BasiCoder will write the ENTIRE program FOR YOU!"
  25. 250    PRINT
  26. 260    PRINT "   When BasiCoder is finished, you will have a very sophisticated, commercial"
  27. 270    PRINT "   quality program, customized to your every need, completely ready to run,"
  28. 280    PRINT "   absolutely BUG-FREE, instantly ready for your data. Plus your new program"
  29. 290    PRINT "   is written in the easy to understand language of BASIC!"
  30. 300    PRINT ""
  31. 310    PRINT "   Load your BASIC interpreter with your program and you're off and running!"
  32. 320    PRINT "   -or- Use almost any BASIC COMPILER on your new program and it's ready to "
  33. 330    PRINT "   run with all the speed and power of a machine language program!"
  34. 340    IF CLR%=1 THEN COLOR CLR1%
  35. 350    LOCATE 23,1 : PRINT "───────────────────────────────────────────────────────────────────────────────"
  36. 360    IF CLR%=1 THEN COLOR CLR0%
  37. 370    LOCATE 24,1 : PRINT "   Choice:        ";: IF CLR%=1 THEN COLOR CLR2%
  38. 380    PRINT "1.";: IF CLR%=1 THEN COLOR CLR6%
  39. 390    PRINT "Before you begin you need to know     ";:IF CLR%=1 THEN COLOR CLR2%
  40. 400    PRINT "2.";: IF CLR%=1 THEN COLOR CLR6%
  41. 410    PRINT "Technical Info";: IF CLR%=1 THEN COLOR CLR2%
  42. 420    LOCATE 25,1 : PRINT "   <ESC>"; : IF CLR%=1 THEN COLOR CLR6%
  43. 430    PRINT "=Quit     "; : IF CLR%=1 THEN COLOR CLR2%
  44. 440    PRINT "3."; : IF CLR%=1 THEN COLOR CLR6%
  45. 450    PRINT "Start BasiCoder      "; : IF CLR%=1 THEN COLOR CLR2%
  46. 460    IF CLR%=1 THEN COLOR CLR0%
  47. 470    LOCATE 24,12,1,0,7
  48. 480    K$=INKEY$ : IF K$="" THEN GOTO 480
  49. 490    IF K$=CHR$(27) THEN CLS : END
  50. 500    IF K$="1" THEN GOTO 590
  51. 510    IF K$="2" THEN GOTO 1020
  52. 520    IF K$="3" THEN CLS : GOSUB 1670 :CLEAR : CHAIN "SF-FACTS"
  53. 530    SOUND 50,3 : GOTO 480
  54. 540  REM erase screen text area
  55. 550      FOR C%=4 TO 22
  56. 560        LOCATE C%,1 : PRINT SPACE$(79);
  57. 570        NEXT
  58. 580      RETURN
  59. 590 REM before you begin you need to know
  60. 600 IF CLR%=1 THEN COLOR CLR0%
  61. 610 LOCATE 24,21
  62. 620 PRINT "BEFORE YOU BEGIN YOU NEED TO KNOW";
  63. 630 GOSUB 540
  64. 640   IF CLR%=1 THEN COLOR CLR7%
  65. 650 LOCATE  5,1 : PRINT "   <F1> ";: IF CLR%=1 THEN COLOR CLR3%
  66. 660 PRINT "- Help! A very important key. Once BasiCoder is started and you get";
  67. 670 LOCATE  6,1 : PRINT "          stuck on what to do next or you are confused about what is";
  68. 680 LOCATE  7,1 : PRINT "          required, simply touch the "; : IF CLR%=1 THEN COLOR CLR7%
  69. 690 PRINT "<F1>"; : IF CLR%=1 THEN COLOR CLR3%
  70. 700 PRINT " key. A window will open and";
  71. 710 LOCATE  8,1 : PRINT "          helpful information about exactly what you are currently doing";
  72. 720 LOCATE  9,1 : PRINT "          will appear."; : IF CLR%=1 THEN COLOR CLR7%
  73. 730 LOCATE 11,1 : PRINT "  <ESC> "; : IF CLR%=1 THEN COLOR CLR3%
  74. 740 PRINT "- The Panic Button. Anytime you get in the middle of an operation";
  75. 750 LOCATE 12,1 : PRINT "          (which you didn't really want), just touch the ";:IF CLR%=1 THEN COLOR CLR7%
  76. 760 PRINT "<ESC> "; : IF CLR%=1 THEN COLOR CLR3%
  77. 770 PRINT "key. If";
  78. 780 LOCATE 13,1 : PRINT "          possible, BasiCoder will back-up and allow you a second chance.";
  79. 790 IF CLR%=1 THEN COLOR CLR7%
  80. 800 LOCATE 15,1 : PRINT " <BkSp> "; : IF CLR%=1 THEN COLOR CLR3%
  81. 810 PRINT "- Magic Retrieval. When you're asked a question or you're supposed";
  82. 820 LOCATE 16,1 : PRINT "          to enter data into a field BasiCoder will always try to give you";
  83. 830 LOCATE 17,1 : PRINT "          a default value. If you begin typing your answer the default will";
  84. 840 LOCATE 18,1 : PRINT "          vanish. If, BEFORE you leave the field, you make a mistake typing";
  85. 850 LOCATE 19,1 : PRINT "          your answer and want the default answer back, simply "; : IF CLR%=1 THEN COLOR CLR7%
  86. 860 PRINT "<BkSp> "; : IF CLR%=1 THEN COLOR CLR3%
  87. 870 PRINT "over";
  88. 880 LOCATE 20,1 : PRINT "          your answer to the very beginning of the field and BasiCoder will";
  89. 890 LOCATE 21,1 : PRINT "          show you the default again.";
  90. 900 IF CLR%=1 THEN COLOR CLR0%
  91. 910 LOCATE 24,19,1,0,7
  92. 920  K$=INKEY$ : IF K$="" THEN GOTO 920
  93. 930  IF K$=CHR$(27) THEN CLS : END
  94. 940  IF K$="1" THEN GOTO 970
  95. 950  IF K$="2" THEN GOSUB 980 : GOTO 1020
  96. 960  IF K$="3" THEN CLS : GOSUB 1670 : CLEAR : CHAIN "SF-FACTS"
  97. 970  SOUND 50,3 : GOTO 920
  98. 980 REM erase highlighted text
  99. 990  IF CLR%=1 THEN COLOR CLR6%
  100. 1000  LOCATE 24,21 : PRINT "Before you begin you need to know";
  101. 1010  RETURN
  102. 1020 REM technical info
  103. 1030 IF CLR%=1 THEN COLOR CLR0%
  104. 1040 LOCATE 24,61
  105. 1050 PRINT "TECHNICAL INFO";
  106. 1060 GOSUB 540
  107. 1070 LOCATE  5,1  : PRINT "     BasiCoder generated programs use a unique key, Binary tree, ISAM";
  108. 1080 LOCATE  6,1  : PRINT "     technique to store data into a `SIMPLE' data file. The program uses it's";
  109. 1090 LOCATE  7,1  : PRINT "     own name to create and use two files, FILENAME.DAT and FILENAME.KEY.";
  110. 1100 LOCATE  9,1  : PRINT "     Record numbers are kept in the key file in two byte integer form, thus";
  111. 1110 LOCATE 10,1  : PRINT "     the maximum record quantity may be as high as 32,767. An arbitrary limit";
  112. 1120 LOCATE 11,1  : PRINT "     of 30 has been imposed on the key length and for uniformity all keys are";
  113. 1130 LOCATE 12,1  : PRINT "     forced as string values.";
  114. 1140 LOCATE 14,1  : PRINT "     Deleted records are simply flagged in the key file and remain there until";
  115. 1150 LOCATE 15,1  : PRINT "     a file re-org occurs. Thus allowing sophisticated UN-DO's of accidentally";
  116. 1160 LOCATE 16,1  : PRINT "     deleted records.";
  117. 1170 LOCATE 18,1  : PRINT "     There has been an arbitrary limit of 30 data fields imposed on the";
  118. 1180 LOCATE 19,1  : PRINT "     ShareWare version of BasiCoder. Registered owners receive a memory limits";
  119. 1190 LOCATE 20,1  : PRINT "     version with a 100 field capacity."; : IF CLR%=1 THEN COLOR CLR7%
  120. 1200 LOCATE 22,1  : PRINT "<ANY KEY> for next page of Technical Information";
  121. 1210 LOCATE 22,5  : IF CLR%=1 THEN COLOR CLR3%
  122. 1220 K$=INKEY$ : IF K$="" THEN GOTO 1220
  123. 1230 GOSUB 540
  124. 1240 LOCATE  5,1  : PRINT "     The ShareWare version of BasiCoder-SF consists of the following files;";
  125. 1250 IF CLR%=1 THEN COLOR CLR7%
  126. 1260 LOCATE  7,1  : PRINT "     SF-START.EXE "; :IF CLR%=1 THEN COLOR CLR3%
  127. 1270 PRINT "- Action: Menu - Starts BasiCoder";";
  128. 1280 IF CLR%=1 THEN COLOR CLR7%
  129. 1290 LOCATE  8,1  : PRINT "     SF-FACTS.EXE "; :IF CLR%=1 THEN COLOR CLR3%
  130. 1300 PRINT "- Action: Collects variable specific data and creates";
  131. 1310 LOCATE  9,1  : PRINT "                            DICtionary file FILENAME.DIC";
  132. 1320 IF CLR%=1 THEN COLOR CLR7%
  133. 1330 LOCATE 10,1  : PRINT "     SF-PLACE.EXE "; :IF CLR%=1 THEN COLOR CLR3%
  134. 1340 PRINT "- Action: Collects screen text data and creates screen";
  135. 1350 LOCATE 11,1  : PRINT "                            PICture file FILENAME.PIC.";
  136. 1360 IF CLR%=1 THEN COLOR CLR7%
  137. 1370 LOCATE 12,1  : PRINT "     SF-DRAFT.EXE "; :IF CLR%=1 THEN COLOR CLR3%
  138. 1380 PRINT "- Action: Program generator takes data from DIC & PIC files";
  139. 1390 LOCATE 13,1  : PRINT "                            above, combines it with data from SF-DRAFT.DAT";
  140. 1400 LOCATE 14,1  : PRINT "                            to create finished program FILENAME.BAS";
  141. 1410 IF CLR%=1 THEN COLOR CLR7%
  142. 1420 LOCATE 15,1  : PRINT "     SF-DRAFT.DAT "; :IF CLR%=1 THEN COLOR CLR3%
  143. 1430 PRINT "- Usage:  Data file for SF-DRAFT.EXE above";
  144. 1440 IF CLR%=1 THEN COLOR CLR7%
  145. 1450 LOCATE 16,1  : PRINT "     SF-TUTOR.DAT "; :IF CLR%=1 THEN COLOR CLR3%
  146. 1460 PRINT "- Usage:  Contain help data used by on-line context";
  147. 1470 LOCATE 17,1  : PRINT "                            sensitive help functions in all programs.";
  148. 1480 IF CLR%=1 THEN COLOR CLR7%
  149. 1490 LOCATE 18,1  : PRINT "     SF-WORDS.DAT "; :IF CLR%=1 THEN COLOR CLR3%
  150. 1500 PRINT "- Usage:  Contains list of BASIC reserved words not allowed";
  151. 1510 LOCATE 19,1  : PRINT "                            for use as variable names";
  152. 1520 IF CLR%=1 THEN COLOR CLR7%
  153. 1530 LOCATE 20,1  : PRINT "     SF-CARRY.DAT "; :IF CLR%=1 THEN COLOR CLR3%
  154. 1540 PRINT "- Usage:  Transport file for inter-program communications";
  155. 1550 LOCATE 21,1  : PRINT "                            of active file name and color settings.";
  156. 1560 LOCATE 24,59,1,0,7
  157. 1570  K$=INKEY$ : IF K$="" THEN GOTO 1570
  158. 1580  IF K$=CHR$(27) THEN CLS : END
  159. 1590  IF K$="1" THEN GOSUB 1630 : GOTO 590
  160. 1600  IF K$="2" THEN GOSUB 1630 : GOTO 1020
  161. 1610  IF K$="3" THEN CLS : GOSUB 1670 : CLEAR : CHAIN "SF-FACTS"
  162. 1620  SOUND 50,3 : GOTO 1570
  163. 1630 REM erase highlighted text
  164. 1640  IF CLR%=1 THEN COLOR CLR6%
  165. 1650  LOCATE 24,61 : PRINT "Technical Info";
  166. 1660  RETURN
  167. 1670 REM clear and print working
  168. 1680    IF CLR%=1 THEN COLOR CLR0%
  169. 1690    LOCATE  9,30 : PRINT "┌──────────────┐";
  170. 1700    LOCATE 10,30 : PRINT "│ working .... │";
  171. 1710    LOCATE 11,30 : PRINT "└──────────────┘";
  172. 1720    RETURN
  173. 1730 REM collect any key
  174. 1740   IF CLR%=1 THEN COLOR CLR2%
  175. 1750   LOCATE 22,1 : PRINT "<ANY KEY>";
  176. 1760   LOCATE 22,5
  177. 1770   K$=INKEY$ : IF K$="" THEN GOTO 1770
  178. 1780   RETURN
  179. 1790 REM open & get file info
  180. 1800    OPEN "r", #2, "SF-CARRY.DAT",1
  181. 1810    L%=LOF(2)
  182. 1820    CLOSE #2
  183. 1830    IF L%>0 THEN GOTO 1900
  184. 1840    BCFILE$="SAMPLE"
  185. 1850    GOSUB 2060
  186. 1860    CLR0%=15 : CLR1%=9 : CLR2%=12 : CLR3%=7 : CLR4%=4
  187. 1870    CLR5%=4 : CLR6%=8 : CLR7%=2 : CLR8%=14
  188. 1880    GOSUB 2250
  189. 1890    RETURN
  190. 1900    REM get system information
  191. 1910    OPEN "i", #2, "SF-CARRY.DAT"
  192. 1920    INPUT #2, BCFILE$,K$
  193. 1930    INPUT #2, CLR%   ,K$
  194. 1940    INPUT #2, CLR0%  ,K$
  195. 1950    INPUT #2, CLR1%  ,K$
  196. 1960    INPUT #2, CLR2%  ,K$
  197. 1970    INPUT #2, CLR3%  ,K$
  198. 1980    INPUT #2, CLR4%  ,K$
  199. 1990    INPUT #2, CLR5%  ,K$
  200. 2000    INPUT #2, CLR6%  ,K$
  201. 2010    INPUT #2, CLR7%  ,K$
  202. 2020    INPUT #2, CLR8%  ,K$
  203. 2030    INPUT #2, CLR9%  ,K$
  204. 2040    CLOSE #2
  205. 2050    RETURN
  206. 2060 REM ask if color wanted
  207. 2070   CLS
  208. 2080   PRINT "Want Color?  YES or NO :";
  209. 2090   K$=INKEY$: IF K$="" THEN GOTO 2090
  210. 2100   IF K$="Y" OR K$="y" THEN CLR%=1 : PRINT "Yes" : GOTO 2130
  211. 2110   IF K$="N" OR K$="n" THEN CLR%=0 : PRINT "No!" : GOTO 2130
  212. 2120   GOTO 2060
  213. 2130   PRINT : PRINT : PRINT
  214. 2140   PRINT "Normally, you will never see the `Want Color?' question again."
  215. 2150   PRINT "However, if sometime in the future you want to change your answer to the above"
  216. 2160   PRINT "question, you can force BasiCoder to ask you the color question again by doing"
  217. 2170   PRINT "the following;"
  218. 2180   PRINT : PRINT "   1. From DOS ... delete the file named ...... SF-CARRY.DAT"
  219. 2190   PRINT "   2. Then simply run BasiCoder again."
  220. 2200   PRINT : PRINT "Write that file name somewhere important so that you won't forget."
  221. 2210   PRINT "But I'll bet'cha you'll forget WHERE you wrote it! (ha!ha!)"
  222. 2220   PRINT : PRINT : PRINT "Press <ESC>:";
  223. 2230   K$=INKEY$ : IF K$<>CHR$(27) THEN GOTO 2230
  224. 2240   RETURN
  225. 2250 REM put away system information
  226. 2260    OPEN "o", #2, "SF-CARRY.DAT"
  227. 2270    PRINT #2, BCFILE$,",Active File --------------------12"
  228. 2280    PRINT #2, CLR%   ,",Color 0-NO 1-YES ---------------11"
  229. 2290    PRINT #2, CLR0%  ,",..... Major Text Color ---------10"
  230. 2300    PRINT #2, CLR1%  ,",..... Border Lines Color ------- 9"
  231. 2310    PRINT #2, CLR2%  ,",..... Data Prompts Color ------- 8"
  232. 2320    PRINT #2, CLR3%  ,",..... Command Line Color #1 ---- 7"
  233. 2330    PRINT #2, CLR4%  ,",..... Command Line Color #2 ---- 6"
  234. 2340    PRINT #2, CLR5%  ,",..... Title Text Color --------- 5"
  235. 2350    PRINT #2, CLR6%  ,",..... Default Data Color ------- 4"
  236. 2360    PRINT #2, CLR7%  ,",..... Special Messages Color --- 3"
  237. 2370    PRINT #2, CLR8%  ,",..... Help Window Color -------- 2"
  238. 2380    PRINT #2, CLR9%  ,",..... Misc. Color -------------- 1"
  239. 2390    CLOSE #2
  240. 2400    RETURN
  241.