Thank you a lot to think about.
Did a little bit more:
Did a little bit more:
Code:
10 MODE9:COLOUR131:COLOUR020 PROCdb30 40 REPEAT50 CLS60 PRINT"1>edit 2>disk 3>exit"70 PROCln80 PRINT'"NAME"TAB(10)"SK"TAB(15)"PTR"90 PROCpr100 opt=FNmenu110 IFopt=1PROCed 120 IFopt=2PROCdk130 UNTILopt=3140 150 END160170 DEFPROCdb180 REM10 records,2 fields190 DATA10,2200 DATADONOVAN,09210 DATAJULIET,06220 DATATYLER,10230 DATAWILLIE,12240 DATA,,,,,,,,,,,250 DIMd$(11,2),id%(11)260 LOCALrd,fd,free:READrds,fds270 dp=1:fp=rds+1280 290 FORrd=1TOrds300 FORfd=1TOfds310 READd$(rd,fd):id%(rd)=rd+1320 NEXT,:id%(rds)=-1330 340 FORfree=rds+1TO11350 id%(free)=free+1360 NEXTfree:id%(11)=-1:ENDPROC370380 DEFFNmenu:LOCALopt390 INPUT"Select> "opt400 =opt410420 DEFPROCed430 INPUT'"Create(C) Delete(D)> "A$440 IFA$="C"PROCcr450 IFA$="D"PROCde460 PROCsp470 ENDPROC480490 DEFPROCcr:af=0:LOCALlp500 INPUT"Type name to add> "n$510 p=dp:lp=dp520 IFp=-1PROCad(n$,p,lp):ENDPROC530 540 REPEAT550 IFn$<d$(p,1)PROCad(n$,p,lp)560 lp=p:p=id%(p)570 UNTILp=-1ORaf=1580 590 IFp=-1ANDaf=0PROCad(n$,-1,lp)600 ENDPROC610620 DEFPROCde:df=0630 LOCALlp:IFdp=-1PRINT"EMPTY":ENDPROC640 INPUT"Type name or enter to delete slot. "'n$650 p=dp:lp=dp660670 REPEAT680 IFn$=d$(p,1)PROCdel(p,lp)690 lp=p:p=id%(p)700 UNTILp=-1ORdf=1710 720 IFp=-1ANDdf=0PRINT"No match "730 ENDPROC740750 DEFPROCpr:LOCALcount:count=0:p=dp760 IFdp=-1PRINT"EMPTY"':ENDPROC770 780 REPEAT790 PRINTd$(p,1)TAB(10)"|"d$(p,2)TAB(15);"|"id%(p)800 p=id%(p):count=count+1810 UNTILp=-1820830 PRINT'count" slots:"10-count" free slots"840 PROCln850 ENDPROC860870 DEFPROCad(N$,p,lp):af=1880 IFid%(fp)=-1PRINT"NO ROOM!":ENDPROC890 nfp=id%(fp)900 d$(fp,1)=N$:id%(fp)=p910 IFp=lp dp=fp ELSE id%(lp)=fp920 fp=nfp:ENDPROC930940 DEFPROCdel(p,lp):df=1950 IFp=lp ANDlp=dp dp=id%(lp):id%(p)=fp:fp=p:ENDPROC960 id%(lp)=id%(p):id%(p)=fp:fp=p970 ENDPROC980990 DEFFNname1000 LOCALf$10101020 REPEAT1030 INPUT'"Filename (max 7ch)? "f$1040 UNTILLENf$<=7ANDf$>CHR$3210501060 =f$10701080 DEFPROCdk1090 CLS:*.1100 INPUT'"SAVE(S) LOAD(L)> "A$1110 IFA$="S" name$=FNname:PROCsa(name$):PROCdu1120 IFA$="L" name$=FNname:PROClo(name$):PROCdu1130 PROCsp1140 ENDPROC11501160 DEFPROCsa(name$)1170 LOCALrd,fd,chl1180 chl=OPENOUT(name$)1190 PRINT'"Saving: "name$1200 PRINT#chl,rds,fds12101220 FORrd=1TOrds1230 FORfd=1TOfds1240 PRINT#chl,d$(rd,fd),id%(rd)1250 NEXT,12601270 CLOSE#chl1280 PRINT'"Done!"1290 ENDPROC13001310 DEFPROClo(name$)1320 LOCALrd,fd1330 chl=OPENIN(name$)1340 PRINT'"Loading file:"name$1350 INPUT#chl,rds,fds13601370 FORrd=1TOrds1380 FORfd=1TOfds1390 INPUT#chl,d$(rd,fd),id%(rd)1400 NEXT,14101420 CLOSE#chl1430 PRINT'"Done!"1440 ENDPROC14501460 DEFPROCsp1470 PRINT'"SPACE bar to continue";:*FX21,01480 REPEATUNTIL GET$=" "1490 ENDPROC15001510 DEFPROCdu1520 LOCALI%,J%1530 FORI%=0TO111540 PRINT;I%;":";id%(I%);" ";1550 FORJ%=1TO21560 PRINTd$(I%,J%);" ";1570 NEXT:PRINT1580 NEXT1590 PRINT:ENDPROC16001610 DEFPROCln1620 LOCALmo,le1630 A%=&87:mo=(USR(&FFF4)AND&FF0000)DIV&100001640 le=401650 IFmo=0ORmo=3le=801660 IFmo=2ORmo=5le=201670 PRINTSTRING$(le,"_"):VDU111680 ENDPROC
Statistics: Posted by modboy — Sun Dec 15, 2024 5:26 pm