FileSize, que diferença deste procedimento e qual o melhor uso?
sobre obter o tamanho de um arquivo, eu tenho essas duas funções:
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;
E:
function GetFileSize2(const FileName: TFileName): Int64;
var
FileStream: TFileStream;
begin
FileStream := TFileStream.Create(FileName, fmOpenRead);
try
Result := FileStream.Size;
finally
FileStream.Free;
end;
end;
Na prática, qual é a diferença disso? Ambos retornam o mesmo resultado, claro, mas o que é mais afável, mais rápido, mais seguro? Ou melhor, o que é preferível usar? Primeiro ou segundo? Muito obrigado.