![]() |
Byte in Mega- und Kilobyte umwandeln
Hallo liebe Leser,
ich suche eine function oder code welches mir ein Integer Attribut in welchem die Grösse einer Datei in Bytes angegeben ist und dieser mir diesen in einen String umgewandelt in KB,MB,GB der Grössen (also ähnlich wie ein Explorer). hab das jetzt schon mehrmals versucht aber immer wieder geschweitert und bevor ich stunden mit selbprogrammieren verschwende (leider keine zeit) wollte ich mal horchen ob es da nicht schon etwas gibt an dem ich mich orientieren kann.. vielen dank fürs lesen und helfen schon mal im voraus.. mfg tobias |
Re: Byte in Mega- und Kilobyte umwandeln
Delphi-Quellcode:
[edit] Musst nur die Größe der Datei angeben [/edit]
function ConvertBytes(Size: Integer): ShortString;
function ConvertToKB(Size: Integer): Integer; begin Result := Size div 1024; end; function ConvertToMB(Size: Integer): Integer; begin Result := Size div (1024 * 1024); end; function ConvertToGB(Size: Integer): Integer; begin Result := Size div (1024 * 1024 * 1024); end; begin if Size > 1024 * 1024 * 1024 then Result := IntToStr(ConvertToGB(Size)) + ' GB' else if Size > 1024 * 1024 then Result := IntToStr(ConvertToMB(Size)) + ' MB' else if Size > 1024 then Result := IntToStr(ConvertToKB(Size)) + ' KB' else Result := IntToStr(Size) + ' Bytes'; end; [edit2] Die Größe kannst du so bekommen:
Delphi-Quellcode:
Ein Beispiel aufrufe wäre:
function GetFileSize(Filename: String): Int64;
var FS: TFileStream; begin FS := TFileStream.Create(Images.Items[I], fmOpenRead); try Result := FS.Size; finally FS.Free; end; end;
Delphi-Quellcode:
[/edit2]
StringVar := ConvertBytes(GetFileSize('C:\Test.txt'));
|
Re: Byte in Mega- und Kilobyte umwandeln
Ich werfe mal diese Funktion in den Raum:
Delphi-Quellcode:
mfG
// by Luckie
function FormatDiskSpace(DiskSpace: Int64): string; begin case DiskSpace of 0..1023: Result := Format('%d Byte', [DiskSpace]); 1024..1048575: Result := Format('%2n KB', [DiskSpace / 1024]); 1048576..1073741823: Result := Format('%2n MB', [DiskSpace / 1024 / 1024]); else Result := Format('%2n GB', [DiskSpace / 1024 / 1024 / 1024]); end; end; mirage228 |
Re: Byte in Mega- und Kilobyte umwandeln
hi,
dazu brauchts keine funktion, einfache mathematik:
Delphi-Quellcode:
das war's,
var byte: integer;
kilobyte, megabyte, gigabyte: double; kilobyte := byte / 1024; megabyte := kilobyte / 1024; gigabyte := megabyte / 1024; aenogym |
Re: Byte in Mega- und Kilobyte umwandeln
hi leute,
vielen dank für die echt schnellen antworten von euch. das waren ja nur wenige sekunden :dancer: , echt starke leistung.. werde es gleich mal mit den 3 varianten ausprobieren und schauen woran ich versagt hab. nochmals vielen dank an euch und delghi praxis. schönen sonntag noch.. MfG tobias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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-2025 by Thomas Breitkreuz