[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# Reference for unit 'System': Procedures and functions

`Abs` |  | Calculate absolute value
`AbstractError` |  | Generate an abstract error.
`AcquireExceptionObject` |  | Obtain a reference to the current exception object
`add(variant,variant):variant` |  | Implement addition (+) operation on variants.
`AddExitProc` |  | Add an exit procedure to the exit procedure chain.
`Addr` |  | Return address of a variable
`Align` |  | Return aligned version of an address
`AllocMem` |  | Allocate and clear memory.
`AnsiToUtf8` |  | Convert ansi string to UTF-8 string
`Append` |  | Open a file in append mode
`ArcTan` |  | Calculate inverse tangent
`ArrayStringToPPchar` |  | Concert an array of string to an array of null-terminated strings
`Assert` |  | Check validity of a given condition.
`Assign` |  | Assign a name to a file
`assign(Comp):olevariant` |  | Assign a comp-precision float to an ole-variant
`assign(Comp):variant` |  | Assign a comp-precision float to a variant
`assign(extended):olevariant` |  | Assign an extended-precision float to an ole-variant
`assign(extended):variant` |  | Assign an extended-precision float to a variant
`assign(olevariant):Comp` |  | Assign an ole- variant to a comp-precision float
`assign(olevariant):extended` |  | Assign an ole- variant to an extended-precision float
`assign(olevariant):Real` |  | Assign an ole- variant to a real-precision float
`assign(olevariant):single` |  | Assign an ole- variant to a single-precision float
`assign(olevariant):UnicodeString` |  | Assign an ole-variant to a unicode string
`assign(Real):olevariant` |  | Assign a real-precision float to an ole-variant
`assign(Real):variant` |  | Assign a real-precision float to a variant
`assign(Real48):extended` |  |
`assign(single):olevariant` |  | Assign a single-precision float to an ole-variant
`assign(single):variant` |  | Assign a single-precision float to a variant
`assign(UCS4String):variant` |  | Assign UCS4String to a variant, performing the necessary conversions
`assign(UnicodeString):olevariant` |  | Assign a unicodestring to an ole-variant
`assign(UnicodeString):variant` |  | Assign UnicodeString to a variant, performing the necessary conversions
`assign(UTF8String):variant` |  | Assign an UTF-8 string to a variant, performing the necessary conversions
`assign(variant):Comp` |  | Assign a variant to a comp-precision float
`assign(variant):extended` |  | Assign a variant to a extended-precision float
`assign(variant):Real` |  | Assign a variant to a real-precision float
`assign(variant):single` |  | Assign a variant to a single-precision float
`assign(variant):unicodestring` |  | Assign a variant to a unicodestring
`assign(variant):UTF8String` |  | Assign a variant to an UTF8String
`Assigned` |  | Check if a pointer is valid
`BasicEventCreate` |  | Obsolete. Don't use
`BasicEventDestroy` |  | Obsolete. Don't use
`BasicEventResetEvent` |  | Obsolete. Don't use
`BasicEventSetEvent` |  | Obsolete. Don't use
`BasicEventWaitFor` |  | Obsolete. Don't use
`BeginThread` |  | Start a new thread.
`BEtoN` |  | Convert Big Endian-ordered integer to Native-ordered integer
`BinStr` |  | Convert integer to string with binary representation.
`BlockRead` |  | Read data from an untyped file into memory
`BlockWrite` |  | Write data from memory to an untyped file
`Break` |  | Exit current loop construct.
`BsfByte` |  | Return the position of the rightmost set bit in an 8-bit value
`BsfDWord` |  | Return the position of the rightmost set bit in a 32-bit value
`BsfQWord` |  | Return the position of the rightmost set bit in a 64-bit value
`BsfWord` |  | Return the position of the rightmost set bit in a 16-bit value
`BsrByte` |  | Return the position of the leftmost set bit in an 8-bit value
`BsrDWord` |  | Return the position of the leftmost set bit in a 32-bit value
`BsrQWord` |  | Return the position of the leftmost set bit in a 64-bit value
`BsrWord` |  | Return the position of the leftmost set bit in a 16-bit value
`CaptureBacktrace` |  | Return stack trace
`ChDir` |  | Change current working directory.
`Chr` |  | Convert byte value to character value
`Close` |  | Close a file
`CloseThread` |  | Close a thread and free up resources used by the thread
`CompareByte` |  | Compare 2 memory buffers byte per byte
`CompareChar` |  | compare 2 memory buffers character per character
`CompareChar0` |  | Compare two buffers character by character till a null-character is reached.
`CompareDWord` |  | Compare 2 memory buffers DWord per DWord
`CompareWord` |  | Compare 2 memory buffers word per word
`Concat` |  | Append one string or dynamic array to another.
`Continue` |  | Continue with next loop cycle.
`Copy` |  | Copy part of a string.
`CopyArray` |  | Copy managed-type elements in array
`Cos` |  | Calculate cosine of angle
`CSeg` |  | Return code segment
`Dec` |  | Decrease value of variable
`Default` |  | Return Default initialized value
`DefaultAnsi2UnicodeMove` |  | Standard widestring manager callback
`DefaultAnsi2WideMove` |  | Standard implementation of Ansi to Widestring conversion routine
`DefaultUnicode2AnsiMove` |  | Standard widestring manager callback
`Delete` |  | Delete elements (characters) from a string or dynamic array.
`Dispose` |  | Free dynamically allocated memory
`divide(variant,variant):variant` |  | Implement division (/) operation on variants.
`DoneCriticalSection` |  | Clean up a critical section.
`DoneThread` |  | End the current thread
`DSeg` |  | Return data segment
`DumpExceptionBacktrace` |  | Create backtrace
`Dump_Stack` |  | Dump stack to the given text file.
`DynArrayBounds` |  | Return the bounds of the dynamic array
`DynArrayClear` |  | Clears a dynamic array
`DynArrayDim` |  | Return the number of dimensions in a dynamic array
`DynArrayIndex` |  | Return pointer to indicated element
`DynArraySetLength` |  | Set the length of a dynamic array
`DynArraySize` |  | Return length of dynamic array
`EmptyMethod` |  | Empty method alias
`EndThread` |  | End the current thread.
`EnterCriticalSection` |  | Enter a critical section
`EnumResourceLanguages` |  | Enumerate available languages for a resource of given type and name
`EnumResourceNames` |  | Enumerate available resource names for a specified resource type
`EnumResourceTypes` |  | Enumerate available resource types
`EOF` |  | Check for end of file
`EOLn` |  | Check for end of line
`equal(variant,variant):Boolean` |  | Implement = (equality) operation on variants.
`Erase` |  | Delete a file from disk
`Error` |  | Generate run-time error
`Exclude` |  | Exclude element from a set if it is present.
`Exit` |  | Exit current subroutine.
`Exp` |  | Exponentiate
`Fail` |  | Fail a constructor
`FilePos` |  | Get position in file
`FileSize` |  | Size of file
`FillByte` |  | Fill memory region with 8-bit pattern
`FillChar` |  | Fill memory region with certain character
`FillDWord` |  | Fill memory region with 32-bit pattern
`FillWord` |  | Fill memory region with 16-bit pattern
`Finalize` |  | Finalize (clean up) memory block using RTTI
`FinalizeArray` |  | Finalize managed-type elements in array
`FindResource` |  | Locate a resource and return a handle to it.
`FindResourceEx` |  | Find a resource based on type, name, language
`float_raise` |  | Raise floating point exception
`Flush` |  | Write file buffers to disk
`FlushThread` |  | Flush all standard files
`FMADouble` |  | Internal function, do not use
`FMAExtended` |  | Internal function, do not use
`FMASingle` |  | Internal function, do not use
`FPower10` |  | Fast multiply with a power of 10
`Frac` |  | Return fractional part of floating point value.
`FreeLibrary` |  | For compatibility with Delphi/Windows: Unload a library
`Freemem` |  | Release allocated memory
`Freememory` |  | Alias for FreeMem
`FreeResource` |  | Free a loaded resource
`Get8087CW`
`GetCPUCount` |  | Return the number of cores on the system
`GetCurrentThreadId` |  | Return the id of the currently running thread.
`GetDir` |  | Return the current directory
`GetDynLibsManager` |  | Return currently active dynamic library support handler
`GetFPCHeapStatus` |  | Return FPC heap manager status information
`GetHeapStatus` |  | Return the memory manager heap status.
`GetLoadErrorStr` |  | Return an error describing the last library loading error
`GetMem` |  | Allocate new memory on the heap
`GetMemory` |  | Alias for GetMem
`GetMemoryManager` |  | Return current memory manager
`GetMXCSR`
`GetProcAddress` |  | For compatibility with Delphi/Windows: Get the address of a procedure
`GetProcedureAddress` |  | Get the address of a procedure or symbol in a dynamic library.
`GetProcessID` |  | Get the current process ID
`GetResourceManager` |  | Return the currently active resource manager
`GetSSECSR`
`GetTextCodePage` |  | Get the codepage used in a text file.
`GetThreadID` |  | Get the current Thread ID.
`GetThreadManager` |  | Return the current thread manager
`GetTypeKind` |  | Return type kind for a type
`GetUnicodeStringManager` |  | Return a copy of the currently active UnicodeString manager.
`GetVariantManager` |  | Return the current variant manager.
`GetWideStringManager` |  | Return a copy of the currently active widestring manager.
`get_caller_addr` |  | Return the address of the caller.
`get_caller_frame` |  | Return the frame pointer of the caller
`get_caller_stackinfo` |  | Return caller stack infomation
`get_cmdline` |  | Return the command-line as a null-terminated string
`get_frame` |  | Return the current frame
`Get_pc_addr` |  | Get Program Counter address
`greaterthan(variant,variant):Boolean` |  | Implement > (greater than) operation on variants.
`greaterthanorequal(variant,variant):Boolean` |  | Implement >= (greater than or equal) operation on variants.
`Halt` |  | Stop program execution.
`HexStr` |  | Convert integer value to string with hexadecimal representation.
`Hi` |  | Return high byte/word/nibble of value.
`High` |  | Return highest index of open array or enumerated
`HINSTANCE` |  | Windows compatibility type for use in resources
`Inc` |  | Increase value of integer variable
`Include` |  | Include element in set if it was not yet present.
`IndexByte` |  | Search for a byte in a memory range.
`IndexChar` |  | Search for a character in a memory range.
`IndexChar0` |  | Return index of a character in null-terminated array of char.
`IndexDWord` |  | Search for a DWord value in a memory range.
`IndexQWord` |  | Return the position of a QWord in a memory range
`Indexword` |  | Search for a WORD value in a memory range.
`InitCriticalSection` |  | Initialize a critical section
`Initialize` |  | Initialize memory block using RTTI
`InitializeArray` |  | Initialize managed-type elements in array
`InitThread` |  | Initialize a thread
`InitThreadVars` |  | Initialize threadvars
`Insert` |  | Insert one string or dynamic array in another.
`Int` |  | Calculate integer part of floating point value.
`intdivide(variant,variant):variant` |  | Implement div (integer division) operation on variants.
`InterlockedCompareExchange` |  | Conditional exchange
`InterlockedCompareExchange64`
`InterlockedCompareExchangePointer` |  | Compare pointers in an atomic operation
`InterlockedDecrement` |  | Thread-safe decrement
`InterlockedDecrement64`
`InterlockedExchange` |  | Exchange 2 integers in a thread-safe way
`InterlockedExchange64`
`InterlockedExchangeAdd` |  | Thread-safe add and exchange of 2 values
`InterlockedExchangeAdd64`
`InterlockedIncrement` |  | Thread-safe increment
`InterlockedIncrement64`
`IOResult` |  | Return result of last file IO operation
`IsDynArrayRectangular` |  | Check whether all dimensions have the same size
`IsMemoryManagerSet` |  | Is the memory manager set
`Is_IntResource` |  | Check whether a resource is an internal resource
`KillThread` |  | Kill a running thread
`LeaveCriticalSection` |  | Leave a critical section
`leftshift(variant,variant):variant` |  | Implement binary shl operation on variants.
`Length` |  | Returns length of a string or array.
`lessthan(variant,variant):Boolean` |  | Implement < (less than) operation on variants.
`lessthanorequal(variant,variant):Boolean` |  | Implement <= (less than or equal) operation on variants.
`LEtoN` |  | Convert Little Endian-ordered integer to Native-ordered integer
`Ln` |  | Calculate logarithm
`Lo` |  | Return low nibble/byte/word of value.
`LoadLibrary` |  | Load a dynamic library and return a handle to it.
`LoadResource` |  | Load a resource for use
`LockResource` |  | Lock a resource
`logicaland(variant,variant):variant` |  | Implement logical/binary and operation on variants
`logicalnot(variant):variant` |  | Implement logical/binary not operation on variants
`logicalor(variant,variant):variant` |  | Implement logical/binary or operation on variants
`logicalxor(variant,variant):variant` |  | Implement logical/binary xor operation on variants
`longjmp` |  | Jump to address.
`Low` |  | Return lowest index of open array or enumerated
`LowerCase` |  | Return lowercase version of a string.
`MakeLangID` |  | Create a language ID
`MemSize` |  | Return the size of a memory block.
`MkDir` |  | Create a new directory.
`modulus(variant,variant):variant` |  | Implement mod (modulo) operation on variants.
`Move` |  | Move data from one location in memory to another
`MoveChar0` |  | Move data till first zero character
`multiply(variant,variant):variant` |  | Implement multiplication (*) operation on variants.
`negative(variant):variant` |  | Implement - (unary minus, negation) operation on variants.
`New` |  | Dynamically allocate memory for variable
`NtoBE` |  | Convert Native-ordered integer to a Big Endian-ordered integer
`NtoLE` |  | Convert Native-ordered integer to a Little Endian-ordered integer
`Null` |  | Null variant
`OctStr` |  | Convert integer to a string with octal representation.
`Odd` |  | Is a value odd or even ?
`Ofs` |  | Return offset of a variable.
`Ord` |  | Return ordinal value of an ordinal type.
`Pack` |  | Create packed array from normal array
`ParamCount` |  | Return number of command-line parameters passed to the program.
`ParamStr` |  | Return value of a command-line argument.
`Pi` |  | Return the value of PI.
`PopCnt` |  | Count number of set bits
`Pos` |  | Search for substring in a string.
`power(variant,variant):variant` |  | Implement power (**) operation on variants.
`Pred` |  | Return previous element for an ordinal type.
`Prefetch` |  | Prefetch a memory location
`Ptr` |  | Combine segment and offset to pointer
`RaiseList` |  | List of currently raised exceptions.
`Random` |  | Generate random number
`Randomize` |  | Initialize random number generator
`Read` |  | Read from a text file into variable
`ReadBarrier` |  | Memory Read Barrier
`ReadDependencyBarrier` |  | Memory Read Dependency Barrier
`ReadLn` |  | Read from a text file into variable and goto next line
`ReadStr` |  | Read variables from a string
`ReadWriteBarrier` |  | Memory read/write barrier
`Real2Double` |  | Convert Turbo Pascal style real to double.
`ReAllocMem` |  | Re-allocate memory on the heap
`ReAllocMemory` |  | Alias for ReAllocMem
`ReleaseExceptionObject` |  | Decrease the reference count of the current exception object.
`Rename` |  | Rename file on disk
`Reset` |  | Open file for reading
`ResumeThread` |  | Resume a suspended thread.
`Rewrite` |  | Open file for writing
`rightshift(variant,variant):variant` |  | Implement binary shr operation on variants.
`RmDir` |  | Remove directory when empty.
`RolByte` |  | Rotate bits of a byte value to the left
`RolDWord` |  | Rotate bits of a DWord (cardinal) value to the left
`RolQWord` |  | Rotate bits of a QWord (64-bit) value to the left
`RolWord` |  | Rotate bits of a word value to the left
`RorByte` |  | Rotate bits of a byte value to the right
`RorDWord` |  | Rotate bits of a DWord (cardinal) value to the right
`RorQWord` |  | Rotate bits of a QWord (64-bit) value to the right
`RorWord` |  | Rotate bits of a word value to the right
`Round` |  | Round floating point value to nearest integer number.
`RTLEventCreate` |  | Create a new RTL event
`RTLEventDestroy` |  | Destroy a RTL Event
`RTLEventResetEvent` |  | Reset an event
`RTLEventSetEvent` |  | Notify threads of the event.
`RTLEventWaitFor` |  | Wait for an event.
`RunError` |  | Generate a run-time error.
`SafeLoadLibrary` |  | Load a library safely
`SarInt64` |  | 64-bit Shift Arithmetic Right
`SarLongint` |  | 32-bit Shift Arithmetic Right
`SarShortint` |  | 8-bit Shift Arithmetic Right
`SarSmallint` |  | 16-bit Shift Arithmetic Right
`Seek` |  | Set file position
`SeekEOF` |  | Set file position to end of file
`SeekEOLn` |  | Set file position to end of line
`Seg` |  | Return segment
`Set8087CW`
`SetCodePage` |  | Set the codepage of a string
`SetDynLibsManager` |  | Set a new handler for dynamic library support
`Setjmp` |  | Save current execution point.
`SetLength` |  | Set length of a string or dynamic array.
`SetMemoryManager` |  | Set a memory manager
`SetMultiByteConversionCodePage` |  | Set codepage for conversions from multi-byte strings to single-byte strings
`SetMultiByteFileSystemCodePage` |  | Set codepage used when passing strings to OS single-byte file system APIs
`SetMultiByteRTLFileSystemCodePage` |  | Set codepage used when interpreting strings from OS single-byte file system APIs
`SetMXCSR`
`SetResourceManager` |  | Set the resource manager
`SetSSECSR`
`SetString` |  | Set length of a string and copy buffer.
`SetTextBuf` |  | Set size of text file internal buffer
`SetTextCodePage` |  | Set the codepage used in a text file.
`SetTextLineEnding` |  | Set the end-of-line character for the given text file.
`SetThreadDebugName`
`SetThreadManager` |  | Set the thread manager, optionally return the current thread manager.
`SetUnicodeStringManager` |  | Set the unicodestring manager
`SetVariantManager` |  | Set the current variant manager.
`SetWideStringManager` |  | Set the widestring manager
`ShortCompareText` |  | Compare 2 shortstrings
`Sin` |  | Calculate sine of angle
`SizeOf` |  | Return size of a variable or type.
`SizeofResource` |  | Return the size of a particular resource
`Slice` |  | Return part of an array
`Space` |  | Return a string of spaces
`SPtr` |  | Return current stack pointer
`Sqr` |  | Calculate the square of a value.
`Sqrt` |  | Calculate the square root of a value
`SSeg` |  | Return stack segment register value.
`StackTop` |  | Top location of the stack.
`Str` |  | Convert a numerical or enumeration value to a string.
`StringCodePage` |  | Get the code page of a string
`StringElementSize` |  | Get the character size of a string.
`StringOfChar` |  | Return a string consisting of 1 character repeated N times.
`StringRefCount` |  | Get the reference count of a string
`StringToPPChar` |  | Split string in list of null-terminated strings
`StringToUnicodeChar` |  | Convert an ansistring to a null-terminated array of Unicode characters.
`StringToWideChar` |  | Convert a string to an array of widechars.
`StrLen` |  | Length of a null-terminated string.
`StrPas` |  | Convert a null-terminated string to a shortstring.
`subtract(variant,variant):variant` |  | Implement subtraction (-) operation on variants.
`Succ` |  | Return next element of ordinal type.
`SuspendThread` |  | Suspend a running thread.
`Swap` |  | Swap high and low bytes/words of a variable
`SwapEndian` |  | Swap endianness of the argument
`SysAllocMem` |  | System memory manager: Allocate memory
`SysAssert` |  | Standard Assert failure implementation
`SysBacktraceStr` |  | Format an address suitable for inclusion in a backtrace
`SysFlushStdIO` |  | Flush all standard IO file descriptors
`SysFreemem` |  | System memory manager free routine.
`SysFreememSize` |  | System memory manager free routine.
`SysGetFPCHeapStatus` |  | Return the status of the FPC heapmanager
`SysGetHeapStatus` |  | System implementation of GetHeapStatus
`SysGetmem` |  | System memory manager memory allocator.
`SysInitExceptions` |  | Initialize exceptions.
`SysInitFPU` |  | Initialize the FPU
`SysInitStdIO` |  | Initialize standard input and output.
`SysMemSize` |  | System memory manager: free size.
`SysReAllocMem` |  | System memory manager: Reallocate memory
`SysResetFPU` |  | Reset the floating point unit.
`SysSetCtrlBreakHandler` |  | System CTRL-C handler
`SysTryResizeMem` |  | System memory manager: attempt to resize memory.
`ThreadGetPriority` |  | Return the priority of a thread.
`ThreadSetPriority` |  | Set the priority of a thread.
`ThreadSwitch` |  | Signal possibility of thread switch
`ToSingleByteFileSystemEncodedFileName` |  | Convert string to encoding for use in single-byte file system API
`Trunc` |  | Truncate a floating point value.
`Truncate` |  | Truncate the file at position
`TryEnterCriticalSection` |  | Try entering a critical section
`TypeInfo` |  | Return pointer to type information for type
`TypeOf` |  | Return pointer to VMT of an object
`UCS4StringToUnicodeString` |  | Convert a UCS-4 encoded string to a Unicode string
`UCS4StringToWideString` |  |
`Unassigned` |  | Unassigned variant.
`UnicodeCharLenToString` |  | Convert a memory buffer with Unicode characters to a unicodestring
`UnicodeCharLenToStrVar` |  | Convert a memory buffer with Unicode characters to an ansistring
`UnicodeCharToString` |  | Convert Unicode character to string
`UnicodeCharToStrVar` |  | Convert a null-terminated memory buffer with Unicode characters to an ansistring
`UnicodeStringToUCS4String` |  | Convert a Unicode string to a UCS-4 string.
`UnicodeToUtf8` |  |
`UniqueString` |  | Make sure reference count of string is 1
`UnloadLibrary` |  | Unload a previously loaded library
`UnlockResource` |  | Unlock a previously locked resource
`UnPack` |  | Create unpacked array from packed array
`UpCase` |  | Convert a string to all uppercase.
`Utf8CodePointLen` |  | Length of an UTF-8 codepoint.
`UTF8Decode` |  | Convert an UTF-8 encoded ansistring to a unicodestring
`UTF8Encode` |  | Convert a widestring or unicodestring to an UTF-8 encoded ansistring
`Utf8ToAnsi` |  | Convert a UTF-8 encoded Unicode string to an ansistring
`UTF8ToString` |  | Convert UTF8 to Unicode String
`Utf8ToUnicode` |  | Convert a buffer with UTF-8 characters to widestring characters
`Val` |  | Calculate numerical/enumerated value of a string.
`VarArrayGet` |  | Get a value from a single cell of a variant array
`VarArrayPut` |  | Put a value in a single cell of a variant array
`VarArrayRedim` |  | Redimension a variant array
`VarCast` |  | Cast a variant to a certain type
`WaitForThreadTerminate` |  | Wait for a thread to terminate.
`WideCharLenToString` |  | Convert a length-limited array of widechar to an unicodestring
`WideCharLenToStrVar` |  | Convert a length-limited array of widechar to an ansistring
`WideCharToString` |  | Convert a null-terminated array of widechar to an unicodestring
`WideCharToStrVar` |  | Convert a null-terminated array of widechar to an ansistring
`WideStringToUCS4String` |  | Convert a widestring to a UCS-4 encoded string.
`Write` |  | Write variable to a text file or standard output
`WriteBarrier` |  | Memory write barrier
`WriteLn` |  | Write variable to a text file or standard output and append newline
`WriteStr` |  | Write variables to a string