Formatting a File Size in Bytes for Display
To most users "45678123 b" is confusing - where "43.56 MB" is much more user friendly.
Format Byte Size to String
A custom Delphi function, FormatByteSize, converts a byte value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size.//Format file byte sizefunction FormatByteSize(const bytes: Longint): string; const   B = 1; //byte   KB = 1024 * B; //kilobyte   MB = 1024 * KB; //megabyte   GB = 1024 * MB; //gigabytebegin   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;
Delphi tips navigator:
» Create a Custom Message Dialog with Standard Windows Icons using Delphi
« Controlling the Number of a Delphi application Instances on a Terminal Server