TROBinaryMemoryStream
Overview
The TROBinaryMemoryStream (or short Binary) class builds upon the standard memory stream provided by the Delphi VCL to extend it with additional methods that make it easier to use.
This class forms the basis for passing unstructured binary data between clients and servers, and will be used whenever you declare "Binary" types in your RODL files.
Location
- Unit: uROBinaryMemoryStream.pas
- Ancestry: TMemoryStream | TROBinaryMemoryStream
constructor Create overload
Creates a new instance.
constructor Create
constructor Create (Ansistring) overload
Creates a new instance from given string.
constructor Create(const aString: Ansistring)
Parameters:
- aString: given string
constructor Create (ROAnsiString) overload
Creates a new instance from given string.
constructor Create(const aString: ROAnsiString)
Parameters:
- aString: given string
Assign virtual
Copies data from a given source.
procedure Assign(iSource: TStream)
Parameters:
- iSource: Instance whose properties will be copied
CapacityIncrement
The amount by which the capacity of the stream is automatically incremented when its size becomes greater than its capacity.
property CapacityIncrement: integer read write
Clone
Creates and returns a new memory stream that is an identical copy of the current stream. The new stream will receive its own copy of the data, and any changes to data or stream position will not affect the original version.
function Clone: TROBinaryMemoryStream
LoadFromHexString
Loads the binary from a string containing data in hexadecimal representation. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromHexString(aHexString: ROAnsiString)
Parameters:
- aHexString: string containing data in hexadecimal representation
LoadFromString (Ansistring) overload
Loads the binary from a string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromString(const aString: Ansistring)
Parameters:
- aString: string
LoadFromString (ROAnsiString) overload
Loads the binary from a string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromString(const aString: ROAnsiString)
Parameters:
- aString: string
LoadFromUTF8String
Loads the binary from a UTF8string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromUTF8String(const aString: UnicodeString)
Parameters:
- aString: string
ToHexString
Emits the data in the stream as a string containing hexadecimal characters. For each byte in the original stream, two characters between '0' and 'F' will be emitted to the string.
function ToHexString: ROAnsiString
ToReadableString
Emits the data in the stream as an ansi string for display purposes. For each byte in the original stream, the corresponding ASCII character will be emitted to the string if the value is $0D or between $20 and $7F, and a "period" character will be emitted otherwise. This results in a string that can cleanly be displayed and does not contain ASCII control characters.
function ToReadableString: ROAnsiString
ToString
Emits the data in the stream as an ansi string. For each byte in the original stream, the corresponding ANSI character will be emitted to the string.
function ToString: ROAnsiString
WriteAnsiString
Writes a ROAnsiString value.
function WriteAnsiString(anAnsiString: ROAnsiString): integer
Parameters:
- anAnsiString: a string
CapacityIncrement
The amount by which the capacity of the stream is automatically incremented when its size becomes greater than its capacity.
property CapacityIncrement: integer read write
constructor Create overload
Creates a new instance.
constructor Create
constructor Create (Ansistring) overload
Creates a new instance from given string.
constructor Create(const aString: Ansistring)
Parameters:
- aString: given string
constructor Create (ROAnsiString) overload
Creates a new instance from given string.
constructor Create(const aString: ROAnsiString)
Parameters:
- aString: given string
Assign virtual
Copies data from a given source.
procedure Assign(iSource: TStream)
Parameters:
- iSource: Instance whose properties will be copied
Clone
Creates and returns a new memory stream that is an identical copy of the current stream. The new stream will receive its own copy of the data, and any changes to data or stream position will not affect the original version.
function Clone: TROBinaryMemoryStream
LoadFromHexString
Loads the binary from a string containing data in hexadecimal representation. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromHexString(aHexString: ROAnsiString)
Parameters:
- aHexString: string containing data in hexadecimal representation
LoadFromString (Ansistring) overload
Loads the binary from a string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromString(const aString: Ansistring)
Parameters:
- aString: string
LoadFromString (ROAnsiString) overload
Loads the binary from a string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromString(const aString: ROAnsiString)
Parameters:
- aString: string
LoadFromUTF8String
Loads the binary from a UTF8string. The new data will replace the entire stream and the stream will be positioned at the beginning.
procedure LoadFromUTF8String(const aString: UnicodeString)
Parameters:
- aString: string
ToHexString
Emits the data in the stream as a string containing hexadecimal characters. For each byte in the original stream, two characters between '0' and 'F' will be emitted to the string.
function ToHexString: ROAnsiString
ToReadableString
Emits the data in the stream as an ansi string for display purposes. For each byte in the original stream, the corresponding ASCII character will be emitted to the string if the value is $0D or between $20 and $7F, and a "period" character will be emitted otherwise. This results in a string that can cleanly be displayed and does not contain ASCII control characters.
function ToReadableString: ROAnsiString
ToString
Emits the data in the stream as an ansi string. For each byte in the original stream, the corresponding ANSI character will be emitted to the string.
function ToString: ROAnsiString
WriteAnsiString
Writes a ROAnsiString value.
function WriteAnsiString(anAnsiString: ROAnsiString): integer
Parameters:
- anAnsiString: a string