home *** CD-ROM | disk | FTP | other *** search
- (*-----------------------------------------------------------------------*)
- (* Dateigroesse ermitteln: Wie zur Erstellung eines FCB gibt es in neueren
- BS dazu ebenfalls eine BDOS-Funktion. Z.B. CP/M-Plus:
- Funktion 35: Compute File Size.
- Die hier verwendete Prozedur benutzt die Turbo-Pascal-Funktion
- FileSize(f). *)
-
- Procedure ComputeFileSize (Var DirList :DirArray;
- Drive :Byte;
- NoEntries :Integer);
-
- Var i : Integer;
- f : File;
- FCB : Array [0..35] of byte;
-
- Begin
- For i:=1 to NoEntries do
- With DirList[i] do
- Begin
- FillChar (FCB,36,#0); (* FCB initialisieren *)
- Move (Drive,FCB,1); (* Laufwerk Kennung *)
- Move (FileName[1],FCB[1],8); (* Filename eintragen *)
- Move (FileName[10],FCB[9],3);
- BDOS ($23,Addr(FCB)); (* Filegroesse bestimmen *)
- Move (FCB[33],RecSize,2); (* Filegroesse eintragen *)
- kSize := RecSize div 8;
- If RecSize mod 8 <> 0 Then
- kSize := succ(kSize);
- End;
- End; (* ComputeFileSize *)
-
- (*------------------------------------------------------------------------*)