![]() |
Re: Dateigröße als String ausgeben
Also irgendwo im ExaByte Bereich Schluß? :gruebel:
|
Re: Dateigröße als String ausgeben
Das hab ich jetzt nicht nachgerechnet :lol:
|
Re: Dateigröße als String ausgeben
Hallo,
ich würde die Ermittlung der Dateigröße von deren ![]() Gruß Hawkeye |
Re: Dateigröße als String ausgeben
Zitat:
|
Re: Dateigröße als String ausgeben
Liste der Anhänge anzeigen (Anzahl: 1)
Also finde so große Zahlen faszinierend und kopiere mir auch fleißig Euren Code ;)
INT64 ist die größte Integer Zahl in D5, da hab ich mir halt gemerkt, das die 9,2 ExaByte fassen kann (wenn es überhaupt richtig ist :lol: ) Zitat:
(Hoffe bin nicht zu OT hier) |
Re: Dateigröße als String ausgeben
NTFS unterstützt derzeit sowieso nur 16TiB als Maximalgröße einer Datei. :wink:
|
Re: Dateigröße als String ausgeben
Naja, immerhin sind wir so auch für die Zukunft gerüstet :lol:
|
Re: Dateigröße als String ausgeben
Zitat:
Zudem habe ich die Formatierung von der Ermittlung der Dateigröße getrennt:
Delphi-Quellcode:
{ Diese Methode gibt die Dateigröße in Byte zurück. Dafür wird intern TFileStream verwendet, um auch
unter Linux lauffähig zu sein. } function GetFileSize(const AFileName: String): Int64; var fileStream: TFileStream; begin if (not FileExists(AFilename)) then raise Exception.Create('File does not exist.'); // TFileStream nutzen, sodass das Ding auch unter Linux laufen könnte ;) fileStream := TFileStream.Create(AFileName,fmOpenRead or fmShareDenyNone); try Result := fileStream.Size; finally fileStream.Free(); end; end; { Diese Methode formatiert die Dateigröße und nutzt dafür das passende Format. Hier kann zudem auch noch angegeben werden, ob mit 2^10 oder 1000 gerechnet werden soll, was sich auf die Einheit auswirkt. } function FormatFileSize(const AFileSize: Int64; Use1024: Boolean = True): String; const Sizes1024: array[0..8] of string = ('Bytes', 'KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'); Sizes1000: array[0..8] of string = ('Bytes', 'KB','MB','GB','TB','PB','EB','ZB','YB'); var _size: Extended; _Unit: integer; s: string; Divisor: Integer; begin try if (Use1024) then Divisor := 1024 else Divisor := 1000; _size := AFileSize; _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; |
Re: Dateigröße als String ausgeben
[OT]
Zitat:
[/OT] |
Re: Dateigröße als String ausgeben
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz