home *** CD-ROM | disk | FTP | other *** search
- {$A+,B-,D+,E-,F-,I+,L+,N-,O-,R-,S-,V+}
- {$M 5000,5000,10000}
- program free_disk;
-
- uses
- testfile,uupcase,dos,fdisks;
-
- var
- s : string;
- b : byte;
- l : byte absolute s;
-
- const
- summe : longint = 0;
-
- procedure free(ch : char);
-
- var
- b : byte;
- n : longint;
-
- begin
- ch:=upcase(ch);
- if (ch<'A') or (ch>'Z') then exit;
- b:=ord(ch)-pred(ord('A'));
- n:=diskfree(b);
- summe:=summe+n;
- writeln('Laufwerk ',ch,': ',n:12,' Bytes,',n div 1024:10,' kBytes',' frei');
- end;
-
- begin
- s:=paramstr(1);
- if s='' then begin
- s:=disks;
- if s='' then begin
- getdir(0,s);
- free(s[1]);
- end
- else begin
- for b:=1 to l do free(s[b]);
- writeln('----------':24,'----------':17);
- writeln('Gesammt:',summe:16,' Bytes,',summe div 1024:10,' kBytes frei');
- end;
- end
- else free(s[1]);
- end.
-