|
|
DataMuseum.dkPresents historical artifacts from the history of: Ohio Scientific Inc. |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Ohio Scientific Inc. Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 12016 (0x2ef0)
Notes: OS65UFile, OSU65U-BASIC
Names: »EDMAFL«
└─⟦2f57871a3⟧ Bits:30009355 Ohio Scientific OS-OMS Nucleus, delvist oversat til dansk
└─⟦this⟧ »EDMAFL«
00001 PRINT"** PROGRAM NOT EXECUTABLE FROM CONSOLE **":RUN"DBMSYS","PASS" 00002 CLOSE:CLEAR:REM 1/79 EDIT MASTER FILE (EDMAFL) 00010 REM OS-65U DATA BASE MANAGEMENT SYSTEM 00020 REM 11/78 VER. 1.0 EDIT MASTER FILE 00099 CLOSE 00100 FLAG 1 :REM DISABLE CLOSE ON ERROR FEATURE 00110 FLAG 11:REM ENABLE SPACE SUPPRESSION ON NUM. OUTPUT 00120 FLAG 9 :REM WE CHECK & DECODE DISC ERRORS 00130 NE$="*":NC$="":EE$="/" 00135 SP$=" ":SP$=SP$+SP$+SP$+SP$ 00196 POKE 2888,0 00250 GOSUB 62000:REM CLEAR SCREEN 00260 PRINT"DB-2 - [NDRE I MASTER FILEN" 00270 PRINT"=============================":PRINT:PRINT:PRINT 00294 REM GET CURRENT DEVICE NUMBER 00295 DV(2)=PEEK(9832):IF DV(2)>127 THEN DV(2)=DV(2)-128+4 00296 DV$(2)=CHR$(DV(2)+65) 00298 REM 00299 REM GET DEV/FILENAME/PASSWORD 00300 INPUT"INDTAST STATIONEN HVOR MASTER FILEN LIGGER ";DV$(1) 00301 IF DV$(1)=EE$ GOTO 50080 00305 POKE 2976,44:POKE 2972,58: REM ALLOW , TERMINATION 00310 DV$(1)=LEFT$(DV$(1),1) 00311 IF DV$(1)>="A" AND DV$(1)<="E" GOTO 320 00312 PRINT:PRINT" FORKERT!!! STATIONER DER ER GYLDIGE:" 00313 PRINT" A,B,C,D FLOPPY DISK" 00314 PRINT" E HARD DISK":PRINT:GOTO 300 00320 INPUT"INDTAST FILNAVN, KODEORD ";F$(1),PW$ 00321 IFLEN(F$(1))<1ORLEN(F$(1))>6THENPRINT"** FORKERT":PRINT:GOTO320 00322 IF F$(1)="/" OR PW$="/" GOTO 250 00325 IF LEN(F$(1))<5THENFOR I=0TO(4-LEN(F$(1))):F$(1)=F$(1)+" ":NEXT I 00330 F$(1)=LEFT$(F$(1),5) : F$(2)=F$(1)+"0" 00345 IF PW$="." OR PW$="." THEN PW$="ANAN" 00350 IFLEN(PW$)<>4 THEN PRINT:PRINT"*** FORKERT":PRINT:GOTO 320 00362 POKE 2976,13:POKE 2972,13: REM DISABLE ,: TERMINATION 00398 REM 00399 REM GET MASTER HEADER INFO 00400 DEV DV$(1) : OPEN F$(2),PW$,1 00405 FF$(1)="0":FF$(2)="0":FF$(3)="0":REM KEYFILE LOCATION MEMORY 00410 INPUT%1,T$: IF T$<> F$(1) THEN ERR=1: GOTO 30000 00420 INDEX<1>=6: INPUT%1,TY: IF TY<>10 THEN ERR=2: GOTO 30000 00430 INDEX<1>=9: INPUT%1,EODF 00440 INDEX<1>=20:INPUT%1,BODF 00450 INDEX<1>=31:INPUT%1,RL 00460 INDEX<1>=42:INPUT%1,RN 00470 INDEX<1>=53:N=1: REM DETERMINE NUMBER OF FIELDS 00480 INPUT%1,T$: INPUT%1,T 00490 IF INDEX(1)<BODF THEN N=N+1: GOTO 480 00500 INDEX<1>=53:DIM FDLB$(N),FL(N),FC$(N),C$(N) 00510 FOR I=1 TO N:INPUT%1,FDLB$(I):INPUT%1,FL(I): FL(I)=FL(I)-1:NEXT I 00520 DIM FP(N+1): FOR X=1 TO N: FP(X+1)=FL(X)+FP(X)+1: NEXT 00524 REM 00525 REM MAKE CURSOR STRINGS 00526 CB$="-":FOR I=1 TO 4:CB$=CB$+"-------------------------":NEXT 00527 FOR I=1 TO N:C$(I)=LEFT$(CB$,FL(I)):FC$(I)=C$(I):NEXT I 00529 REM 00530 PRINT:PRINT"\NSKES DET AT SPRINGE INSTRUKTIONERNE OVER (J/N) "; 00531 INPUT Y$:IF Y$=EE$ THEN CLOSE1:RUN 2 00532 IF LEFT$(Y$,1)="J" OR LEFT$(Y$,1)="" GOTO 698 00533 GOSUB 62000 00535 PRINT:PRINT:PRINT:PRINT 00548 REM 00549 REM OUTPUT CONTROL CHARACTER LEGEND 00550 PRINT" KONTROL KARAKTERER:":PRINT 00551 PRINT" * SLETTER AKTUELT FELT INDHOLD" 00552 PRINT" *R SLETTER HELE RECORDEN" 00553 PRINT" / RETUR TIL TIDLIGERE SP\RGSM]L" 00554 PRINT" RETURN JA / FORS[TTELSE" 00560 PRINT:PRINT 00561 FOR I=1 TO 5: PRINT: NEXT I 00562 INPUT"TAST RETURN, HVIS FORS[TTELSE ";J$ 00564 GOSUB 62000 00598 REM 00599 REM OUTPUT SAMPLE RECORD 00605 INPUT"\NSKES DET AT SE EN PR\VE RECORD ";Y$ 00606 IF Y$=EE$ THEN PRINT:PRINT:GOTO 530 00607 IF LEFT$(Y$,1)="N" GOTO 700 00608 GOSUB 62000 00640 PRINT"FIL: ";F$(1) 00680 GOSUB 10120: REM GO PRINT SAMPLE RECORD 00685 FOR I=1 TO N:FC$(I)="":NEXT I 00690 RPTR=1 00695 PRINT TAB(40);"FORS[TTELSE "; 00696 INPUT Y$ 00697 REM 00698 GOSUB 62000 00699 REM DETERMINE RECORD NUMBER 00700 PRINT:PRINT" RECORD UDV[LGELSES M]DER":PRINT 00701 X=RPTR 00711 PRINT" # -- RECORD NR. ( A FOR TILF\JELSE)" 00712 PRINT" L -- FELT/INDHOLD SGNING" 00713 PRINT" N -- N\GLE FIL/INDHOLD S\GNING" 00714 PRINT" S -- S\GNING I MASTER FIL MED EN TEXT" 00715 PRINT" / -- EXIT" 00720 INPUT SM$ 00722 IF SM$=NC$ THEN X=1: GOTO 820 00724 IF SM$=NE$ GOTO 790 00726 IF SM$=EE$ GOTO 50080:REM GO COMMON EXIT 00730 IF SM$="#" THEN PRINT"INDTAST RECORD NUMMER ":GOTO 720 00740 IF SM$="L" GOTO 5000: REM GOTO LABEL/CONTENT SEARCH 00750 IF SM$="N" GOTO 6000 00755 IF SM$="A" GOTO 3000: REM GO FIND EODF RECORD+1 00760 IF SM$="S" GOTO 2000 00770 X=ASC(LEFT$(SM$,1)) 00780 IF X>47 AND X<58 THEN X=VAL(SM$): GOTO 800 00790 PRINT"*** FORKERT !!!!": GOTO 700 00800 IF X=INT(X) GOTO 807 00802 PRINT"*** INDTAST KUN ET HELT TAL ****":GOTO 700 00807 IF X>0 AND X<=RN GOTO 820 00810 PRINT"*** FORKERT RECORD NR. ***":SM$="*":GOTO 730 00820 RPTR=X: REM COMMON EXIT FROM DETERMINE RECORD 00897 GOSUB 62000 00898 REM 00899 REM OUTPUT CURRENT RECORD 00900 GOSUB 10200: REM GO GET & PRT CURRENT RECORD 00908 REM 00909 REM INPUT AND DECODE FIELD NAME/NUMBER 00910 INPUT"INDTAST FELTNAVN ELLER NR. ";W$ 00911 IF W$=NC$ THEN W$="1":IF W$=NE$ GOTO 910 00912 IF W$=EE$ AND LEN(W$)=1 THEN CLOSE:OPENF$(2),PW$,1:FPTR=1:GOTO 700 00913 X=ASC(LEFT$(W$,1)) 00914 IF X>47 AND X<58 THEN W=VAL(W$):GOTO 930 00916 FOR I=1 TO N:IF FDLB$(I)=W$ THEN W=I:GOTO 930 00918 NEXT I 00920 PRINT"*** FELT ";W$;" ER IKKE FUNDET I FILEN ";F$(1);" ***":GOTO910 00930 IF W>=1 AND W<=N THEN FPTR=W:GOTO 1000 00931 PRINT"*** FELT NUMMER ";W;" ER IKKE FUNDET I FILEN ";F$(1):GOTO 910 00998 REM 00999 REM EDIT AND SAVE RECORD 01000 INDEX<1>=BODF+((RPTR-1)*RL)+FP(FPTR) 01020 IF INDEX(1)>=EODF THEN FC$(FPTR)="*** TOMT FELT ***" 01040 PRINT 01050 PRINT"FELT: ";FDLB$(FPTR) 01060 PRINT TAB(5);FC$(FPTR) 01070 PRINT TAB(5);C$(FPTR) 01120 PRINT TAB(3); 01130 INPUT S$ 01132 IF S$<>"*R" GOTO 1142 01133 S$="^P" 01134 INDEX<1>=BODF+((RPTR-1)*RL) 01136 IF LEN(S$)=FL(1) GOTO 1140 01138 S$=LEFT$(SP$,FL(1)-LEN(S$))+S$ 01140 PRINT%1,S$ 01141 CLOSE1:OPENF$(2),PW$,1:FPTR=1:GOTO 698 01142 IF S$=NC$ GOTO 1240 01144 IFS$=EE$ANDLEN(S$)=1THENCLOSE1:OPENF$(2),PW$,1:FPTR=1:GOTO910 01145 IF S$<>NE$ GOTO 1160 01146 S$="0" 01160 IF LEN(S$)<=FL(FPTR) GOTO 1195 01180 PRINT "*** FOR LANG !!!! *** ";LEN(S$)-FL(FPTR);" KARAKTERER ***" 01181 PRINT " ***** OPDEL FELT INDHOLDET *****" 01190 GOTO 1070 01195 FC$(FPTR)=S$ 01196 IF LEN(S$)=FL(FPTR) GOTO 1220 01200 S$=LEFT$(SP$,FL(FPTR)-LEN(S$))+S$ 01220 INDEX<1>=BODF+((RPTR-1)*RL)+FP(FPTR):PRINT%1,S$ 01225 IF INDEX(1)>EODFTHENEODF=BODF+(RPTR*RL):INDEX<1>=9:PRINT%1,EODF 01240 FPTR=FPTR+1 01260 IF FPTR<=N GOTO 1000 01280 GOSUB 10100 01281 PRINT 01282 INPUT"ER DETTE KORREKT (J/N) ";A$ 01283 IF A$=NC$ THEN A$="J" 01284 IF LEFT$(A$,1)="J" THEN GOSUB 62000:GOTO 1290 01286 IF LEFT$(A$,1)="N" GOTO 910 01288 PRINT"*** INDTAST JA (J) ELLER NEJ (N) ***":GOTO1281 01290 RPTR=RPTR+1 01300 IFRPTR<RNTHENCLOSE1:OPENF$(2),PW$,1:FPTR=1:GOSUB10200:GOTO1000 01320 PRINT:PRINT"** END OF FILE **" 01360 GOTO 685 01998 REM 01999 REM SIMPLE SEARCH ROUTINE 02000 GOSUB 62000 02001 PRINT 02002 PRINT"INDTAST S\GE TEXT (MAX. 32 KARAKTERER) ":PRINT 02003 INPUT ST$:IF ST$=EE$ GOTO 698 02004 IF LEN(ST$)=0 GOTO 2001 02005 GOSUB 60000 : REM GET FIELDS TO VERIFY ON 02010 INDEX<1>=BODF 02020 FIND ST$,1 02030 IF INDEX(1)>=1E9 THEN MS=1: GOTO 2100 02040 M=INT((INDEX(1)-BODF)/RL) 02045 M=M+1 02050 IF INDEX(1)>EODF THEN MS=2:GOTO 2100 02060 IF M>RN THEN MS=1:GOTO 2100 02070 X=M:GOTO 4000 02100 PRINT:IF MS=1 THEN PRINT ST$;" ER IKKE FUNDET I FILEN":GOTO 700 02110 IF MS=2 THEN PRINT ST$;" ER IKKE FUNDET F\R SLUT P] FILEN" 02115 IF MS=2 GOTO 700 02120 IF MS=3 THEN MS=1: GOTO 2100 02998 REM 02999 REM FIND RPTR FOR APPENEND MODE 03000 R=INT((EODF-BODF)/RL) 03010 IF R>=RN THEN PRINT:PRINT"*** FILEN ER FULD ****":GOTO 700 03020 X=R+1:GOTO 820 :REM GO GET RECORD 03998 REM 03999 REM SUB TO CONTINUE SEARCH 04000 RPTR=X:IF DS<N THEN GOSUB 60100:GOTO 4010 04005 GOSUB 10200 04010 INPUT"ER DET DEN RIGTIGE RECORD ";Z$ 04015 IF Z$=NC$ OR LEN(Z$)=0 THEN Z$="J" 04020 IF LEFT$(Z$,1)<>"J" GOTO 4030 04022 IF DS<N THEN GOSUB 10000:GOTO 910 04024 GOTO 910 04030 IF LEFT$(Z$,1)<>"N" THEN PRINT"**** INDTAST J ELLER N":GOTO4010 04040 INDEX<1>=BODF+(RPTR*RL) 04050 GOTO 2020 : REM CONTINUE SEARCH 04998 REM 04999 REM LABEL/CONTENT SEARCH 05000 GOSUB 62000 05010 PRINT"FELT NAVN":PRINT 05020 FOR I=1 TO (INT(N/2)*2) STEP 2 05021 PRINT I;TAB(4);FDLB$(I);TAB(37);I+1;TAB(41);FDLB$(I+1):NEXT 05030 IF INT(N/2)=N/2 THEN PRINT:GOTO 5040 05032 PRINT N;TAB(4);FDLB$(N):PRINT 05040 POKE 2976,44:POKE 2972,58:G$="":H$="" 05041 PRINT"INDTAST FELTNAVN ELLER ^NR, INDHOLD":PRINT:PRINT TAB(3) 05042 INPUTG$,H$:POKE2976,13:POKE2972,13:IFG$=EE$ORH$=EE$GOTO698 05043 IF LEFT$(G$,1)<>"^" GOTO 5050 05044 V=VAL(MID$(G$,2)):IF V<1 OR V>N GOTO 5032 05045 G$=FDLB$(VAL(MID$(G$,2))) 05050 FOR I=1 TO N:IF G$=FDLB$(I) GOTO 5070 05055 NEXT I 05060 PRINT:PRINT"FELTNAVN ";G$;" EJ FUNDET":PRINT:GOSUB62500:GOTO698 05070 G=I 05080 INDEX<1>=BODF 05090 FIND H$,1 05100 IF INDEX(1)>=1E9 THEN MS=1: GOTO 5200 05110 M=1+INT((INDEX(1)-BODF)/RL) 05120 IF INDEX(1)>EODF THEN MS=2:GOTO 5200 05130 IF M>RN THEN MS=1:GOTO 5200 05140 X=M:GOTO 5300 05160 GOTO 5120 05200 PRINT 05210 IF MS=1 THEN PRINT H$;" EJ FUNDET I FILEN": GOTO 700 05220 IF MS=2 THEN PRINT H$;" EJ FUNDET F\R SLUT P] FILEN" 05230 IF MS=2 GOTO 700 05240 IF MS=3 THEN MS=1:GOTO 5210 05298 REM 05299 REM CHECK LABEL/CONTENTS 05300 RPTR=X:GOSUB 10000: REM GO GET RECORD CONTENTS 05310 IF H$=FC$(G) GOTO 5330 05320 GOTO 5400: REM NO MATCH TRRY AGAIN 05330 IF G$<>FDLB$(G) GOTO 5400 05340 GOSUB 10100: REM OUTPUT RECORD 05350 INPUT"ER DET DEN RIGTIGE RECORD ";U$ 05355 IF U$="" THEN U$="J" 05360 IF LEFT$(U$,1)="J" GOTO 910 05370 IF LEFT$(U$,1)<>"N" THEN PRINT"*** INDTAST J ELLER N **":GOTO 5350 05400 INDEX<1>=INDEX(1)+LEN(H$) 05410 GOTO 5090 05887 REM 05998 REM KEYFILE SEARCH 05999 REM 06000 GOSUB 62000:PRINT"FELT NAVN":PRINT 06010 FOR X=1 TO 2*INT(N/2) STEP 2 06020 PRINT X;TAB(4);FDLB$(X);TAB(37);X+1;TAB(41);FDLB$(X+1):NEXT 06030 IF N/2<>INT(N/2) THEN PRINT N;TAB(4);FDLB$(N) 06035 PRINT 06040 PRINT"INDTAST FELTNAVN ELLER ^NR, INDHOLD" 06041 POKE 2976,44:POKE 2972,58 06042 PRINT:PRINT TAB(3);:INPUT A$,B$ 06043 POKE 2976,13:POKE 2972,13 06044 IF A$=EE$ OR B$=EE$ GOTO 698 06050 IF A$="" OR B$="" GOTO 6035 06054 IF LEFT$(A$,1)<>"^" GOTO 6058 06055 V=VAL(MID$(A$,2)):IF V<1 OR V>N GOTO 6035 06056 A$=FDLB$(VAL(MID$(A$,2))):GOTO 6065 06058 FORV=1TON:IF FDLB$(V)=A$ GOTO 6065 06060 NEXT 06062 PRINT:PRINT"*** EJ KORREKT FELTNAVN ***":PRINT:PRINT:GOTO 6040 06065 M=1 06070 F$(3)=F$(1)+MID$(STR$(M),2):DB$="A" 06075 IF STR$(V)=FF$(1)THENDEV FF$(2):OPENFF$(3),PW$,8:GOTO 6140 06080 DEV DB$:OPEN F$(3),PW$,8 06085 GOTO 6120 06090 DB$=CHR$(1+ASC(DB$)):IF DB$<"I" GOTO DL 06095 M=M+1:IF M<8 GOTO 6070 06100 PRINT:PRINT:PRINT"N\GLE FIL ";A$;" EJ FUNDET " 06105 DEV DV$(1) 06110 PRINT:GOSUB 62500:GOTO700 06120 INDEX<8>=9: INPUT%8,ZE 06121 INDEX<8>=20:INPUT%8,ZL 06122 INDEX<8>=31:INPUT%8,ZMB 06123 INDEX<8>=42:INPUT%8,P$ 06130 IF A$<>P$THENCLOSE8:DL=6080:DEV DV$(2):GOTO6090 06135 FF$(1)=STR$(V):FF$(2)=DB$:FF$(3)=F$(3) 06140 FIND "^"+B$,8: IF INDEX(8)<ZE GOTO 6160 06150 CLOSE8:DEV DV$(1):PRINT:PRINT 06152 PRINT"N\GLE TEXT ";B$;" EJ FUNDET": GOTO 6110 06160 INPUT%8,Z$,PTR 06170 RPTR=1+INT((PTR-BODF)/RL) 06180 GOSUB 10200 06190 PRINT:INPUT"ER DETTE KORREKT ";X$:IF X$="" THEN X$="J" 06192 IF X$="" OR X$="" THEN X$="J" 06200 IF X$="J" THEN CLOSE8:DEV DV$(1): GOTO 910 06202 IF X$="" OR X$="J" THEN CLOSE8:DEV DV$(1): GOTO 910 06210 GOTO 6140 09996 REM 09997 REM SUBROUTINES 09998 REM 09999 REM SUB 1 GET CURRENT RECORD CONTENTS 10000 TX=((RPTR-1)*RL)+BODF 10020 FOR I=1 TO N 10030 INDEX<1>=TX+FP(I):INPUT%1,FC$(I) 10080 NEXT I:RETURN 10098 REM 10099 REM SUB 1.2 PRINT CURRENT RECORD CONTENTS 10100 GOSUB 62000 10110 PRINT"RECORD: ";RPTR 10120 PRINT 10130 PRINT"FELT";TAB(34);"INDHOLD" 10151 XA=1 10160 FOR I=1 TO N 10170 PRINT I;FDLB$(I);TAB(35);FC$(I) 10171 IF I=N GOTO 10179 10172 IF XA<20 THEN XA=XA+1:GOTO 10179 10173 PRINT TAB(45);"FORS[TTELSE "; 10174 INPUT Y$ 10175 XA=1 10176 PRINT:PRINT"RECORD: ";RPTR;TAB(20);"FORSAT" 10177 PRINT:PRINT"FELT";TAB(34);"INDHOLD" 10178 REM ** 10179 NEXT I 10180 RETURN 10200 TX=((RPTR-1)*RL)+BODF: REM FETCH AND PRINT 10205 GOSUB 62000 10210 PRINT:PRINT"RECORD: ";RPTR:PRINT:PRINT"FELT";TAB(34);"INDHOLD" 10220 XA=1 10230 FOR I=1 TO N 10240 INDEX<1>=TX+FP(I):INPUT%1,FC$(I) 10250 PRINT I;FDLB$(I);TAB(35);FC$(I) 10260 IF I=N GOTO 10299 10270 IF XA<20 THEN XA=XA+1:GOTO 10299 10280 PRINT TAB(45);"FORS[TTELSE "; 10285 INPUT Y$ 10286 XA=1 10288 PRINT:PRINT"RECORD: ";RPTR;TAB(20);"FORSAT" 10290 PRINT:PRINT"FELT";TAB(34);"INDHOLD" 10299 NEXT I:RETURN 30000 IF ERR=1 THEN PRINT"*** FIL NAVN FORKERT ***":GOTO 30100 30010 IF ERR=2 THEN PRINT"*** FIL TYPE FORKERT ***":GOTO 30100 30020 GOTO 50080 30100 PRINT"** LOCATED FILE MISMATCH BEFORE CONTINUING **":GOTO 50080 50000 DE=PEEK(10226):DL=PEEK(11774)+PEEK(11775)*256 50001 IF DL=6080 GOTO 6090 50010 IF DE<>128 AND DL<>400 GOTO 50030 50020 PRINT:PRINT"*** FIL EJ FUNDET P] STATION ";DV$(1);" ***":PRINT 50021 GOSUB 62500:GOTO 2 50030 IF DE<>132 AND DL<>10032 GOTO 50070 50040 PRINT:PRINT"** END OF FILE **":PRINT:GOSUB 62500:GOTO 685 50070 PRINT"*** DISK FEJL ";DE;" LINIE ";DL;" ***" 50075 GOSUB 62500 50080 CLOSE:DEVDV$(2):FLAG12:FLAG2 50085 POKE 2976,44:POKE 2972,58 50090 DEV DV$(2):RUN"DBMSYS","PASS" 50100 PRINT:INPUT"TAST RETURN, HVIS FORS[TTELSE ";QS$ 52000 GOTO 50070 60000 PRINT 60010 FOR I=1 TO (INT(N/2)*2) STEP 2 60015 PRINT I;TAB(4);FDLB$(I);TAB(38);I+1;TAB(43);FDLB$(I+1) 60017 NEXT 60019 IF INT(N/2)<>(N/2) THEN PRINT N;TAB(4);FDLB$(N) 60020 PRINT:PRINT N+1;TAB(4);"HELE RECORDEN":PRINT 60030 PRINT"INDTAST FELT NAVN ELLER ^FELT NR." 60031 PRINT"P] FELTET DER SKAL SAMMENLIGNES.":PRINT 60040 INPUT Y$:IF LEFT$(Y$,1)="^"THENY=VAL(MID$(Y$,2)):GOTO 60050 60042 FOR X=1TON:IF FDLB$(X)=Y$ GOTO 60045 60043 NEXT:PRINT:PRINT:PRINT"*** FORKERT FELTNAVN ***":PRINT:PRINT 60044 GOTO 60000 60045 Y=X 60050 IF Y<1 OR Y>N+1 THEN PRINT CHR$(7):GOTO 60030 60052 IF Y=N+1 THEN DS=N:GOTO 60055 60053 DS=Y 60055 GOSUB 62000 60060 RETURN 60100 PRINT:REM S SEARCH VERIFY FETCH FIELD SUB 60110 INDEX<1>=BODF+((RPTR-1)*RL)+FP(DS) 60112 INPUT%1,KL$ 60120 PRINT "RECORD: ";RPTR 60130 PRINT 60140 PRINT FDLB$(DS):PRINT TAB(2);KL$ 60150 PRINT:PRINT:RETURN 62000 FOR I=1 TO 35:PRINT:NEXT:RETURN 62500 PRINT:INPUT"TAST RETURN, HVIS FORS[TTELSE";X$:PRINT:RETURN