10 REM  LIST SKIVREG... Vidaref|rning av DISKREG , Egils programmeri 20 I%=0% : A%=0% : S%=0% : D%=0% : F%=0% 30 K$='RVPBFXIATS' : DIM F$(119%)=12% 100 REM ** HUVUDPROGRAM *** 110 GOSUB 20000 120 GOSUB 22000 121 GOSUB 21100 122 GOSUB 21000 123 INPUT I$ : GOSUB 10000 135 GOSUB 22500 136 I%=INSTR(1%,K$,I$) : IF I%=0% THEN 120 140 ON I% GOSUB 1000,2000,23000,3000,4000,28000,20000,6000,7000,8000 141 GOTO 120 1000 REM **** REGA SKIVA *** 1005 GOSUB 10600 1007 IF INSTR(1%,I$,']') OR INSTR(1%,I$,'}') THEN RETURN 1015 E%=4% : ONERRORGOTO 29000 : D%=VAL(I$) 1020 POKE 64769%,1% : Z%=CALL(24678%,192%) 1030 IF PEEK(64789%) THEN E%=1% : GOTO 29000 1040 F%=0% : FOR I%=0% TO 7% : B%(I%)=PEEK(62959%+I%) : NEXT I% 1050 FOR S%=0% TO 7% : IF B%(S%)<2% THEN 1130 1060 Z%=CALL(24678%,512%+S%*32%) 1070 FOR A%=62736% TO 62960% STEP 16% 1075 IF PEEK(A%)=255% THEN 1120 1080 F$(F%)='' : FOR I%=4% TO 11% : F$(F%)=F$(F%)+CHR$(PEEK(A%+I%)) : NEXT I% 1085 F$(F%)=F$(F%)+'.' 1090 FOR I%=12% TO 14% : F$(F%)=F$(F%)+CHR$(PEEK(A%+I%)) : NEXT I% 1095 F%=F%+1% 1120 NEXT A% 1130 NEXT S% 1135 E%=2% : ONERRORGOTO 29000 : PREPARE 'DR0:SKIVA'+NUM$(D%)+'.DAT' ASFILE 1% 1137 FOR I%=0% TO F%-1% : ; #1%,F$(I%) : NEXT I% 1150 CLOSE 1% : GOTO 2010 2000 REM *** L[S I REGISTER *** 2005 GOSUB 10600 2007 IF INSTR(1%,I$,']') OR INSTR(1%,I$,'}') THEN RETURN 2008 E%=4% : ONERRORGOTO 29000 : D%=VAL(I$) 2010 E%=3% : ONERRORGOTO 29000 : OPEN 'SKIVA'+NUM$(D%)+'.DAT' ASFILE 1% 2012 ; 'SKIVA ';D% 2015 ; CHR$(12%) : GOSUB 22000 2020 GOSUB 10500 : ; CUR(2%,0%); : ONERRORGOTO 2060 : T%=0% : FOR I%=0% TO 119% 2030 INPUTLINE #1%,F$ : F$=LEFT$(F$,LEN(F$)-2%) 2031 IF I$='F' GOTO 2042 2032 IF L%=9% OR PEEK(885)=88 THEN 2040 2035 ; TAB(T%)F$; : T%=T%+14% : IF T%=42% T%=0% 2037 GOTO 2050 2040 ; #L%,TAB(T%)F$; : T%=T%+14% : IF T%=70% T%=0% : ; #L% 2041 GOTO 2050 2042 ; #2,F$+NUM$(D%) : G%=G%+1% 2050 NEXT I% : CLOSE 1% 2060 RETURN 2980 DATA 'FILNAMNET FINNS EJ!!!' 3000 REM *** BL[DDRA I REG *** 3010 IF L%=9% ; CUR(23%,0%)'Printar lib fr}n'D%' till'; : INPUT D9% : IF D9%'?' I$=LEFT$(I$,I%-1%)+CHR$(ASC(RIGHT$(I$,I%)) AND 223%)+RIGHT$(I$,I%+1%) 8025 NEXT I% 8028 FOR S%=0% TO 1% 8030 FOR D%=1% TO A% : ONERRORGOTO 8050 : ; CUR(0%,24%)'Drive'S%' Skiva'D%; 8031 IF D%=A% AND S%=1% THEN E%=5% : GOTO 29000 8032 OPEN 'DR'+NUM$(S%)+':SKIVA'+NUM$(D%)+'.DAT' ASFILE 1% 8037 ONERRORGOTO 8050 8040 FOR I%=0% TO 119% : INPUT #1%,F$ : IF F$=I$ THEN 2010 ELSE NEXT I% 8050 NEXT D% 8053 NEXT S% 8060 RETURN 10000 I$=CHR$(ASC(RIGHT$(I$,1%)) AND 223%) : RETURN 10500 REM *** SKIVNUMMER *** 10510 ; #L% : ; #L%,,'SKIVA NR:'D%' ' : ; CUR(0%,25%);'Skiva nr:'D% : RETURN 10600 REM *** TAG IN SKIVNUMMER *** 10605 GOSUB 21110 : GOSUB 21030 : INPUT I$ 10630 RETURN 20000 REM *** INSTRUKTIONER *** 20005 ; CHR$(12%)'SKIVREGISTER' 20010 ; : ; 'REGISTERSKIVAN SKALL SITTA I DR0:' 20020 ; 'SKIVA SOM SKALL REGISTRERAS S[TTAS I DR1:' 20030 ; 'KOMMANDON:' 20040 ; 'REGISTRERA SKIVA............R' 20050 ; 'VISA EN REG.SKIVA...........V' 20052 ; 'VISA TILL/FR]N PRINTER......P'; 20053 IF L%=0% THEN ; ' FR]N' ELSE ; ' TILL' 20055 ; 'BL[DDRA I REGISTERET........B' 20057 ; 'SAMLA FILNAMNEN -> @N FIL...F' 20058 ; 'SORTERA SAMLINGSFILEN.......X' 20060 ; 'S\K EFTER FILNAMN...........S' 20070 ; 'INSTRUKTIONER...............I' 20075 ; ']NGRA.......................]' 20078 ; 'TAG BORT REGISTRERING.......T' 20079 ; 'AVSLUTA PROGRAMMET..........A' 20080 ; : ; 'TRYCK >RETURN< N[R DU HAR L[ST KLART' 20090 GET I$ : IF ASC(I$)=13% THEN ; CHR$(12%); : RETURN ELSE 20090 21000 REM *** KOMMANDOTEXT *** 21010 ; CUR(20%,0%)' KOMMANDO (R V P B F X S I ] T A)'; 21020 RETURN 21030 REM ***************** 21040 ; CUR(21%,0%)' SKIVANS NUMMER.............'; 21050 RETURN 21100 REM *** RADERA RADER *** 21105 ; CUR(20%,0%)SPACE$(40%); 21110 ; CUR(21%,0%)SPACE$(40%); 21115 RETURN 22000 REM *** RUBRIK O GRAFIK *** 22010 ; CUR(0%,0%)' * SKIVREGISTER *' 22020 ; CUR(1%,0%)CHR$(151%)STRING$(39%,44%); 22030 ; CUR(19%,0%)CHR$(151%)STRING$(39%,44%); 22040 ; CUR(22%,0%)CHR$(151%)STRING$(39%,44%); 22050 RETURN 22500 ; CUR(23%,0%)SPACE$(39%); : RETURN 23000 REM ...BYTA PRINTEROPTION 23010 IF L%=0% THEN L%=9% : OPEN "PR:" ASFILE 9% ELSE IF L%=9% THEN L%=0% : CLOSE 9% 23020 ; CUR(0%,20%)'Printern {r nu '; : IF L%=0% THEN ; 'fr}n' ELSE ; 'till' 23030 RETURN 28000 CHAIN 'SORTFILE.BAS' 29000 REM *** FELMEDELANDE *** 29010 ON E% RESTORE 29040,29050,29060,29070,29080 29020 READ E$ : ; CUR(23%,1%)CHR$(7%)E$; 29030 RETURN 29040 DATA 'SKIVAN EJ KLAR!!!' 29050 DATA 'REGISTERSKIVAN SAKNAS!!!' 29060 DATA 'FINNS EJ I REGISTRET!!!' 29070 DATA 'FELAKTIGT SKIVNUMMER!!!' 29080 DATA 'FILNAMNET FINNS EJ!!!'