{***************************************************************************} {* Super-Dirctory vers.1.5 / Mai 1985 by U.Kern *} {* CP/M-Version *} {***************************************************************************} PROGRAM SuperDirectory; CONST MaxZahl = 200; TYPE DiskIdent = STRING[4]; DirName = STRING[11]; DirEintrag = RECORD Name : DirName; DskNr: DiskIdent; User : Byte; END; Index = 1..MaxZahl; Info = STRING[19]; VAR DirZahl : Index; Directory : ARRAY[Index] OF DirEintrag; MenueAuswahl : char; Befehl : STRING[127] ABSOLUTE $80; MusterName : DirName; MusterIdent : DiskIdent; LDrive : Byte; {$I SD-MOD1.INC} {$I SD-MOD2.INC} {$I SD-MOD3.INC} {$I SD-MOD4.INC} {$I SD-MOD5.INC} {***************************************************************************} {* Das Hauptprogramm *} {***************************************************************************} BEGIN {Hauptprogramm} WHILE (Befehl<>'') AND (Befehl[1]=' ') DO Befehl:=copy(Befehl,2,length(Befehl)-1); IF Befehl<>'' THEN BEGIN MachMuster(MusterIdent,MusterName); LiesSuperDir(MusterIdent,MusterName,DirZahl); SchreibListe(DirZahl) END ELSE BEGIN LDrive:=MEM[4] AND 15; LiesSuperDir('','???????????',DirZahl); REPEAT ClrScr; writeln('Super-Directory'); writeln; writeln(MaxZahl-DirZahl,' Eintraege frei.'); writeln; writeln('E)ingabe neuer Disketten'); writeln('A)usgabe der Liste'); writeln('Q)uit'); writeln; write('Ihre Wahl? '); REPEAT read(kbd,MenueAuswahl) UNTIL upcase(MenueAuswahl) in ['E','A','Q']; writeln(upcase(MenueAuswahl)); writeln; CASE upcase(MenueAuswahl) OF 'E' : DirEingabe; 'A' : SchreibListe(DirZahl); END; UNTIL upcase(MenueAuswahl)='Q'; END END.