Caret and Selection Functions

Function

Description

UQWord __getCaretPos()

Get the current caret position within the editor's active document view

UQWord __getCaretSel()

Get the current selection length within the editor's active document view

UQWord __setCaretPos(offset)

Set the caret position within the editor

NOTE: Setting the caret position automatically clears any selection.

UQWord __setCaretSel(length)

Set the selection length within the active document window.

 

Structure Functions

Function

Description

UQWord __addStructureAt(
    offset,
    "structure name",
    "variable name")

Adds a structure of the specified name to the specified offset and returns the length of the added structure.

If the expression is defined as part of a Structure Viewer function, the current library is used for resolving structure names.  

If the expression is defined as part of the Expression Calc, the active structure collection is used for resolving structure names.

 

Document Reading Functions

Function

Description

UQWord __getDocSize()

Returns the size of the editor's active document.

Byte   __getByteAt(offset)

UByte  __getUByteAt(offset)

Word   __getWordAt(offset)

UWord  __getUWordAt(offset)

DWord  __getDWordAt(offset)

UDWord __getUDWordAt(offset)

QWord  __getQWordAt(offset)

UQWord __getUQWordAt(offset)

Returns the value at the specified address.  Each function variation returns a different sized value.  The expression is aborted (fails) if unable to read at the specified offset.

If using a variable declaration to read or manipulate document data, that variable should be defined as a UQWord (unsigned 64 bit integer).

Please see Expression Data Types for information on the data type sign and size.

 

Document Manipulation Functions

Function

Description

Byte   __setByteAt(offset, value)

UByte  __setUByteAt(offset, value)

Word   __setWordAt(offset, value)

UWord  __setUWordAt(offset, value)

DWord  __setDWordAt(offset, value)

UDWord __setUDWordAt(offset, value)

QWord  __setQWordAt(offset, value)

UQWord __setUQWordAt(offset, value)

Sets (overwrites) the value at the specified offset.   The expression is aborted (fails) if it's unable to operate at the specified offset.  Otherwise, the new value is returned.

If using a variable declaration to read or manipulate document data, that variable should be defined as a UQWord (unsigned 64 bit integer).

Please see Expression Data Types for information on the data type sign and size.

 

Byte   __insertByteAt(offset, value)

UByte  __insertUByteAt(offset, value)

Word   __insertWordAt(offset, value)

UWord  __insertUWordAt(offset, value)

DWord  __insertDWordAt(offset, value)

UDWord __insertUDWordAt(offset, value)

QWord  __insertQWordAt(offset, value)

UQWord __insertUQWordAt(offset, value)

Inserts the value at the specified offset.   The expression is aborted (fails) if it's unable to operate at the specified offset.  Otherwise, the new value is returned.

If using a variable declaration to read or manipulate document data, that variable should be defined as a UQWord (unsigned 64 bit integer).

Please see Expression Data Types for information on the data type sign and size.

NOTE: The caret position and length is not modified when inserting data.

UQWord __deleteAt(offset, length)

Deletes a range of data starting at the designated offset.  The length is limited to a UDWORD.

 

Examples

__setUByteAt(0x2E, __getUByteAt(0x2E) + 1)

__insertUWordAt(__getDocSize(), 0x0000) ;

More Information