10 REM ASCII LIST MAKER 15 REM (C) 1987 TOM MOREHOUSE 20 CLS:CLEAR256,62690:MAXFILES=2 25 DIMFD$(20),DA$(500),RC$(500) 30 PRINT @136,"DBASE I" 40 GOSUB 10000:REM TIME DELAY 50 BEEP:CLS:PRINT:PRINT"CURRENT FILES ARE: ":PRINT:FILES 51 INPUT"CREATE NEW FILE (Y/N)";B$:IFB$="Y"ORB$="y"THENGOTO60 52 IFB$="N"ORB$="n"THENGOTO53ELSEGOTO51 53 INPUT"FILE TO APPEND";FI$ 54 IF FI$ = "" THEN BEEP:PRINT "PROCESS ENDED":GOTO 1130 55 OPEN FI$ FOR INPUT AS 1:LINEINPUT#1,FN$:CLS:CLOSE1:REM GET FIELD NAMES FROM LIST TOP 56 PRINT:PRINT"FIELDS IN *** ";FI$;" *** ":PRINT:PRINTTAB(4);FN$:PRINT:GOSUB5000:GOSUB2000:GOTO1000 60 CLS:INPUT"FILE NAME";FI$ 70 INPUT "HOW MANY FIELDS PER RECORD";N 80 FOR X = 1 TO N 90 PRINT "NAME OF FIELD #";X;:INPUT FD$(X):IFX=N THEN GOTO 94 92 FN$=FN$+FD$(X)+",":NEXTX 94 FN$=FN$+FD$(X) 100 OPENFI$FOROUTPUTAS1:PRINT#1,FN$:CLOSE1:Y=1:GOSUB5000:GOTO1010 120 CLS 130 BEEP 140 GOSUB 10000 1000 REM APPEND ROUTINE 1002 OPEN FI$ FOR INPUT AS2 1003 LINE INPUT #2,Z$:C=C+1 1004 IF EOF(2)THEN GOTO 1006 1005 GOTO1003 1006 CLOSE2:Y=C 1007 LR$=Z$ 1010 REM RECORD COUNTER 1015 OPEN FI$ FOR APPEND AS 1 1020 Z=Z+1:REM FIELD COUNTER 1030 CLS 1040 PRINTFI$:PRINT@14,"RECORD #";Y:PRINT"ENTER 'ZZ' TO END" 1042 PRINT" (LAST ENTRY WAS: ";LR$;")" 1049 PRINT 1050 PRINTFD$(Z);:INPUT DA$(Z) 1060 IF DA$(Z)="ZZ" THEN GOTO 1130 1065 LR$=DA$(Z) 1070 IF Z=FL THEN GOTO 1090 1080 RC$(Y)=RC$(Y)+DA$(Z)+",":GOTO1020 1090 RC$(Y)=RC$(Y)+DA$(Z) 1110 PRINT #1,RC$(Y):RC$(Y)="" 1111 BEEP 1115 CLOSE1:Z=0 1120 Y=Y+1:GOTO 1010 1130 CLOSE1:CLS 1140 GOSUB 10000 1150 PRINT:PRINT"FILE ";FI$;" CLOSED" 1160 GOSUB 10000 1170 PRINT"PROCESSING FINISHED" 1180 GOSUB 10000 1190 CLEAR256,60416:MENU 2000 PRINT"ANY KEY TO PROCEED..." 2005 L$=INKEY$:IFL$=""THEN2005 2010 RETURN 5000 LN=LEN(FN$) 5001 OPEN FI$ FOR INPUT AS 1 5002 FORX=1TOLN 5003 T$=MID$(FN$,X,1) 5004 IF T$=","THEND=D+1 5005 NEXTX 5009 FL=D+1 5010 FORX=1TOFL:INPUT#1,FD$(X):NEXTX 5020 CLOSE1:RETURN 10000 FORT=1TO250:NEXTT:RETURN