Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Dateigröße als String ausgeben
28. Feb 2009, 14:47
Ich hab das Ganze mal ein wenig erweitert:
Delphi-Quellcode:
function GetFileSizeAsString(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
F: File of Byte; //um sicherzugehen
Size: Extended;
_Unit: integer;
S: string;
Divisor: Integer;
begin
if not FileExists(FileName) then
begin
Result := 'FNE';
Exit;
end;
if Use1024 then
Divisor := 1024
else
Divisor := 1000;
try
AssignFile(F, FileName);
FileMode := fmOpenRead; //damit auch schreibgeschützte Dateien geöffnet werden können
Reset(F);
_Unit := Low(Sizes1024);
Size := FileSize(F) / Divisor; // Size in KiB or KB
CloseFile(F);
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;
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
|