Você está aqui: Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Obtendo o tamanho de um arquivo em bytes, KB, MB ou GBQuantidade de visualizações: 23467 vezes |
Em algumas situações precisamos obter o tamanho de um arquivo em bytes e, se necessário, converter este valor em bytes para KB, MB ou GB. Esta dica mostra como isso pode ser feito. Aqui nós temos duas funções. A função TamanhoArquivoBytes() recebe o caminho e nome de um arquivo e retorna seu tamanho em bytes. Já a função TamanhoArquivoFormatado() recebe um valor em bytes e devolve uma string formatada. Veja o exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // permite formatar o tamanho de um arquivo em bytes em // Kb, Mb ou Gb function TamanhoArquivoFormatado(const bytes: Longint): string; const b = 1; // byte kb = 1024 * b; // kilobyte mb = 1024 * kb; // megabyte gb = 1024 * mb; // gigabyte begin if bytes > gb then Result := FormatFloat('#.## GB', bytes / gb) else if bytes > mb then Result := FormatFloat('#.## MB', bytes / mb) else if bytes > kb then Result := FormatFloat('#.## KB', bytes / kb) else Result := FormatFloat('#.## bytes', bytes); end; // função que permite obter o tamanho de um arquivo em bytes function TamanhoArquivoBytes(arquivo: string): Int64; Note que aqui nós usamos o campo FindData da estrutura TSearchRec. Este campo contém informações adicionais sobre um arquivo, tais como a data e hora de criação do arquivo, data e hora do último acesso, etc. Porém, este campo é específico à plataforma Windows, o que pode resultar em um warning do tipo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- [DCC Warning] Unit1.pas(54): W1002 Symbol 'FindData' is specific Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |