[fpc-pascal] Getting size of file without opening it?

Bo Berglund bo.berglund at gmail.com
Fri Jul 24 21:18:32 CEST 2020


On Fri, 24 Jul 2020 00:29:10 +0200 (CEST), Michael Van Canneyt
<michael at freepascal.org> wrote:

>
>
>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;
>
Added to my "utils" unit. :-)
Thanks!

-- 
Bo Berglund
Developer in Sweden



More information about the fpc-pascal mailing list