Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Dateigröße als String ausgeben
28. Feb 2009, 16:10
Gute Idee.
Delphi-Quellcode:
function GetFileSizeAsString(const FileName: string; Use1024: Boolean = true): string;
const Sizes1024: array[0..7] of string = ('KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB');
Sizes1000: array[0..7] of string = ('KB','MB','GB','TB','PB','EB','ZB','YB');
var
Size: Extended;
_Unit: integer;
S: string;
Divisor: Integer;
fStream: TFileStream;
begin
if not FileExists(FileName) then
begin
Result := 'FNE';
Exit;
end;
try
if Use1024 then
Divisor := 1024
else
Divisor := 1000;
fStream := TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone);
try
Size := fStream.Size / Divisor;
finally
fStream.Free;
end;
_Unit := Low(Sizes1024);
while (Size >= Divisor) and (_Unit < High(Sizes1024)) do
begin
Size := Size / Divisor;
Inc(_Unit);
end;
if Use1024 then
S := Sizes1024[_Unit]
else
S := Sizes1000[_Unit];
Result := Format('%.2f %s',[Size,S]);
except
Result := 'ERR';
end;
end;
[edit] den Filename-Parameter als const definiert. [/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|