On Fri, 24 Jul 2020, Bo Berglund via fpc-pascal wrote:

I am using FindAllFiles in order to list the files in a directory and
it works fine.

But I also need the size and timestamp of the file so I searched the
net for it.

What I found was:

var T: TDateTime;
T := FileDateTodateTime(FileAge(filename));

But FileSize() needs a file argument to an open file!

This is not what I want, I may not even be allowed to open the file.

So is there a *cross-platform* way to retrieve the size of the files
too?

uses sysutils;

Function GetFileSize(aFileName : String) : Int64;

Var
  Info : TSearchRec;

begin
  If FindFirst(aFileName,0,Info)=0 then
    Result:=Info.SIze
  else
    Result:=-1;
  FindClose(Info);
end;

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to