![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
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: 23935 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:
// 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;
var
search_rec: TSearchRec;
begin
if FindFirst(arquivo, faAnyFile, search_rec) = 0 then
Result := Int64(search_rec.FindData.nFileSizeHigh) shl Int64(32)
+ Int64(search_rec.FindData.nFileSizeLow)
else
Result := -1;
FindClose(search_rec);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
arquivo: string;
begin
// nome do arquivo que queremos obter o tamanho
arquivo := 'C:\estudos_delphi\programa_vcl\arquivo.txt';
// exibe o resultado
ShowMessage('O tamanho do arquivo é: ' +
TamanhoArquivoFormatado(TamanhoArquivoBytes(arquivo)));
end;
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: [DCC Warning] Unit1.pas(54): W1002 Symbol 'FindData' is specific to a platform 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 |




