Como obter o tamanho de um arquivo em bytes?
Muitas vezes precisamos testar o tamanho de um arquivo para fazer validações,
por mais simples que pareça, não é algo tão direto de se colocar no código.
Felizmente preparamos uma função se simplifica o uso, veja abaixo
A função retorna tamanho em bytes do arquivo informado.
1
2
3
4
5
6
7
8
9
| function GetFileSize(aFile: TFileName): Int64;
begin
with TFileStream.Create(aFile, fmOpenRead or fmShareExclusive) do
try
Result := Size;
finally
Free;
end;
end; |
function GetFileSize(aFile: TFileName): Int64;
begin
with TFileStream.Create(aFile, fmOpenRead or fmShareExclusive) do
try
Result := Size;
finally
Free;
end;
end;
Exemplo de uso
1
2
3
4
| procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( IntToStr( GetFileSize('D:\azul.png') ));
end; |
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( IntToStr( GetFileSize('D:\azul.png') ));
end;
Mas se eu quiser ver o tamanho em KB, MB e etc?
Uma forma é ir dividindo por 1024.
Veja o exemplo 2
1
2
3
4
5
6
7
8
9
10
| procedure TForm1.Button2Click(Sender: TObject);
var
vTam : Int64;
begin
vTam := GetFileSize('D:\azul.png');
ShowMessage( IntToStr( vTam ) + ' bytes');
ShowMessage( IntToStr( vTam div 1024 ) + ' KB');
ShowMessage( IntToStr( vTam div 1024 div 1024 ) + ' MB');
end; |
procedure TForm1.Button2Click(Sender: TObject);
var
vTam : Int64;
begin
vTam := GetFileSize('D:\azul.png');
ShowMessage( IntToStr( vTam ) + ' bytes');
ShowMessage( IntToStr( vTam div 1024 ) + ' KB');
ShowMessage( IntToStr( vTam div 1024 div 1024 ) + ' MB');
end;
Desta forma a verificação do tamanho de um arquivo fica muito simples e direta.
Espero que seja útil.
Dúvidas ou sugestões? Deixe o seu comentário!
Referencia: https://www.devmedia.com.br/dicas-extraindo-o-tamanho-de-um-arquivo/935
-
Giovani Da Cruz
-
6.647 views
- 0 comentários
- 22 de janeiro de 2019
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo