Sidebar

reference:scripting_reference:scripting_objects:filesize

The FileSize object is provided to make it easier to deal with variables representing file sizes. It's very common these days for files to be larger than 4GB but unfortunately ActiveX scripting does not have proper support for the 64-bit integers needed to represent such large numbers. Therefore, any time a file size or number representing a number of bytes is returned by the Opus scripting objects, it is as a FileSize object. For example, the Item.size property returns a FileSize representing the size of a particular file or folder.

You can create a new FileSize object using the FSUtil.NewFileSize method. A FileSize object normally represents an unsigned 64 bit integer but if you specify the "s" flag on creation, it will store a signed integer instead.

Property Name Return Type Description

<default value>

string

Returns the number of bytes represented by this FileSize object as a string.

cy

currency

Returns the number of bytes as a currency value. This is a 64 bit data type but it is stored as a fractional value, so you must multiply the returned value by 10000 to obtain the actual byte size.

fmt

string

Returns the number of bytes as an automatically formatted string (e.g. if the FileSize value is 1024, the string 1 KB would be returned).

high 

decimal

Returns the highest (most significant) 32 bits of the file size. Not all scripting languages support this data type (e.g. VBScript does not).

highhex

string

Returns the highest 32 bits of the file size as a hexadecimal string.

low

decimal

Returns the lowest (least significant) 32 bits of the file size.

lowhex

string

Returns the lowest 32 bits of the file size as a hexadecimal string. 

val

decimal

Returns the number of bytes as a decimal value. This is a 64 bit data type but not all scripting languages support it (e.g. VBScript does not).

valhex

string

Returns the number of bytes as a hexadecimal string.

Method Name Arguments Return Type Description

Add

variant

none

Adds the supplied value to the value of this FileSize object. You can pass a string, int or currency type, or another FileSize object.
Some FileSize objects are read-only and will error if you try to modify them. This includes ones returned by Item.size. Use the Clone method to create a modifiable copy.

Clone

none

object:FileSize

Clones this FileSize object and returns a new one set to the same value.

Compare

variant

int

Compares the supplied value with the value of this FileSize object. The return value will be 0 (equal), 1 (greater) or -1 (less).

Div

variant

none

Divides the value of this FileSize object with the supplied value. You can pass a string, int or currency type, or another FileSize object.
Some FileSize objects are read-only and will error if you try to modify them. This includes ones returned by Item.size. Use the Clone method to create a modifiable copy.

Mult

variant

none

Multiplies the value of this FileSize object with the supplied value. You can pass a string, int or currency type, or another FileSize object.
Some FileSize objects are read-only and will error if you try to modify them. This includes ones returned by Item.size. Use the Clone method to create a modifiable copy.

Set

variant

none

Sets the FileSize to the supplied value. You can pass a string, int, decimal or currency type, or another FileSize object. You can also pass a Blob consisting of exactly 1, 2, 4 or 8 bytes, in which case the data contained in the Blob will be used to form the number. You can use a hexadecimal string by pre-pending $ or 0x.
If the FileSize object is read-only, it will error if you try to modify it. Use Clone or FSUtil.NewFileSize to create a new object you can modify.

Sub

variant

none

Subtracts the supplied value from the value of this FileSize object. You can pass a string, int or currency type, or another FileSize object. Note that the FileSize object is unsigned and so the value cannot go below zero.
Some FileSize objects are read-only and will error if you try to modify them. This includes ones returned by Item.size. Use the Clone method to create a modifiable copy.

ToBlob

int

object:Blob 

Returns a Blob containing the bytes that make up the current value. By default 8 bytes will be copied to the Blob (the full 64 bit number) but you can pass an alternative number of bytes (1, 2 or 4) as a parameter to truncate the value.