home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* BDIR.PAS *)
- (* (c) 1989 Achim Bergmeister & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM B_Dir;
-
- USES Crt, Dos, Ergunit, Dirunit;
-
- VAR
- zeile : zeilen;
- summe : LONGINT;
- msk : PathStr;
- zaehler, i, datz, zahl : INTEGER;
- c : char;
- pfad : DirStr;
- zahlstr, sumstr : STRING[6];
- titel : s80;
-
- FUNCTION Kleiner(x, y : INTEGER) : INTEGER;
- BEGIN
- IF x < y THEN Kleiner := x ELSE Kleiner := y;
- END;
-
- PROCEDURE Rahmenfrei;
- BEGIN
- ClrScr; FOR i := 2 TO 24 DO Wrtxy(40, i, '│');
- END;
-
- PROCEDURE Ausgabe(ab : INTEGER; VAR stand : INTEGER);
- VAR
- i : INTEGER;
- BEGIN
- FOR i := 1 + ab TO Kleiner(23 + ab, zaehler) DO
- Wrtxy(9, i + 1 - ab, zeile[i]);
- IF zaehler >= datz THEN
- FOR i := 24 + ab TO Kleiner(46 + ab, zaehler) DO
- Wrtxy(42, i - 22 - ab, zeile[i]);
- stand := i;
- END;
-
- BEGIN
- IF paramcount > 0 THEN msk := ParamStr(1)
- ELSE msk := '*.*';
- GetDir(0, pfad);
- IF Length(pfad) > 3 THEN titel := pfad + '\' + msk
- ELSE titel := pfad + msk;
- c_off; ClrScr;
- summe := 0; zaehler := 0;
- datz := 0; zahl := 0;
- FOR i := 1 TO 200 DO zeile[i] := '';
- Dir(zeile, zaehler, summe, msk);
- Hell;
- Window(8, 2, 72, 24);
- rahmen(7, 1, 73, 25, 1, ' ' + titel + ' ');
- rahmenfrei;
- Invers;
- IF zaehler < 47 THEN
- Wrtxy(65, 25, ' ESC ')
- ELSE
- Wrtxy(59, 25, ' ' +Chr(27) +' │ ' +Chr(26) +' │ ESC ');
- Hell;
- Str(zaehler, zahlstr); Str(summe, sumstr);
- Wrtxy(20, 25, ' ' + zahlstr + ' Dateien belegen ' +
- sumstr + ' Bytes. '); Normal;
- ausgabe(zahl, datz);
- REPEAT
- c := ReadKey;
- IF c = #0 THEN BEGIN
- c := ReadKey;
- CASE c OF
- #77: IF zaehler > datz THEN BEGIN
- Inc(zahl, 23); Rahmenfrei;
- ausgabe(zahl, datz);
- END ELSE Beep;
- #75: IF zahl > 0 THEN BEGIN
- Dec(zahl, 23); Rahmenfrei;
- ausgabe(zahl, datz);
- END ELSE Beep;
- ELSE Beep;
- END;
- END;
- UNTIL c = #27;
- Window(1, 1, 80, 25); GotoXY(1, 25); c_on;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von BDIR.PAS *)