Skip to content
This repository has been archived by the owner on Feb 24, 2025. It is now read-only.

TDataSize

Ivan Semenkov edited this page Jan 28, 2021 · 1 revision

Table of contents

About

TDataSize is a class for working with digital information data sizes. Class can convert it's stored size between bytes and terabytes.

uses
  utils.datasize;
  
type
  TDataSize = class
  type 
    TByte = class
    TKilobyte = class
    TMegabyte = class
    TGigabyte = class
    TTerabyte = class
  end;

Create

A new data size class can be created by call its constructor.

constructor Create;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  
  FreeAndNil(size);
end;

Values

To get/set value for a TDataSize use next properties.

Bytes

Get/set bytes value.

property Bytes : Int64;
property b : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.Bytes := 520;
  writeln(size.b);
  
  FreeAndNil(size);
end;

Kilobytes

Get/set kilobytes value.

property Kilobytes : Int64;
property KiB : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.Kilobytes := 4;
  writeln(size.KiB);
  
  FreeAndNil(size);
end;

Megabytes

Get/set megabytes value.

property Megabytes : Int64;
property MiB : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.Megabytes := 2045;
  writeln(size.MiB);
  
  FreeAndNil(size);
end;

Gigabytes

Get/set gigabytes value.

property Gigabytes : Int64;
property GiB : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.Gigabytes := 6;
  writeln(size.GiB);
  
  FreeAndNil(size);
end;

Terabytes

Get/set terabytes value.

property Terabytes : Int64;
property TiB : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.Terabytes := 7;
  writeln(size.TiB);
  
  FreeAndNil(size);
end;

Convert

To convert value use next properties.

ToBytes

Convert stored size to bytes.

function ToBytes : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  writeln(size.ToBytes);
  
  FreeAndNil(size);
end;

ToKilobytes

Convert stored size to kilobytes.

function ToKilobytes : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  writeln(size.ToKilobytes);
  
  FreeAndNil(size);
end;

ToMegabytes

Convert stored size to megabytes.

function ToMegabytes : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  writeln(size.ToMegabytes);
  
  FreeAndNil(size);
end;

ToGigabytes

Convert stored size to gigabytes.

function ToGigabytes : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  writeln(size.ToGigabytes);
  
  FreeAndNil(size);
end;

ToTerabytes

Convert stored size to terabytes.

function ToTerabytes : Int64;
Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  writeln(size.ToTerabytes);
  
  FreeAndNil(size);
end;

ToString

Format stored size to string value.

function ToString (ASuffix : string = '') : string;

ASuffix was append after value presentation.

Example
uses
  utils.datasize;
  
var
  size : TDataSize;
  
begin
  size := TDataSize.Create;
  size.MiB := 12;
  writeln(size.ToString('/sec')); { print '12.00 MiB/sec' }
  
  FreeAndNil(size);
end;