Buscar

Tamanho de um Arquivo em: B, KB, MB e GB

Código

procedure TForm1.Button2Click(Sender: TObject);
const
  B  = 1;         // Byte
  KB = 1024 * B;  // Kilobyte
  MB = 1024 * KB; // Megabyte
  GB = 1024 * MB; // Gigabyte

var
  ProcurarArquivo : TSearchRec;
  TamanhoArquivo  : Longint;
  Resultado       : String;
begin

  if OpenDialog1.Execute then begin
 
    //*** Pega o tamanho do arquivo em "Bytes" que você selecionou...
    if FindFirst(OpenDialog1.FileName, FaAnyFile, ProcurarArquivo) = 0 then begin
       TamanhoArquivo := Int64(ProcurarArquivo.FindData.nFileSizeHigh) SHL Int64(32) +
                         Int64(ProcurarArquivo.FindData.nFileSizeLow);
    end;

    //*** Veirifica se o tamanho total do arquivo é em: B, KB, MB ou GB...
    if TamanhoArquivo > GB then
       Resultado := FormatFloat('###,###,##0 GB', TamanhoArquivo/GB)
    else
    if TamanhoArquivo > MB then
       Resultado := FormatFloat('###,###,##0 MB', TamanhoArquivo/MB)
    else
    if TamanhoArquivo > KB then
       Resultado := FormatFloat('###,###,##0 KB', TamanhoArquivo/KB)
    else
       Resultado := FormatFloat('###,###,##0 bytes', TamanhoArquivo);
  end;

    ShowMessage(Resultado);
end;
//By M.S.C

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 15/09/10
Por: Michael Stephan C.
Visualizada: 8923 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009