10 REM DISKETTENINHALTSVERZEICHNIS
20 OPTION RUN
30 '
40 '
50 '****** Ein Programm von G.Kohnen - K|ln 1986
60 '
70 '
80 'INITIALISIERUNG
90 '
100 DIM a$(1000,3),speicher$(3)		'a$(n,1)=Filename;a$(n,2)=Extension;a$(n,3)=Diskname
110 cls$=CHR$(27) +"E"			'Bildschirm l|schen
120 home$=CHR$(27) +"H"			'Cursor links oben
130 linkerrand$=CHR$(27) +"l"+CHR$(12)	'Drucker linker Rand
140 ff$=CHR$(12)			'Drucker Form Fead
150 fett$=CHR$(27) +"E"			'Drucker Fettschrift
160 mager$=CHR$(27) +"F"		'Drucker Magerschrift
170 breit$=CHR$(14) 			'Drucker Breitschrift
180 schmal$=CHR$(20)			'Drucker Schmalschrift
190 DEF FNpkt$(spalte,zeile,zeichen$)=CHR$(27)+"Y"+CHR$(32+zeile)+CHR$(32+spalte)+zeichen$	'Cursor nach x,y setzen
200 WIDTH LPRINT 80
210 waagerecht$=STRING$(90,"*")		'waagerechte Reihe
220 senkrecht$ ="*"+SPACE$(88)+"*"	'senkrechte Reihen
230 n=1:file=1				'n=disknummer;file=filenummer
240 DIM diskname$(30)
250 '
260 'BILDSCHIRM aufbauen
270 '
280 PRINT cls$ home$
290 PRINT FNpkt$(0,0,waagerecht$)
300 FOR I=1 TO 27:PRINT FNpkt$(0,I,senkrecht$):NEXT I
310 PRINT FNpkt$(0,28,waagerecht$)
320 PRINT FNpkt$(24,3,"D I S K - I N H A L T S V E R Z E I C H N I S")
330 frei=FRE(""):PRINT FNpkt$(68,5,STR$(frei)+" Bytes frei  ")
340 PRINT FNpkt$(0,6,waagerecht$)
350 PRINT FNpkt$(4,8,"DATUM")
360 PRINT FNpkt$(50,8,":");:INPUT datum$
370 PRINT FNpkt$(4,10,"BITTE DEN NAMEN DER"+STR$(n)+".DISKETTE EINGEBEN ")
380 PRINT FNpkt$(51,10,"                       ")
390 PRINT FNpkt$(50,10,":");:INPUT diskname$(n)
400 diskname$(n)=UPPER$(LEFT$(diskname$(n),12))
410 PRINT FNpkt$(51,10,diskname$(n)+"             ")
420 PRINT FNpkt$(4,12,"DISKETTE EINGEBEN UND  <RETURN> DR]CKEN")
430 PRINT FNpkt$(51,12,"                       ")
440 PRINT FNpkt$(50,12,":");:INPUT I$
450 '
460 'Diskettenliste
470 '
480 PRINT FNpkt$(4,16,"Eingelesene Disketten :")
490 IF n>10 THEN 570
500 FOR I =1 TO n
510 PRINT FNpkt$(6,(I+17),diskname$(I))
520 NEXT I
530 GOTO 630
540 '
550 'Scroll f}r Diskettenliste
560 '
570 FOR I=1 TO 10
580 PRINT FNpkt$(6,(17+I),diskname$(N-10+I)+"                ")
590 NEXT I
600 '
610 'Filenamen und Extension einlesen
620 '
630 FOR I=1 TO 64 
640 b$=FIND$("*.*",I):IF b$="" THEN 670
650 a$(file,1)=LEFT$(b$,8):a$(file,2)=RIGHT$(b$,3):a$(file,3)=diskname$(n)
660 file =file+1:NEXT I
670 frei=FRE(""):PRINT FNpkt$(68,5,STR$(frei)+" Bytes frei  ")
680 PRINT FNpkt$(4,14,"N[CHSTE DISKETTE EINGEBEN (J/N)")
690 PRINT FNpkt$(50,14,":                    ")
700 PRINT FNpkt$(51,14,"");:INPUT I$:IF UPPER$(I$)<>"J" AND UPPER$(I$)<>"N" THEN GOTO 690
710 IF UPPER$(I$)="J" THEN n=n+1:GOTO 370
720 filezahl=file-1
730 '
740 'Diskettenliste l|schen
750 '
760 FOR I=16 TO 27 
770 PRINT FNpkt$(1,I,SPACE$(88))
780 NEXT I
790 '
800 'Druckmodus
810 '
820 PRINT FNpkt$(33,16,"D R U C K E R M O D U S")
830 PRINT FNpkt$(25,18,"PAPIER EINLEGEN UND <RETURN> DR]CKEN");:INPUT I$
840 PRINT FNpkt$(32,21,"MOMENTSCHEN,ICH SORTIERE...")
850 LPRINT linkerrand$;
860 seite=1:pzeile=1
870 '
880 'Haupt}berschrift
890 '
900 LPRINT breit$;fett$;" ";"DISKETTENINHALTSVERZEICHNIS";mager$;schmal$:LPRINT
910 GOSUB 1180 '->Seiten}berschrift
920 '
930 'Sortierprogramm
940 '
950 FOR K=1 TO filezahl-1
960 z=K
970 FOR I=K+1 TO filezahl
980 IF a$(z,1)<a$(I,1) THEN 1010
990 IF a$(z,1)=a$(I,1) AND a$(z,2)<a$(I,2) THEN 1010
1000 z=I
1010 NEXT I
1020 FOR J=1 TO 3
1030 speicher$(J)=a$(K,J)
1040 a$(K,J)=a$(z,J)
1050 a$(z,J)=speicher$(J)
1060 NEXT J
1070 NEXT K
1080 '
1090 'Listendruck
1100 '
1110 pzeile=1
1120 FOR I=1 TO filezahl
1130 LPRINT a$(I,1),a$(I,2),,a$(I,3)
1140 pzeile =pzeile+1:IF pzeile<55 THEN 1150 ELSE LPRINT ff$;:LPRINT:LPRINT:seite=seite+1:pzeile=1:GOSUB 1180
1150 NEXT I
1160 '
1170 END
1180 '
1190 'Blatt}berschrift
1200 '
1210 LPRINT fett$;:LPRINT CHR$(27);"-1Disketteninhaltsverzeichnis     Stand:";datum$;"    BLATT";seite;CHR$(27)+"-0":LPRINT
1220 LPRINT "FILENAME","EXTENSION",,"DISKNAME";mager$:LPRINT
1230 RETURN
nd:";datum$;"    BLATT";seite;CHR$(27)+"-0":LPRINT
1220 LPRINT 