FileSize, jaką różnicę od tej procedury i jakie jest lepsze wykorzystanie?
o pobieraniu rozmiaru pliku, mam te dwie funkcje:
function GetFileSize1(const FileName: TFileName): Int64;
var
iTmp: Int64;
SearchRec: TSearchRec;
begin
iTmp := -1;
if FindFirst(FileName, faAnyFile, SearchRec) = 0 then
begin
iTmp := SearchRec.Size;
System.SysUtils.FindClose(SearchRec);
end;
Result := iTmp;
end;
I:
function GetFileSize2(const FileName: TFileName): Int64;
var
FileStream: TFileStream;
begin
FileStream := TFileStream.Create(FileName, fmOpenRead);
try
Result := FileStream.Size;
finally
FileStream.Free;
end;
end;
W praktyce, co to za różnica? Oba zwracają oczywiście ten sam wynik, ale co jest bardziej przystępne, szybsze, bezpieczniejsze? Albo lepiej, co jest korzystniejsze? Pierwszy czy drugi? Dziękuję bardzo.