10 REM ..LIST FILDUBLT 20 REM  Egils programmeri 83 07 07 30 REM ...R% filer med N% namn.xxx 40 REM ... Q% {r radnummer p} sidan, H% {r namnplats i raden (max 7) 50 ; CHR$(12) : R%=0% : N%=0% : Q%=6% 60 ; 'P} printern (J) '; : INPUT P$ : IF P$='n' OR P$='N' THEN L%=0% ELSE L%=2% : OPEN 'pr:' ASFILE 2% 65 IF L%=2% ; : ; 'St{ll in papperet och tryck -' : GET A$ : ; 70 IF L%=2% ; 'Datum p} utskriften ... '; : GOSUB 1000 : ; #L% : ; #L%,D$ : ; #L% 80 B$=' ' : R$=CHR$(13%)+CHR$(10%) 85 S$='Tryck RETURN f|r att lista'+R$+' - f|r att bromsa'+R$+' S f|r att s|ka filnamn' 90 IF L%=0% THEN ; : ; S$; : GET S$ : IF S$='s' OR S$='S' THEN S1%=-1% 100 OPEN 'SORTFILE.FIL' ASFILE 1% 110 ONERRORGOTO 200 112 IF S1% THEN ; : ; 'VILKEN FIL S\KAS'; : INPUT A$ : IF LEN(A$)=0% 112 : S$=A$ : ; CHR$(12) : ; 'S\KER 'S$ 120 GOSUB 280 130 INPUTLINE #1,A$ 140 R%=R%+1% 150 GOSUB 270 152 IF S1% THEN IF S$=LEFT$(A$,LEN(S$)) ; A$ 154 IF S1% 180 160 IF LEFT$(A$,8%)=LEFT$(B$,8%) THEN ; #L%' 'RIGHT$(A$,10%); : H%=H%+1% ELSE 195 165 IF H%=7% THEN H%=-2% : ; #L% : ; #L%SPACE$(7%); : Q%=Q%+1% 170 B$=A$ 180 A%=INP(56%)-128% : IF CHR$(A%)='-' THEN GET A$ 190 GOTO 130 195 N%=N%+1% : Q%=Q%+1% : IF Q%=62% THEN FOR Q%=62% TO 72% : ; #L% : NEXT Q% : Q%=3% : ; #L%D$ : ; #L% 196 ; #L% : ; #L%TAB(8%)A$; : H%=0% : GOTO 170 200 CLOSE 1% 202 IF S1% ; : ; 'S\KA FLER '; : GET A$ : IF A$='J' OR A$='j' 100 ELSE END 210 GOSUB 280 220 ; #L% : ; #L%'Detta var hela listan p}'N%' NAMN.--- oberoende av --------.TYP' : ; #L% 230 ; #L%'In alles listades'R%' filer, varav 'R%-N%' hade gemensamt f|rnamn NAMN.---' 235 ; #L% : ; #L%,D$ : ; #L% 240 ; : ; 'Flera namn som skall sorteras ?'; : GET A$ : IF A$='j' OR A$='J' THEN CHAIN 'SKIVREG' 245 FOR Q%=Q% TO 72% : ; #L% : NEXT Q% 250 ; #L% : ; 'PROGRAMMET SLUT' : ; #L% : GET A$ : STOP 270 A$=LEFT$(A$,LEN(A$)-2%) : RETURN 280 ; #L% : ; #L% : ; #L%TAB(8)'NAMN .TYP SKIVNUMMER' : ; #L% : RETURN 1000 REM ...LIST DATENTRY ... Egils programmeri 83 07 16 ... {ndra cursor efter behov 1010 DIM D$(3)=2% 1020 DIM M$(12%)=9% : FOR I%=1% TO 12% : READ M$(I%) : NEXT I% 1030 DATA januar,februar,mars,april,maj,juni,juli,august,september,oktober,november,december 1040 ; CHR$(12%); : C$=CUR(11%,10%) : B$=C$+'ok=RET fel=<-' 1050 F$='19'+STRING$(2%,95%)+'-'+STRING$(2%,95%)+'-'+STRING$(2%,95%) 1060 N$='' : A%=0% : ; CUR(10%,10%)F$; : A1%=LEN(F$) 1070 IF A%>=LEN(F$) THEN 1090 ELSE A%=INSTR(A%+1%,F$,CHR$(95%)) : ; CUR(10%,10%+A%-1%)''; 1080 GET A$ : IF INSTR(1%,'1234567890'+CHR$(32),A$) ; A$; : N$=N$+A$ : GOTO 1070 1090 ; B$ : C%=INP(56%)-128% : IF C%=8% THEN ; C$SPACE$(13%) : GOTO 1060 ELSE IF C%=13% THEN 1100 ELSE 1090 1100 IF A% fel=<-' ELSE ; C$SPACE$(13%)B$ : GOTO 1120 1110 C%=INP(56%)-128% : IF C%=8% THEN ; C$SPACE$(13%) : GOTO 1060 ELSE IF C%=9% THEN 1120 ELSE 1110 1120 REM ... UPP-PACKNING AV N$ (DATUM) 1130 FOR A%=1% TO 3% : D%(A%)=VAL(MID$(N$,2%*A%-1%,2%)) : NEXT A% 1140 ; 1150 REM ...r{kna dagar efter 1 jan 1910 1160 D%=365%*(D%(1%)-10%)+D%(3%) 1170 A1%=(D%(2%)<2) AND (D%(3%) AND NOT -4)=0 1180 D$='000303060811131619212426' 1190 D%=D%+INT((D%(1%)-1%)/4%+(D%(2%)-1)*28%+VAL(MID$(D$,(D%(2%)-1%)*2%+1%,2%))-A1%) 1200 D$=MID$('onsdag torsdagfredag l|rdag s|ndag m}ndag tisdag ',(D%-INT(D%/7%)*7%)*7%+1%,7%) 1210 D$=D$+NUM$(D%(3%))+' '+M$(D%(2%))+' 19'+RIGHT$(NUM$(D%(1%)),2%) 1220 ; 'TRYCK -' 1230 ; C$D$ : POKE 65013%,0% : GET A$ : RETURN