home *** CD-ROM | disk | FTP | other *** search
- 10 REM Filename: SF-START
- 20 K$="Copyright Frederick G. Volking 1986"
- 30 K$="6891 gnikloV .G kcirederF thgirypoC"
- 40 KEY OFF : CLS : GOSUB 1670
- 50 GOSUB 1790
- 60 REM display main menu screen
- 70 CLS : IF CLR%=1 THEN COLOR CLR1%
- 80 PRINT "╔═════════════════════════════════════════════════════════════════════════════╗"
- 90 PRINT "║ ║"
- 100 IF CLR%=1 THEN COLOR CLR4%
- 110 LOCATE 2,2 : PRINT " BasiCoder-SF(tm) Copyright Frederick G. Volking 1985,1986,1987 Ver: 2.5.4"
- 120 IF CLR%=1 THEN COLOR CLR1%
- 130 PRINT "╚═════════════════════════════════════════════════════════════════════════════╝"
- 140 IF CLR%=1 THEN COLOR CLR7%
- 150 PRINT "BASICODER-SF(tm) Production Version. This is copyrighted material. Federal law"
- 160 PRINT "and International Treaty provide criminal penalties for copyright infringement."
- 170 IF CLR%=1 THEN COLOR CLR3%
- 180 PRINT STRING$(79,196)
- 190 PRINT " BasiCoder-SF is a Program Generator for Simple data Files .............."
- 200 PRINT ""
- 210 PRINT " This means that all you need do, is answer a few easy questions ....."
- 220 PRINT ""
- 230 PRINT " Then tell BasiCoder to GO-TO-WORK! .........."
- 240 PRINT " ....... and BasiCoder will write the ENTIRE program FOR YOU!"
- 250 PRINT
- 260 PRINT " When BasiCoder is finished, you will have a very sophisticated, commercial"
- 270 PRINT " quality program, customized to your every need, completely ready to run,"
- 280 PRINT " absolutely BUG-FREE, instantly ready for your data. Plus your new program"
- 290 PRINT " is written in the easy to understand language of BASIC!"
- 300 PRINT ""
- 310 PRINT " Load your BASIC interpreter with your program and you're off and running!"
- 320 PRINT " -or- Use almost any BASIC COMPILER on your new program and it's ready to "
- 330 PRINT " run with all the speed and power of a machine language program!"
- 340 IF CLR%=1 THEN COLOR CLR1%
- 350 LOCATE 23,1 : PRINT "───────────────────────────────────────────────────────────────────────────────"
- 360 IF CLR%=1 THEN COLOR CLR0%
- 370 LOCATE 24,1 : PRINT " Choice: ";: IF CLR%=1 THEN COLOR CLR2%
- 380 PRINT "1.";: IF CLR%=1 THEN COLOR CLR6%
- 390 PRINT "Before you begin you need to know ";:IF CLR%=1 THEN COLOR CLR2%
- 400 PRINT "2.";: IF CLR%=1 THEN COLOR CLR6%
- 410 PRINT "Technical Info";: IF CLR%=1 THEN COLOR CLR2%
- 420 LOCATE 25,1 : PRINT " <ESC>"; : IF CLR%=1 THEN COLOR CLR6%
- 430 PRINT "=Quit "; : IF CLR%=1 THEN COLOR CLR2%
- 440 PRINT "3."; : IF CLR%=1 THEN COLOR CLR6%
- 450 PRINT "Start BasiCoder "; : IF CLR%=1 THEN COLOR CLR2%
- 460 IF CLR%=1 THEN COLOR CLR0%
- 470 LOCATE 24,12,1,0,7
- 480 K$=INKEY$ : IF K$="" THEN GOTO 480
- 490 IF K$=CHR$(27) THEN CLS : END
- 500 IF K$="1" THEN GOTO 590
- 510 IF K$="2" THEN GOTO 1020
- 520 IF K$="3" THEN CLS : GOSUB 1670 :CLEAR : CHAIN "SF-FACTS"
- 530 SOUND 50,3 : GOTO 480
- 540 REM erase screen text area
- 550 FOR C%=4 TO 22
- 560 LOCATE C%,1 : PRINT SPACE$(79);
- 570 NEXT
- 580 RETURN
- 590 REM before you begin you need to know
- 600 IF CLR%=1 THEN COLOR CLR0%
- 610 LOCATE 24,21
- 620 PRINT "BEFORE YOU BEGIN YOU NEED TO KNOW";
- 630 GOSUB 540
- 640 IF CLR%=1 THEN COLOR CLR7%
- 650 LOCATE 5,1 : PRINT " <F1> ";: IF CLR%=1 THEN COLOR CLR3%
- 660 PRINT "- Help! A very important key. Once BasiCoder is started and you get";
- 670 LOCATE 6,1 : PRINT " stuck on what to do next or you are confused about what is";
- 680 LOCATE 7,1 : PRINT " required, simply touch the "; : IF CLR%=1 THEN COLOR CLR7%
- 690 PRINT "<F1>"; : IF CLR%=1 THEN COLOR CLR3%
- 700 PRINT " key. A window will open and";
- 710 LOCATE 8,1 : PRINT " helpful information about exactly what you are currently doing";
- 720 LOCATE 9,1 : PRINT " will appear."; : IF CLR%=1 THEN COLOR CLR7%
- 730 LOCATE 11,1 : PRINT " <ESC> "; : IF CLR%=1 THEN COLOR CLR3%
- 740 PRINT "- The Panic Button. Anytime you get in the middle of an operation";
- 750 LOCATE 12,1 : PRINT " (which you didn't really want), just touch the ";:IF CLR%=1 THEN COLOR CLR7%
- 760 PRINT "<ESC> "; : IF CLR%=1 THEN COLOR CLR3%
- 770 PRINT "key. If";
- 780 LOCATE 13,1 : PRINT " possible, BasiCoder will back-up and allow you a second chance.";
- 790 IF CLR%=1 THEN COLOR CLR7%
- 800 LOCATE 15,1 : PRINT " <BkSp> "; : IF CLR%=1 THEN COLOR CLR3%
- 810 PRINT "- Magic Retrieval. When you're asked a question or you're supposed";
- 820 LOCATE 16,1 : PRINT " to enter data into a field BasiCoder will always try to give you";
- 830 LOCATE 17,1 : PRINT " a default value. If you begin typing your answer the default will";
- 840 LOCATE 18,1 : PRINT " vanish. If, BEFORE you leave the field, you make a mistake typing";
- 850 LOCATE 19,1 : PRINT " your answer and want the default answer back, simply "; : IF CLR%=1 THEN COLOR CLR7%
- 860 PRINT "<BkSp> "; : IF CLR%=1 THEN COLOR CLR3%
- 870 PRINT "over";
- 880 LOCATE 20,1 : PRINT " your answer to the very beginning of the field and BasiCoder will";
- 890 LOCATE 21,1 : PRINT " show you the default again.";
- 900 IF CLR%=1 THEN COLOR CLR0%
- 910 LOCATE 24,19,1,0,7
- 920 K$=INKEY$ : IF K$="" THEN GOTO 920
- 930 IF K$=CHR$(27) THEN CLS : END
- 940 IF K$="1" THEN GOTO 970
- 950 IF K$="2" THEN GOSUB 980 : GOTO 1020
- 960 IF K$="3" THEN CLS : GOSUB 1670 : CLEAR : CHAIN "SF-FACTS"
- 970 SOUND 50,3 : GOTO 920
- 980 REM erase highlighted text
- 990 IF CLR%=1 THEN COLOR CLR6%
- 1000 LOCATE 24,21 : PRINT "Before you begin you need to know";
- 1010 RETURN
- 1020 REM technical info
- 1030 IF CLR%=1 THEN COLOR CLR0%
- 1040 LOCATE 24,61
- 1050 PRINT "TECHNICAL INFO";
- 1060 GOSUB 540
- 1070 LOCATE 5,1 : PRINT " BasiCoder generated programs use a unique key, Binary tree, ISAM";
- 1080 LOCATE 6,1 : PRINT " technique to store data into a `SIMPLE' data file. The program uses it's";
- 1090 LOCATE 7,1 : PRINT " own name to create and use two files, FILENAME.DAT and FILENAME.KEY.";
- 1100 LOCATE 9,1 : PRINT " Record numbers are kept in the key file in two byte integer form, thus";
- 1110 LOCATE 10,1 : PRINT " the maximum record quantity may be as high as 32,767. An arbitrary limit";
- 1120 LOCATE 11,1 : PRINT " of 30 has been imposed on the key length and for uniformity all keys are";
- 1130 LOCATE 12,1 : PRINT " forced as string values.";
- 1140 LOCATE 14,1 : PRINT " Deleted records are simply flagged in the key file and remain there until";
- 1150 LOCATE 15,1 : PRINT " a file re-org occurs. Thus allowing sophisticated UN-DO's of accidentally";
- 1160 LOCATE 16,1 : PRINT " deleted records.";
- 1170 LOCATE 18,1 : PRINT " There has been an arbitrary limit of 30 data fields imposed on the";
- 1180 LOCATE 19,1 : PRINT " ShareWare version of BasiCoder. Registered owners receive a memory limits";
- 1190 LOCATE 20,1 : PRINT " version with a 100 field capacity."; : IF CLR%=1 THEN COLOR CLR7%
- 1200 LOCATE 22,1 : PRINT "<ANY KEY> for next page of Technical Information";
- 1210 LOCATE 22,5 : IF CLR%=1 THEN COLOR CLR3%
- 1220 K$=INKEY$ : IF K$="" THEN GOTO 1220
- 1230 GOSUB 540
- 1240 LOCATE 5,1 : PRINT " The ShareWare version of BasiCoder-SF consists of the following files;";
- 1250 IF CLR%=1 THEN COLOR CLR7%
- 1260 LOCATE 7,1 : PRINT " SF-START.EXE "; :IF CLR%=1 THEN COLOR CLR3%
- 1270 PRINT "- Action: Menu - Starts BasiCoder";";
- 1280 IF CLR%=1 THEN COLOR CLR7%
- 1290 LOCATE 8,1 : PRINT " SF-FACTS.EXE "; :IF CLR%=1 THEN COLOR CLR3%
- 1300 PRINT "- Action: Collects variable specific data and creates";
- 1310 LOCATE 9,1 : PRINT " DICtionary file FILENAME.DIC";
- 1320 IF CLR%=1 THEN COLOR CLR7%
- 1330 LOCATE 10,1 : PRINT " SF-PLACE.EXE "; :IF CLR%=1 THEN COLOR CLR3%
- 1340 PRINT "- Action: Collects screen text data and creates screen";
- 1350 LOCATE 11,1 : PRINT " PICture file FILENAME.PIC.";
- 1360 IF CLR%=1 THEN COLOR CLR7%
- 1370 LOCATE 12,1 : PRINT " SF-DRAFT.EXE "; :IF CLR%=1 THEN COLOR CLR3%
- 1380 PRINT "- Action: Program generator takes data from DIC & PIC files";
- 1390 LOCATE 13,1 : PRINT " above, combines it with data from SF-DRAFT.DAT";
- 1400 LOCATE 14,1 : PRINT " to create finished program FILENAME.BAS";
- 1410 IF CLR%=1 THEN COLOR CLR7%
- 1420 LOCATE 15,1 : PRINT " SF-DRAFT.DAT "; :IF CLR%=1 THEN COLOR CLR3%
- 1430 PRINT "- Usage: Data file for SF-DRAFT.EXE above";
- 1440 IF CLR%=1 THEN COLOR CLR7%
- 1450 LOCATE 16,1 : PRINT " SF-TUTOR.DAT "; :IF CLR%=1 THEN COLOR CLR3%
- 1460 PRINT "- Usage: Contain help data used by on-line context";
- 1470 LOCATE 17,1 : PRINT " sensitive help functions in all programs.";
- 1480 IF CLR%=1 THEN COLOR CLR7%
- 1490 LOCATE 18,1 : PRINT " SF-WORDS.DAT "; :IF CLR%=1 THEN COLOR CLR3%
- 1500 PRINT "- Usage: Contains list of BASIC reserved words not allowed";
- 1510 LOCATE 19,1 : PRINT " for use as variable names";
- 1520 IF CLR%=1 THEN COLOR CLR7%
- 1530 LOCATE 20,1 : PRINT " SF-CARRY.DAT "; :IF CLR%=1 THEN COLOR CLR3%
- 1540 PRINT "- Usage: Transport file for inter-program communications";
- 1550 LOCATE 21,1 : PRINT " of active file name and color settings.";
- 1560 LOCATE 24,59,1,0,7
- 1570 K$=INKEY$ : IF K$="" THEN GOTO 1570
- 1580 IF K$=CHR$(27) THEN CLS : END
- 1590 IF K$="1" THEN GOSUB 1630 : GOTO 590
- 1600 IF K$="2" THEN GOSUB 1630 : GOTO 1020
- 1610 IF K$="3" THEN CLS : GOSUB 1670 : CLEAR : CHAIN "SF-FACTS"
- 1620 SOUND 50,3 : GOTO 1570
- 1630 REM erase highlighted text
- 1640 IF CLR%=1 THEN COLOR CLR6%
- 1650 LOCATE 24,61 : PRINT "Technical Info";
- 1660 RETURN
- 1670 REM clear and print working
- 1680 IF CLR%=1 THEN COLOR CLR0%
- 1690 LOCATE 9,30 : PRINT "┌──────────────┐";
- 1700 LOCATE 10,30 : PRINT "│ working .... │";
- 1710 LOCATE 11,30 : PRINT "└──────────────┘";
- 1720 RETURN
- 1730 REM collect any key
- 1740 IF CLR%=1 THEN COLOR CLR2%
- 1750 LOCATE 22,1 : PRINT "<ANY KEY>";
- 1760 LOCATE 22,5
- 1770 K$=INKEY$ : IF K$="" THEN GOTO 1770
- 1780 RETURN
- 1790 REM open & get file info
- 1800 OPEN "r", #2, "SF-CARRY.DAT",1
- 1810 L%=LOF(2)
- 1820 CLOSE #2
- 1830 IF L%>0 THEN GOTO 1900
- 1840 BCFILE$="SAMPLE"
- 1850 GOSUB 2060
- 1860 CLR0%=15 : CLR1%=9 : CLR2%=12 : CLR3%=7 : CLR4%=4
- 1870 CLR5%=4 : CLR6%=8 : CLR7%=2 : CLR8%=14
- 1880 GOSUB 2250
- 1890 RETURN
- 1900 REM get system information
- 1910 OPEN "i", #2, "SF-CARRY.DAT"
- 1920 INPUT #2, BCFILE$,K$
- 1930 INPUT #2, CLR% ,K$
- 1940 INPUT #2, CLR0% ,K$
- 1950 INPUT #2, CLR1% ,K$
- 1960 INPUT #2, CLR2% ,K$
- 1970 INPUT #2, CLR3% ,K$
- 1980 INPUT #2, CLR4% ,K$
- 1990 INPUT #2, CLR5% ,K$
- 2000 INPUT #2, CLR6% ,K$
- 2010 INPUT #2, CLR7% ,K$
- 2020 INPUT #2, CLR8% ,K$
- 2030 INPUT #2, CLR9% ,K$
- 2040 CLOSE #2
- 2050 RETURN
- 2060 REM ask if color wanted
- 2070 CLS
- 2080 PRINT "Want Color? YES or NO :";
- 2090 K$=INKEY$: IF K$="" THEN GOTO 2090
- 2100 IF K$="Y" OR K$="y" THEN CLR%=1 : PRINT "Yes" : GOTO 2130
- 2110 IF K$="N" OR K$="n" THEN CLR%=0 : PRINT "No!" : GOTO 2130
- 2120 GOTO 2060
- 2130 PRINT : PRINT : PRINT
- 2140 PRINT "Normally, you will never see the `Want Color?' question again."
- 2150 PRINT "However, if sometime in the future you want to change your answer to the above"
- 2160 PRINT "question, you can force BasiCoder to ask you the color question again by doing"
- 2170 PRINT "the following;"
- 2180 PRINT : PRINT " 1. From DOS ... delete the file named ...... SF-CARRY.DAT"
- 2190 PRINT " 2. Then simply run BasiCoder again."
- 2200 PRINT : PRINT "Write that file name somewhere important so that you won't forget."
- 2210 PRINT "But I'll bet'cha you'll forget WHERE you wrote it! (ha!ha!)"
- 2220 PRINT : PRINT : PRINT "Press <ESC>:";
- 2230 K$=INKEY$ : IF K$<>CHR$(27) THEN GOTO 2230
- 2240 RETURN
- 2250 REM put away system information
- 2260 OPEN "o", #2, "SF-CARRY.DAT"
- 2270 PRINT #2, BCFILE$,",Active File --------------------12"
- 2280 PRINT #2, CLR% ,",Color 0-NO 1-YES ---------------11"
- 2290 PRINT #2, CLR0% ,",..... Major Text Color ---------10"
- 2300 PRINT #2, CLR1% ,",..... Border Lines Color ------- 9"
- 2310 PRINT #2, CLR2% ,",..... Data Prompts Color ------- 8"
- 2320 PRINT #2, CLR3% ,",..... Command Line Color #1 ---- 7"
- 2330 PRINT #2, CLR4% ,",..... Command Line Color #2 ---- 6"
- 2340 PRINT #2, CLR5% ,",..... Title Text Color --------- 5"
- 2350 PRINT #2, CLR6% ,",..... Default Data Color ------- 4"
- 2360 PRINT #2, CLR7% ,",..... Special Messages Color --- 3"
- 2370 PRINT #2, CLR8% ,",..... Help Window Color -------- 2"
- 2380 PRINT #2, CLR9% ,",..... Misc. Color -------------- 1"
- 2390 CLOSE #2
- 2400 RETURN