Skip to content

TBLFile

A thin abstraction over a native OS file IO.

A thin wrapper around a native OS file support. The file handle is always THandle and it refers to either a file descriptor on POSIX targets and file handle on Windows targets.

Definition

Unit: Blend2D

type TBLFile = record ... end;

Properties

Name Description
IsOpen Whether the file is open.
Size The size of the file.

Constructors

Name Description
Assign Copying a file is not allowed. This will raise a EBlend2DError exception with result TBLResult.NotPermitted.
Create Creates a file instance from an existing file AHandle, which either represents a file descriptor or Windows handle.
Finalize Destroys this file instance - closes the file descriptor or handle when it's referencing an open file.
Initialize Creates an empty file instance, which doesn't represent any open file.

Operators

Name Description
Equal Used to compare against nil (empty file instance).
NotEqual Used to compare against nil (empty file instance).

Methods

Name Description
Close Closes the file (if open) and sets the file handle to THandle.MaxValue.
GetInfo Queries information of the file.
Open Attempts to open a file specified by AFilename with the given AOpenFlags.
Read Reads ACount bytes from the file into the given ABuffer and returns the number of bytes actually read.
Seek Sets the file position of the file to the given AOffset by using the specified ASeekType and returns the new position.
Truncate Truncates the file to the given maximum size AMaxSize.
Write Writes ACount bytes to the file from the given ABuffer and returns the number of bytes actually written.

Property Descriptions

IsOpen

Whether the file is open.

property IsOpen: Boolean read GetIsOpen

Type: Boolean


Size

The size of the file.

property Size: Int64 read GetSize

Type: Int64

Exceptions

EBlend2DError: Raised on failure.


Constructor Descriptions

Assign

Copying a file is not allowed. This will raise a EBlend2DError exception with result TBLResult.NotPermitted.

constructor Assign(var ADest: TBLFile; const ASrc: TBLFile); inline

Parameters

ADest: TBLFile

ASrc: TBLFile

Exceptions

EBlend2DError: Raised on failure.


Create

Creates a file instance from an existing file AHandle, which either represents a file descriptor or Windows handle.

constructor Create(const AHandle: THandle)

Parameters

AHandle: THandle


Finalize

Destroys this file instance - closes the file descriptor or handle when it's referencing an open file.

destructor Finalize(var ADest: TBLFile)

Parameters

ADest: TBLFile

Exceptions

EBlend2DError: Raised on failure.


Initialize

Creates an empty file instance, which doesn't represent any open file.

constructor Initialize(out ADest: TBLFile)

Parameters

ADest: TBLFile

Remarks

The internal file handle of non-opened files is set to THandle.MaxValue.


Operator Descriptions

Equal(TBLFile, Pointer)

Used to compare against nil (empty file instance).

class operator Equal(const ALeft: TBLFile; const ARight: Pointer): Boolean; inline; static

Parameters

ALeft: TBLFile

ARight: Pointer

Returns

Boolean


NotEqual(TBLFile, Pointer)

Used to compare against nil (empty file instance).

class operator NotEqual(const ALeft: TBLFile; const ARight: Pointer): Boolean; inline; static

Parameters

ALeft: TBLFile

ARight: Pointer

Returns

Boolean


Method Descriptions

Close

Closes the file (if open) and sets the file handle to THandle.MaxValue.

procedure Close; inline

Exceptions

EBlend2DError: Raised on failure.


GetInfo

Queries information of the file.

function GetInfo: TBLFileInfo

Exceptions

EBlend2DError: Raised on failure.

Returns

TBLFileInfo


Open(String, TBLFileOpenFlags)

Attempts to open a file specified by AFilename with the given AOpenFlags.

procedure Open(const AFilename: String; const AOpenFlags: TBLFileOpenFlags); inline

Exceptions

EBlend2DError: Raised on failure.

Parameters

AFilename: String

AOpenFlags: TBLFileOpenFlags


Read([untyped], Int64)

Reads ACount bytes from the file into the given ABuffer and returns the number of bytes actually read.

function Read(var ABuffer; const ACount: Int64): Int64; inline

Exceptions

EBlend2DError: Raised on failure.

Parameters

ABuffer:

ACount: Int64

Returns

Int64


Seek(Int64, TBLFileSeekType)

Sets the file position of the file to the given AOffset by using the specified ASeekType and returns the new position.

function Seek(const AOffset: Int64; const ASeekType: TBLFileSeekType): Int64; inline

Exceptions

EBlend2DError: Raised on failure.

Parameters

AOffset: Int64

ASeekType: TBLFileSeekType

Returns

Int64


Truncate(Int64)

Truncates the file to the given maximum size AMaxSize.

procedure Truncate(const AMaxSize: Int64); inline

Exceptions

EBlend2DError: Raised on failure.

Parameters

AMaxSize: Int64


Write([untyped], Int64)

Writes ACount bytes to the file from the given ABuffer and returns the number of bytes actually written.

function Write(const ABuffer; const ACount: Int64): Int64; inline

Exceptions

EBlend2DError: Raised on failure.

Parameters

ABuffer:

ACount: Int64

Returns

Int64