home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
dbase2.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
107 lines
10 'DBASE2 (C) 1987 TOM MOREHOUSE
20 CLS:CLEAR1000,62690:MAXFILES=2
25 DIMFD$(20),DA$(500),RC$(500)
30 PRINT@136,"DBASE2"
31 BEEP
40 GOSUB10000:REM TIME DELAY
43 GOSUB10000
44 GOTO6000
50 CLS:PRINT:PRINT"CURRENT FILES ARE: ":PRINT:FILES
51 PRINT"CREATE NEW FILE (Y/N)";:B$=INPUT$(1):IFB$="Y"ORB$="y"GOTO60
52 IFB$="N"ORB$="n"GOTO53ELSE51
53 PRINT:INPUT"FILE TO APPEND";FI$
54 IFFI$=""THENBEEP:PRINT"PROCESS ENDED":GOTO1130
55 OPENFI$FORINPUTAS1:LINEINPUT#1,FN$:CLS:CLOSE1:REM GET FIELD NAMES FROM LIST TOP
56 PRINT:PRINT"FIELDS IN *** ";FI$;" *** ":PRINT:PRINTFN$:PRINT:GOSUB5000:GOSUB2000:GOTO1000
60 CLS:INPUT"FILE NAME";FI$
70 INPUT"HOW MANY FIELDS PER RECORD";N
80 FORX=1TON
90 PRINT"NAME OF FIELD #";X;:INPUTFD$(X):IFX=NGOTO94
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 GOSUB10000
1000 REM APPEND ROUTINE
1002 OPENFI$FORINPUTAS2
1003 LINEINPUT#2,Z$:C=C+1
1004 IFEOF(2)GOTO1006
1005 GOTO1003
1006 CLOSE2:Y=C
1007 LR$=Z$
1010 REM RECORD COUNTER
1015 OPENFI$FORAPPENDAS1
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);:INPUTDA$(Z)
1060 IFDA$(Z)="ZZ"ORDA$(Z)="zz"GOTO1130
1065 LR$=DA$(Z)
1070 IFZ=FLGOTO1090
1080 RC$(Y)=RC$(Y)+DA$(Z)+",":GOTO1020
1090 RC$(Y)=RC$(Y)+DA$(Z)
1110 PRINT#1,RC$(Y)
1115 CLOSE1:Z=0
1120 Y=Y+1:GOTO1010
1130 CLOSE1:CLS
1140 GOSUB10000
1150 PRINT:PRINT"FILE ";FI$;" CLOSED"
1160 GOSUB10000
1170 PRINT"PROCESSING FINISHED"
1180 GOSUB10000
1190 CLEAR256,60416:MENU
2000 PRINT"ANY KEY TO PROCEED..."
2005 L$=INKEY$:IFL$=""GOTO2005
2010 RETURN
5000 LN=LEN(FN$)
5001 OPENFI$FORINPUTAS1
5002 FORX=1TOLN
5003 T$=MID$(FN$,X,1)
5004 IFT$=","THEND=D+1
5005 NEXTX
5009 FL=D+1
5010 FORX=1TOFL:INPUT#1,FD$(X):NEXTX
5020 CLOSE1:RETURN
6000 PRINT:INPUT"PRINT A FILE (Y/N)";P$
6005 IFP$<>"Y"ANDP$<>"y"GOTO50
6010 REM DATA FILE PRINTER
6020 REM (C) 1987 TOM MOREHOUSE
6030 CLS:PRINT@175,"DBASE PRINTER"
6040 FORX=1TO500:NEXTX
6050 CLS:FILES:PRINT@240,"FILE TO PRINT";:INPUTF$
6055 IFF$=""GOTO6500
6060 OPENF$FORINPUTAS1
6070 LINEINPUT#1,FD$
6075 CLOSE1
6100 INPUT"PAGE WIDTH (80/132)";W
6110 IFW<>80ANDW<>132GOTO6100
6115 CLS:PRINT@1,FD$:PRINT
6120 INPUT"NUMBER OF FIELDS TO PRINT";N
6122 CLS:DIMFL(N)
6130 FORX=1TON
6132 CLS:PRINT@1,FD$:PRINT
6135 PRINT@240,CK;"COLUMNS OUT OF ";W
6140 PRINT@40,"LENGTH OF FIELD";X;:INPUTFL(X)
6145 CK=CK+FL(X):IFCK>WGOTO7000
6150 NEXTX
6160 CLS
6170 PRINT"HIT SPACE BAR WHEN READY"
6180 R$=INKEY$:IFR$=""GOTO6180
6190 PRINT@180,"PRINTING"
6200 OPENF$FORINPUTAS1
6205 LPRINTF$,DATE$,TIME$:LPRINT
6210 FORX=1TON
6220 INPUT#1,A$
6229 Y=((FL(X)))-(LEN(A$)):IFY<1THENY=1
6230 LPRINTA$;SPACE$(Y);
6235 NEXTX
6240 LPRINTCHR$(13);
6250 IFEOF(1)GOTO6500ELSE6210
6500 CLS:PRINT@175,"OUTPUT COMPLETED"
6510 BEEP:CLOSE:MENU
7000 BEEP:PRINT" ** PAGE WIDTH EXCEEDED **":CK=0:GOTO6130
10000 FORT=1TO250:NEXTT:RETURN