|
@@ -0,0 +1,7428 @@
|
|
|
+<?xml version="1.0" encoding="ISO8859-1"?>
|
|
|
+<fpdoc-descriptions>
|
|
|
+<!--
|
|
|
+
|
|
|
+ $Id$
|
|
|
+ This file is part of the FPC documentation.
|
|
|
+ Copyright (C) 1997, by Michael Van Canneyt
|
|
|
+
|
|
|
+ The FPC documentation is free text; you can redistribute it and/or
|
|
|
+ modify it under the terms of the GNU Library General Public License as
|
|
|
+ published by the Free Software Foundation; either version 2 of the
|
|
|
+ License, or (at your option) any later version.
|
|
|
+
|
|
|
+ The FPC Documentation is distributed in the hope that it will be useful,
|
|
|
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
+ Library General Public License for more details.
|
|
|
+
|
|
|
+ You should have received a copy of the GNU Library General Public
|
|
|
+ License along with the FPC documentation; see the file COPYING.LIB. If not,
|
|
|
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
+ Boston, MA 02111-1307, USA.
|
|
|
+ -->
|
|
|
+<package name="rtl">
|
|
|
+<module name="system">
|
|
|
+<short>The system unit</short>
|
|
|
+<!-- \FPCexampledir{refex} -->
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The system unit contains the standard supported functions of Free Pascal. It is the
|
|
|
+same for all platforms. Basically it is the same as the system unit provided
|
|
|
+with Borland or Turbo Pascal.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Functions are listed in alphabetical order. Arguments of functions or
|
|
|
+procedures that are optional are put between square brackets.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The pre-defined constants and variables are listed in the first section.
|
|
|
+The second section contains an overview of all functions, grouped by
|
|
|
+functionality, and the last section contains the supported functions
|
|
|
+and procedures.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+
|
|
|
+<topic name="integertypes">
|
|
|
+<short>Integer Types</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The following integer types are defined in the System unit:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Shortint = -128..127;
|
|
|
+SmallInt = -32768..32767;
|
|
|
+Longint = $80000000..$7fffffff;
|
|
|
+byte = 0..255;
|
|
|
+word = 0..65535;
|
|
|
+dword = longword;
|
|
|
+cardinal = longword;
|
|
|
+Integer = smallint;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The following types are used for the functions that need compiler magic
|
|
|
+such as <link id="Val"/> or <link id="Str"/>:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+StrLenInt = LongInt;
|
|
|
+ValSInt = Longint;
|
|
|
+ValUInt = Cardinal;
|
|
|
+ValReal = Extended;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The <var>Real48</var> type is defined to emulate the old Turbo Pascal <var>Real</var> type:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Real48 = Array[0..5] of byte;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The assignment operator has been overloaded so this type can be assigned
|
|
|
+to the Free Pascal native <var>Double</var> and <var>Extended</var> types.
|
|
|
+<link id="Real2Double"/>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The following character types are defined for Delphi compatibility:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+TAnsiChar = Char;
|
|
|
+AnsiChar = TAnsiChar;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+And the following pointer types as well:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ PChar = ^char;
|
|
|
+ pPChar = ^PChar;
|
|
|
+ PAnsiChar = PChar;
|
|
|
+ PQWord = ^QWord;
|
|
|
+ PInt64 = ^Int64;
|
|
|
+ pshortstring = ^shortstring;
|
|
|
+ plongstring = ^longstring;
|
|
|
+ pansistring = ^ansistring;
|
|
|
+ pwidestring = ^widestring;
|
|
|
+ pextended = ^extended;
|
|
|
+ ppointer = ^pointer;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+For the <link id="SetJmp"/> and <link id="LongJmp"/> calls, the following jump bufer
|
|
|
+type is defined (for the I386 processor):
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ jmp_buf = record
|
|
|
+ ebx,esi,edi : Longint;
|
|
|
+ bp,sp,pc : Pointer;
|
|
|
+ end;
|
|
|
+ PJmp_buf = ^jmp_buf;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The following records and pointers can be used to scan the
|
|
|
+entries in the string message handler tables:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ tmsgstrtable = record
|
|
|
+ name : pshortstring;
|
|
|
+ method : pointer;
|
|
|
+ end;
|
|
|
+ pmsgstrtable = ^tmsgstrtable;
|
|
|
+
|
|
|
+ tstringmessagetable = record
|
|
|
+ count : dword;
|
|
|
+ msgstrtable : array[0..0] of tmsgstrtable;
|
|
|
+ end;
|
|
|
+ pstringmessagetable = ^tstringmessagetable;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The base class for all classes is defined as:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Type
|
|
|
+ TObject = Class
|
|
|
+ Public
|
|
|
+ constructor create;
|
|
|
+ destructor destroy;virtual;
|
|
|
+ class function newinstance : tobject;virtual;
|
|
|
+ procedure freeinstance;virtual;
|
|
|
+ function safecallexception(exceptobject : tobject;
|
|
|
+ exceptaddr : pointer) : longint;virtual;
|
|
|
+ procedure defaulthandler(var message);virtual;
|
|
|
+ procedure free;
|
|
|
+ class function initinstance(instance : pointer) : tobject;
|
|
|
+ procedure cleanupinstance;
|
|
|
+ function classtype : tclass;
|
|
|
+ class function classinfo : pointer;
|
|
|
+ class function classname : shortstring;
|
|
|
+ class function classnameis(const name : string) : boolean;
|
|
|
+ class function classparent : tclass;
|
|
|
+ class function instancesize : longint;
|
|
|
+ class function inheritsfrom(aclass : tclass) : boolean;
|
|
|
+ class function inheritsfrom(aclass : tclass) : boolean;
|
|
|
+ class function stringmessagetable : pstringmessagetable;
|
|
|
+ procedure dispatch(var message);
|
|
|
+ procedure dispatchstr(var message);
|
|
|
+ class function methodaddress(const name : shortstring) : pointer;
|
|
|
+ class function methodname(address : pointer) : shortstring;
|
|
|
+ function fieldaddress(const name : shortstring) : pointer;
|
|
|
+ procedure AfterConstruction;virtual;
|
|
|
+ procedure BeforeDestruction;virtual;
|
|
|
+ procedure DefaultHandlerStr(var message);virtual;
|
|
|
+ end;
|
|
|
+ TClass = Class Of TObject;
|
|
|
+ PClass = ^TClass;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+Unhandled exceptions can be treated using a constant of the
|
|
|
+<var>TExceptProc</var> type:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+TExceptProc = Procedure (Obj : TObject; Addr,Frame: Pointer);
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+<var>Obj</var> is the exception object that was used to raise the exception,
|
|
|
+<var>Addr</var> and <var>Frame</var> contain the exact address and stack frame
|
|
|
+where the exception was raised.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <var>TVarRec</var> type is used to access the elements passed in a \var{Array
|
|
|
+of Const} argument to a function or procedure:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Type
|
|
|
+ PVarRec = ^TVarRec;
|
|
|
+ TVarRec = record
|
|
|
+ case VType : Longint of
|
|
|
+ vtInteger : (VInteger: Longint);
|
|
|
+ vtBoolean : (VBoolean: Boolean);
|
|
|
+ vtChar : (VChar: Char);
|
|
|
+ vtExtended : (VExtended: PExtended);
|
|
|
+ vtString : (VString: PShortString);
|
|
|
+ vtPointer : (VPointer: Pointer);
|
|
|
+ vtPChar : (VPChar: PChar);
|
|
|
+ vtObject : (VObject: TObject);
|
|
|
+ vtClass : (VClass: TClass);
|
|
|
+ vtAnsiString : (VAnsiString: Pointer);
|
|
|
+ vtWideString : (VWideString: Pointer);
|
|
|
+ vtInt64 : (VInt64: PInt64);
|
|
|
+ end;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The heap manager uses the <var>TMemoryManager</var> type:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ PMemoryManager = ^TMemoryManager;
|
|
|
+ TMemoryManager = record
|
|
|
+ Getmem : Function(Size:Longint):Pointer;
|
|
|
+ Freemem : Function(var p:pointer):Longint;
|
|
|
+ FreememSize : Function(var p:pointer;Size:Longint):Longint;
|
|
|
+ AllocMem : Function(Size:longint):Pointer;
|
|
|
+ ReAllocMem : Function(var p:pointer;Size:longint):Pointer;
|
|
|
+ MemSize : function(p:pointer):Longint;
|
|
|
+ MemAvail : Function:Longint;
|
|
|
+ MaxAvail : Function:Longint;
|
|
|
+ HeapSize : Function:Longint;
|
|
|
+ end;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+More information on using this record can be found in \progref.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="Constants">
|
|
|
+<short>Constants</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The following constants define the maximum values that can be used with
|
|
|
+various types:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ MaxSIntValue = High(ValSInt);
|
|
|
+ MaxUIntValue = High(ValUInt);
|
|
|
+ maxint = maxsmallint;
|
|
|
+ maxLongint = $7fffffff;
|
|
|
+ maxSmallint = 32767;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The following constants for file-handling are defined in the system unit:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Const
|
|
|
+ fmclosed = $D7B0;
|
|
|
+ fminput = $D7B1;
|
|
|
+ fmoutput = $D7B2;
|
|
|
+ fminout = $D7B3;
|
|
|
+ fmappend = $D7B4;
|
|
|
+ filemode : byte = 2;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The <var>filemode</var> variable is used when a non-text file is opened using
|
|
|
+<var>Reset</var>. It indicates how the file will be opened. <var>filemode</var> can have one of
|
|
|
+the following values:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>0</dt><dd> The file is opened for reading.
|
|
|
+</dd><dt>1</dt><dd> The file is opened for writing.
|
|
|
+</dd><dt>2</dt><dd> The file is opened for reading and writing.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+<p>
|
|
|
+The default value is 2. Other values are possible but are operating system specific.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Further, the following non processor specific general-purpose constants
|
|
|
+are also defined:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+const
|
|
|
+ erroraddr : pointer = nil;
|
|
|
+ errorcode : word = 0;
|
|
|
+ { max level in dumping on error }
|
|
|
+ max_frame_dump : word = 20;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+Processor specific global constants are named Testxxxx where xxxx
|
|
|
+represents the processor number (such as Test8086, Test68000),
|
|
|
+and are used to determine on what generation of processor the program
|
|
|
+is running on.
|
|
|
+</remark>
|
|
|
+<p>
|
|
|
+The following constants are defined to access VMT entries:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ vmtInstanceSize = 0;
|
|
|
+ vmtParent = 8;
|
|
|
+ vmtClassName = 12;
|
|
|
+ vmtDynamicTable = 16;
|
|
|
+ vmtMethodTable = 20;
|
|
|
+ vmtFieldTable = 24;
|
|
|
+ vmtTypeInfo = 28;
|
|
|
+ vmtInitTable = 32;
|
|
|
+ vmtAutoTable = 36;
|
|
|
+ vmtIntfTable = 40;
|
|
|
+ vmtMsgStrPtr = 44;
|
|
|
+ vmtMethodStart = 48;
|
|
|
+ vmtDestroy = vmtMethodStart;
|
|
|
+ vmtNewInstance = vmtMethodStart+4;
|
|
|
+ vmtFreeInstance = vmtMethodStart+8;
|
|
|
+ vmtSafeCallException = vmtMethodStart+12;
|
|
|
+ vmtDefaultHandler = vmtMethodStart+16;
|
|
|
+ vmtAfterConstruction = vmtMethodStart+20;
|
|
|
+ vmtBeforeDestruction = vmtMethodStart+24;
|
|
|
+ vmtDefaultHandlerStr = vmtMethodStart+28;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The constant names should be used, and never their values, because
|
|
|
+the VMT table can change, breaking code that uses direct values.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The following constants will be used for the planned <var>variant</var> support:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ varEmpty = $0000;
|
|
|
+ varNull = $0001;
|
|
|
+ varSmallint = $0002;
|
|
|
+ varInteger = $0003;
|
|
|
+ varSingle = $0004;
|
|
|
+ varDouble = $0005;
|
|
|
+ varCurrency = $0006;
|
|
|
+ varDate = $0007;
|
|
|
+ varOleStr = $0008;
|
|
|
+ varDispatch = $0009;
|
|
|
+ varError = $000A;
|
|
|
+ varBoolean = $000B;
|
|
|
+ varVariant = $000C;
|
|
|
+ varUnknown = $000D;
|
|
|
+ varByte = $0011;
|
|
|
+ varString = $0100;
|
|
|
+ varAny = $0101;
|
|
|
+ varTypeMask = $0FFF;
|
|
|
+ varArray = $2000;
|
|
|
+ varByRef = $4000;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The following constants are used in the <var>TVarRec</var> record:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+vtInteger = 0;
|
|
|
+vtBoolean = 1;
|
|
|
+vtChar = 2;
|
|
|
+vtExtended = 3;
|
|
|
+vtString = 4;
|
|
|
+vtPointer = 5;
|
|
|
+vtPChar = 6;
|
|
|
+vtObject = 7;
|
|
|
+vtClass = 8;
|
|
|
+vtWideChar = 9;
|
|
|
+vtPWideChar = 10;
|
|
|
+vtAnsiString = 11;
|
|
|
+vtCurrency = 12;
|
|
|
+vtVariant = 13;
|
|
|
+vtInterface = 14;
|
|
|
+vtWideString = 15;
|
|
|
+vtInt64 = 16;
|
|
|
+vtQWord = 17;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The <var>ExceptProc</var> is called when an unhandled exception occurs:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Const
|
|
|
+ ExceptProc : TExceptProc = Nil;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+It is set in the <file>objpas</file> unit, but it can be set by the programmer
|
|
|
+to change the default exception handling.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The following constants are defined to describe the operating system's file
|
|
|
+system:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+LineEnding = #10;
|
|
|
+LFNSupport = true;
|
|
|
+DirectorySeparator = '/';
|
|
|
+DriveSeparator = ':';
|
|
|
+PathSeparator = ':';
|
|
|
+FileNameCaseSensitive : Boolean = True;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The shown values are for unix platforms, but will be different on other
|
|
|
+platforms.
|
|
|
+The meaning of the constants is the following:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>LineEnding</dt>
|
|
|
+<dd> End of line marker. This constant is used when writing end
|
|
|
+of lines to text files.
|
|
|
+</dd>
|
|
|
+<dt>LFNSupport</dt>
|
|
|
+<dd> This is <var>True</var> if the system supports long file names,
|
|
|
+i.e. filenames that are not restricted to 8.3 characters.
|
|
|
+</dd>
|
|
|
+<dt>DirectorySeparator</dt>
|
|
|
+<dd> The character that is used as a directory
|
|
|
+separator, i.e. it appears between various parts of a path to a file.
|
|
|
+</dd>
|
|
|
+<dt>DriveSeparator</dt>
|
|
|
+<dd> On systems that support drive letters, this character
|
|
|
+separates the drive indication from the rest of a filename.
|
|
|
+</dd>
|
|
|
+<dt>PathSeparator</dt>
|
|
|
+<dd> This character can be found between elements in a
|
|
|
+series of paths (such as the contents of the <var>PATH</var> environment
|
|
|
+variable.
|
|
|
+</dd>
|
|
|
+<dt>FileNameCaseSensitive</dt>
|
|
|
+<dd> Indicates whether filenames are case sensitive.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+<p>
|
|
|
+When programming cross-platform, use these constants instead of hard-coded
|
|
|
+characters. This will enhance portability of an application.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="variables">
|
|
|
+<short>Variables</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The following variables are defined and initialized in the system unit:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+var
|
|
|
+ output,input,stderr : text;
|
|
|
+ exitproc : pointer;
|
|
|
+ exitcode : word;
|
|
|
+ stackbottom : Cardinal;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The variables <var>ExitProc</var>, <var>exitcode</var> are used in the Free Pascal exit
|
|
|
+scheme. It works similarly to the one in Turbo Pascal:
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+When a program halts (be it through the call of the <var>Halt</var> function or
|
|
|
+<var>Exit</var> or through a run-time error), the exit mechanism checks the value
|
|
|
+of <var>ExitProc</var>. If this one is non-<var>Nil</var>, it is set to <var>Nil</var>, and
|
|
|
+the procedure is called. If the exit procedure exits, the value of ExitProc
|
|
|
+is checked again. If it is non-<var>Nil</var> then the above steps are repeated.
|
|
|
+So when an exit procedure must be installed, the old value of <var>ExitProc</var>
|
|
|
+should be saved (it may be non-<var>Nil</var>, since other units could have set
|
|
|
+it). In the exit procedure the value of <var>ExitProc</var> should be restored to
|
|
|
+the previous value, such that if it was non-<var>Nil</var> the exit-procedure can be
|
|
|
+called.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <var>ErrorAddr</var> and <var>ExitCode</var> can be used to check for
|
|
|
+error-conditions. If <var>ErrorAddr</var> is non-<var>Nil</var>, a run-time error has
|
|
|
+occurred. If so, <var>ExitCode</var> contains the error code. If <var>ErrorAddr</var> is
|
|
|
+<var>Nil</var>, then {ExitCode} contains the argument to <var>Halt</var> or 0 if the
|
|
|
+program terminated normally.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+<var>ExitCode</var> is always passed to the operating system as the exit-code of
|
|
|
+the current process.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+The maximum error code under linux and unix like operating systems is 127.
|
|
|
+</remark>
|
|
|
+<p>
|
|
|
+Under <file>GO32</file>, the following constants are also defined :
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+const
|
|
|
+ seg0040 = $0040;
|
|
|
+ segA000 = $A000;
|
|
|
+ segB000 = $B000;
|
|
|
+ segB800 = $B800;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+These constants allow easy access to the bios/screen segment via mem/absolute.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The randomize function uses a seed stored in the <var>RandSeed</var> variable:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ RandSeed : Cardinal;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+This variable is initialized in the initialization code of the system unit.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Other variables indicate the state of the application.
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+ IsLibrary : boolean;
|
|
|
+ IsMultiThread : boolean;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+The <var>IsLibrary</var> variable is set to true if this module is a
|
|
|
+shared library instead of an application. The <var>IsMultiThread</var>
|
|
|
+variable is set to True if the application has spawned other
|
|
|
+threads, otherwise, and by default, it is set to False.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<example file="refex/ex98"/>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="FileFunctions">
|
|
|
+<short>File handling functions</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+Functions concerning input and output from and to file.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="Append"/></td><td>Open a file in append mode</td></tr>
|
|
|
+<tr><td><link id="Assign"/></td><td>Assign a name to a file</td></tr>
|
|
|
+<tr><td><link id="Blockread"/></td><td>Read data from a file into memory</td></tr>
|
|
|
+<tr><td><link id="Blockwrite"/></td><td>Write data from memory to a file</td></tr>
|
|
|
+<tr><td><link id="Close"/></td><td>Close a file</td></tr>
|
|
|
+<tr><td><link id="Eof"/></td><td>Check for end of file</td></tr>
|
|
|
+<tr><td><link id="Eoln"/></td><td>Check for end of line</td></tr>
|
|
|
+<tr><td><link id="Erase"/></td><td>Delete file from disk</td></tr>
|
|
|
+<tr><td><link id="Filepos"/></td><td>Position in file</td></tr>
|
|
|
+<tr><td><link id="Filesize"/></td><td>Size of file</td></tr>
|
|
|
+<tr><td><link id="Flush"/></td><td>Write file buffers to disk</td></tr>
|
|
|
+<tr><td><link id="IOresult"/></td><td>Return result of last file IO operation</td></tr>
|
|
|
+<tr><td><link id="Read"/></td><td>Read from file into variable</td></tr>
|
|
|
+<tr><td><link id="Readln"/></td><td>Read from file into variable and goto next line</td></tr>
|
|
|
+<tr><td><link id="Rename"/></td><td>Rename file on disk</td></tr>
|
|
|
+<tr><td><link id="Reset"/></td><td>Open file for reading</td></tr>
|
|
|
+<tr><td><link id="Rewrite"/></td><td>Open file for writing</td></tr>
|
|
|
+<tr><td><link id="Seek"/></td><td>Set file position</td></tr>
|
|
|
+<tr><td><link id="SeekEof"/></td><td>Set file position to end of file</td></tr>
|
|
|
+<tr><td><link id="SeekEoln"/></td><td>Set file position to end of line</td></tr>
|
|
|
+<tr><td><link id="SetTextBuf"/></td><td>Set size of file buffer</td></tr>
|
|
|
+<tr><td><link id="Truncate"/></td><td>Truncate the file at position</td></tr>
|
|
|
+<tr><td><link id="Write"/></td><td>Write variable to file</td></tr>
|
|
|
+<tr><td><link id="WriteLn"/></td><td>Write variable to file and append newline</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="MemoryFunctions">
|
|
|
+<short>Memory management functions</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+Functions concerning memory issues.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="Addr"/></td><td>Return address of variable</td></tr>
|
|
|
+<tr><td><link id="Assigned"/></td><td>Check if a pointer is valid</td></tr>
|
|
|
+<tr><td><link id="CompareByte"/></td><td>Compare 2 memory buffers byte per byte</td></tr>
|
|
|
+<tr><td><link id="CompareChar"/></td><td>Compare 2 memory buffers byte per byte</td></tr>
|
|
|
+<tr><td><link id="CompareDWord"/></td><td>Compare 2 memory buffers byte per byte</td></tr>
|
|
|
+<tr><td><link id="CompareWord"/></td><td>Compare 2 memory buffers byte per byte</td></tr>
|
|
|
+<tr><td><link id="CSeg"/></td><td>Return code segment</td></tr>
|
|
|
+<tr><td><link id="Dispose"/></td><td>Free dynamically allocated memory</td></tr>
|
|
|
+<tr><td><link id="DSeg"/></td><td>Return data segment</td></tr>
|
|
|
+<tr><td><link id="FillByte"/></td><td>Fill memory region with 8-bit pattern</td></tr>
|
|
|
+<tr><td><link id="Fillchar"/></td><td>Fill memory region with certain character</td></tr>
|
|
|
+<tr><td><link id="FillDWord"/></td><td>Fill memory region with 32-bit pattern</td></tr>
|
|
|
+<tr><td><link id="Fillword"/></td><td>Fill memory region with 16-bit pattern</td></tr>
|
|
|
+<tr><td><link id="Freemem"/></td><td>Release allocated memory</td></tr>
|
|
|
+<tr><td><link id="Getmem"/></td><td>Allocate new memory</td></tr>
|
|
|
+<tr><td><link id="GetMemoryManager"/></td><td>Return current memory manager</td></tr>
|
|
|
+<tr><td><link id="High"/></td><td>Return highest index of open array or enumerated</td></tr>
|
|
|
+<tr><td><link id="IsMemoryManagerSet"/></td><td>Is the memory manager set</td></tr>
|
|
|
+<tr><td><link id="Low"/></td><td>Return lowest index of open array or enumerated</td></tr>
|
|
|
+<tr><td><link id="Maxavail"/></td><td>Return size of largest free memory block</td></tr>
|
|
|
+<tr><td><link id="Memavail"/></td><td>Return total available memory</td></tr>
|
|
|
+<tr><td><link id="Move"/></td><td>Move data from one location in memory to another</td></tr>
|
|
|
+<tr><td><link id="MoveChar0">MoveChar0</link></td><td>Move data till first zero character</td></tr>
|
|
|
+<tr><td><link id="New"/></td><td>Dynamically allocate memory for variable</td></tr>
|
|
|
+<tr><td><link id="Ofs"/></td><td>Return offset of variable</td></tr>
|
|
|
+<tr><td><link id="Ptr"/></td><td>Combine segment and offset to pointer</td></tr>
|
|
|
+<tr><td><link id="ReAllocMem"/></td><td>Resize a memory block on the heap</td></tr>
|
|
|
+<tr><td><link id="Seg"/></td><td>Return segment</td></tr>
|
|
|
+<tr><td><link id="SetMemoryManager"/></td><td>Set a memory manager</td></tr>
|
|
|
+<tr><td><link id="Sptr"/></td><td>Return current stack pointer</td></tr>
|
|
|
+<tr><td><link id="SSeg"/></td><td>Return stack segment register value</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="MathematicalFunctions">
|
|
|
+<short>Mathematical routines</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+Functions connected to calculating and coverting numbers.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="Abs"/></td><td>Calculate absolute value</td></tr>
|
|
|
+<tr><td><link id="Arctan"/></td><td>Calculate inverse tangent</td></tr>
|
|
|
+<tr><td><link id="Cos"/></td><td>Calculate cosine of angle</td></tr>
|
|
|
+<tr><td><link id="Dec"/></td><td>Decrease value of variable</td></tr>
|
|
|
+<tr><td><link id="Exp"/></td><td>Exponentiate</td></tr>
|
|
|
+<tr><td><link id="Frac"/></td><td>Return fractional part of floating point value</td></tr>
|
|
|
+<tr><td><link id="Hi"/></td><td>Return high byte/word of value</td></tr>
|
|
|
+<tr><td><link id="Inc"/></td><td>Increase value of variable</td></tr>
|
|
|
+<tr><td><link id="Int"/></td><td>Calculate integer part of floating point value</td></tr>
|
|
|
+<tr><td><link id="Ln"/></td><td>Calculate logarithm</td></tr>
|
|
|
+<tr><td><link id="Lo"/></td><td>Return low byte/word of value</td></tr>
|
|
|
+<tr><td><link id="Odd"/></td><td>Is a value odd or even ? </td></tr>
|
|
|
+<tr><td><link id="Pi"/></td><td>Return the value of pi</td></tr>
|
|
|
+<tr><td><link id="Power"/></td><td>Raise float to integer power</td></tr>
|
|
|
+<tr><td><link id="Random"/></td><td>Generate random number</td></tr>
|
|
|
+<tr><td><link id="Randomize"/></td><td>Initialize random number generator</td></tr>
|
|
|
+<tr><td><link id="Round"/></td><td>Round floating point value to nearest integer number</td></tr>
|
|
|
+<tr><td><link id="Sin"/></td><td>Calculate sine of angle</td></tr>
|
|
|
+<tr><td><link id="Sqr"/></td><td>Calculate the square of a value</td></tr>
|
|
|
+<tr><td><link id="Sqrt"/></td><td>Calculate the square root of a value</td></tr>
|
|
|
+<tr><td><link id="Swap"/></td><td>Swap high and low bytes/words of a variable</td></tr>
|
|
|
+<tr><td><link id="Trunc"/></td><td>Truncate a floating point value</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="StringFunctions">
|
|
|
+<short>String handling</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+All things connected to string handling.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="BinStr"/></td><td>Construct binary representation of integer</td></tr>
|
|
|
+<tr><td><link id="Chr"/></td><td>Convert ASCII code to character</td></tr>
|
|
|
+<tr><td><link id="Concat"/></td><td>Concatenate two strings</td></tr>
|
|
|
+<tr><td><link id="Copy"/></td><td>Copy part of a string</td></tr>
|
|
|
+<tr><td><link id="Delete"/></td><td>Delete part of a string</td></tr>
|
|
|
+<tr><td><link id="HexStr"/></td><td>Construct hexadecimal representation of integer</td></tr>
|
|
|
+<tr><td><link id="Insert"/></td><td>Insert one string in another</td></tr>
|
|
|
+<tr><td><link id="Length"/></td><td>Return length of string</td></tr>
|
|
|
+<tr><td><link id="Lowercase"/></td><td>Convert string to all-lowercase</td></tr>
|
|
|
+<tr><td><link id="OctStr"/></td><td>Construct octal representation of integer</td></tr>
|
|
|
+<tr><td><link id="Pos"/></td><td>Calculate position of one string in another</td></tr>
|
|
|
+<tr><td><link id="SetLength"/></td><td>Set length of a string</td></tr>
|
|
|
+<tr><td><link id="SetString"/></td><td>Set contents and length of a string</td></tr>
|
|
|
+<tr><td><link id="Str"/></td><td>Convert number to string representation</td></tr>
|
|
|
+<tr><td><link id="StringOfChar"/></td><td>Create string consisting of a number of characters</td></tr>
|
|
|
+<tr><td><link id="Upcase"/></td><td>Convert string to all-uppercase</td></tr>
|
|
|
+<tr><td><link id="Val"/></td><td>Convert string to number</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="OSfunctions">
|
|
|
+<short>Operating System functions</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+Functions that are connected to the operating system.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="Chdir"/></td><td>Change working directory</td></tr>
|
|
|
+<tr><td><link id="Getdir"/></td><td>Return current working directory</td></tr>
|
|
|
+<tr><td><link id="Halt"/></td><td>Halt program execution</td></tr>
|
|
|
+<tr><td><link id="Paramcount"/></td><td>Number of parameters with which program was called</td></tr>
|
|
|
+<tr><td><link id="Paramstr"/></td><td>Retrieve parameters with which program was called</td></tr>
|
|
|
+<tr><td><link id="Mkdir"/></td><td>Make a directory</td></tr>
|
|
|
+<tr><td><link id="Rmdir"/></td><td>Remove a directory</td></tr>
|
|
|
+<tr><td><link id="Runerror"/></td><td>Abort program execution with error condition</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<topic name="MiscellaneousFunctions">
|
|
|
+<short>Miscellaneous functions</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+Functions that do not belong in one of the other categories.
|
|
|
+</p>
|
|
|
+<table>
|
|
|
+<th><td>Name</td><td>Description</td></th>
|
|
|
+<tr><td><link id="Assert"/></td><td>Conditionally abort program with error</td></tr>
|
|
|
+<tr><td><link id="Break"/></td><td>Abort current loop</td></tr>
|
|
|
+<tr><td><link id="Continue"/></td><td>Next cycle in current loop</td></tr>
|
|
|
+<tr><td><link id="Exclude"/></td><td>Exclude an element from a set</td></tr>
|
|
|
+<tr><td><link id="Exit"/></td><td>Exit current function or procedure</td></tr>
|
|
|
+<tr><td><link id="Include"/></td><td>Include an element into a set</td></tr>
|
|
|
+<tr><td><link id="LongJmp"/></td><td>Jump to execution point</td></tr>
|
|
|
+<tr><td><link id="Ord"/></td><td>Return ordinal value of enumerated type</td></tr>
|
|
|
+<tr><td><link id="Pred"/></td><td>Return previous value of ordinal type</td></tr>
|
|
|
+<tr><td><link id="SetJmp"/></td><td>Mark execution point for jump</td></tr>
|
|
|
+<tr><td><link id="SizeOf"/></td><td>Return size of variable or type</td></tr>
|
|
|
+<tr><td><link id="Succ"/></td><td>Return next value of ordinal type</td></tr>
|
|
|
+</table>
|
|
|
+</descr>
|
|
|
+</topic>
|
|
|
+
|
|
|
+<element name="Abs">
|
|
|
+<short>Calculate absolute value</short>
|
|
|
+<descr>
|
|
|
+<var>Abs</var> returns the absolute value of a variable. The result of the
|
|
|
+function has the same type as its argument, which can be any numerical
|
|
|
+type.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Round"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex1"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Addr">
|
|
|
+<short>Return address of a variable</short>
|
|
|
+<descr>
|
|
|
+<var>Addr</var> returns a pointer to its argument, which can be any type, or a
|
|
|
+function or procedure name. The returned pointer isn't typed.
|
|
|
+The same result can be obtained by the <var>@</var> operator, which can return a
|
|
|
+typed pointer (\progref).
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SizeOf"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex2"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Append">
|
|
|
+<short>Open a file in append mode</short>
|
|
|
+<descr>
|
|
|
+<var>Append</var> opens an existing file in append mode. Any data written to
|
|
|
+<var>F</var> will be appended to the file. Only text files can be opened in
|
|
|
+append mode. After a call to <var>Append</var>, the file <var>F</var> becomes
|
|
|
+write-only.
|
|
|
+
|
|
|
+File sharing is not taken into account when calling <var>Append</var>.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If the file doesn't exist when appending, a run-time error will be generated.
|
|
|
+This behaviour has changed on Windows and Linux platforms, where in versions
|
|
|
+prior to 1.0.6, the file would be created in append mode.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Close"/>
|
|
|
+<link id="Reset"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex3"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Arctan">
|
|
|
+<short>Calculate inverse tangent</short>
|
|
|
+<descr>
|
|
|
+<var>Arctan</var> returns the Arctangent of <var>X</var>, which can be any Real type.
|
|
|
+The resulting angle is in radial units.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Sin"/>
|
|
|
+<link id="Cos"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex4"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Assert">
|
|
|
+<short>Check validity of a given condition.</short>
|
|
|
+<descr>
|
|
|
+With assertions on, <var>Assert</var> tests if <var>expr</var> is
|
|
|
+false, and if so, aborts the application with a Runtime error
|
|
|
+227 and an optional error message in <var>msg</var>.
|
|
|
+If <var>expr</var> is true, program execution continues normally.
|
|
|
+
|
|
|
+If assertions are not enabled at compile time, this routine does
|
|
|
+nothing, and no code is generated for the <var>Assert</var> call.
|
|
|
+
|
|
|
+Enabling and disabling assertions at compile time is done via
|
|
|
+the <var>\$C</var> or <var>\$ASSERTIONS</var> compiler switches. These are
|
|
|
+global switches.
|
|
|
+
|
|
|
+The default behavior of the assert call can be changed by
|
|
|
+setting a new handler in the <var>AssertErrorProc</var> variable.
|
|
|
+Sysutils overrides the default handler to raise a <var>EAssertionFailed</var>
|
|
|
+exception.
|
|
|
+
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Halt"/>
|
|
|
+<link id="Runerror"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="Assign">
|
|
|
+<short>Assign a name to a file</short>
|
|
|
+<descr>
|
|
|
+<var>Assign</var> assigns a name to <var>F</var>, which can be any file type.
|
|
|
+This call doesn't open the file, it just assigns a name to a file variable,
|
|
|
+and marks the file as closed.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Append"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex5"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Assigned">
|
|
|
+<short>Check if a pointer is valid</short>
|
|
|
+<descr>
|
|
|
+<var>Assigned</var> returns <var>True</var> if <var>P</var> is non-nil
|
|
|
+and retuns <var>False</var> of <var>P</var> is nil.
|
|
|
+The main use of Assigned is that Procedural variables, method variables and
|
|
|
+class-type variables also can be passed to <var>Assigned</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="New"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex96"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="BinStr">
|
|
|
+<short>Convert integer to string with binary representation.</short>
|
|
|
+<descr>
|
|
|
+<var>BinStr</var> returns a string with the binary representation
|
|
|
+of <var>Value</var>. The string has at most <var>cnt</var> characters.
|
|
|
+(i.e. only the <var>cnt</var> rightmost bits are taken into account)
|
|
|
+To have a complete representation of any longint-type value, 32
|
|
|
+bits are needed, i.e. <var>cnt=32</var>
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Str"/>
|
|
|
+<link id="Val"/>
|
|
|
+<link id="HexStr"/>
|
|
|
+<link id="OctStr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex82"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Blockread">
|
|
|
+<short>Read data from an untyped file into memory</short>
|
|
|
+<descr>
|
|
|
+<var>Blockread</var> reads <var>count</var> or less records from file <var>F</var>. A
|
|
|
+record is a block of bytes with size specified by the <link id="Rewrite"/> or
|
|
|
+<link id="Reset"/> statement.
|
|
|
+
|
|
|
+The result is placed in <var>Buffer</var>, which must contain enough room for
|
|
|
+<var>Count</var> records. The function cannot read partial records.
|
|
|
+If <var>Result</var> is specified, it contains the number of records actually
|
|
|
+read. If <var>Result</var> isn't specified, and less than <var>Count</var> records were
|
|
|
+read, a run-time error is generated. This behavior can be controlled by the
|
|
|
+\var{\{\$i\}} switch.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Blockwrite"/>
|
|
|
+<link id="Close"/>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Assign"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex6"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Blockwrite">
|
|
|
+<short>Write data from memory to an untyped file</short>
|
|
|
+<descr>
|
|
|
+<var>BlockWrite</var> writes <var>count</var> records from <var>buffer</var> to the file
|
|
|
+ <var>F</var>.A record is a block of bytes with size specified by the <link id="Rewrite"/> or
|
|
|
+<link id="Reset"/> statement.
|
|
|
+
|
|
|
+If the records couldn't be written to disk, a run-time error is generated.
|
|
|
+This behavior can be controlled by the \var{\{\$i\}} switch.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Blockread"/>
|
|
|
+<link id="Close"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Assign"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+For the example, see <link id="Blockread"/>.
|
|
|
+
|
|
|
+<element name="Break">
|
|
|
+<short>Exit current loop construct.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Break</var> jumps to the statement following the end of the current
|
|
|
+repetitive statement. The code between the <var>Break</var> call and
|
|
|
+the end of the repetitive statement is skipped.
|
|
|
+The condition of the repetitive statement is NOT evaluated.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This can be used with <var>For</var>, var{repeat} and <var>While</var> statements.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Note that while this is a procedure, <var>Break</var> is a reserved word
|
|
|
+and hence cannot be redefined.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Continue"/>
|
|
|
+<link id="Exit"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex87"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Chdir">
|
|
|
+<short>Change current working directory.</short>
|
|
|
+<descr>
|
|
|
+<var>Chdir</var> changes the working directory of the process to <var>S</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Mkdir"/>
|
|
|
+<link id="Rmdir"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex7"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Chr">
|
|
|
+<short>Convert byte value to character value</short>
|
|
|
+<descr>
|
|
|
+<var>Chr</var> returns the character which has ASCII value <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Str"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex8"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Close">
|
|
|
+<short>Close a file</short>
|
|
|
+<descr>
|
|
|
+<var>Close</var> flushes the buffer of the file <var>F</var> and closes <var>F</var>.
|
|
|
+After a call to <var>Close</var>, data can no longer be read from or written to
|
|
|
+<var>F</var>.
|
|
|
+To reopen a file closed with <var>Close</var>, it isn't necessary to assign the
|
|
|
+file again. A call to <link id="Reset"/> or <link id="Rewrite"/> is sufficient.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Flush"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex9"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="CompareByte">
|
|
|
+<short>Compare 2 memory buffers byte per byte</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CompareByte</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
|
|
|
+byte-per-byte basis for a total of <var>len</var> bytes.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function returns one of the following values:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>less than 0</dt>
|
|
|
+<dd> if <var>buf1</var> and <var>buf2</var> contain different bytes
|
|
|
+in the first <var>len</var> bytes, and the first such byte is smaller in <var>buf1</var>
|
|
|
+than the byte at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+<dt>0</dt>
|
|
|
+<dd> if the first <var>len</var> bytes in <var>buf1</var> and <var>buf2</var> are
|
|
|
+equal.
|
|
|
+\item [greater than 0] if <var>buf1</var> and <var>buf2</var> contain different bytes
|
|
|
+in the first <var>len</var> bytes, and the first such byte is larger in <var>buf1</var>
|
|
|
+than the byte at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CompareChar"/>
|
|
|
+<link id="CompareWord"/>
|
|
|
+<link id="CompareDWord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex99"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="CompareChar">
|
|
|
+<short>ompare 2 memory buffers character per character</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CompareChar</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
|
|
|
+character-per-character basis for a total of <var>len</var> characters.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <var>CompareChar0</var> variant compares <var>len</var> bytes, or until
|
|
|
+a zero character is found.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function returns one of the following values:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>-1</dt>
|
|
|
+<dd> if <var>buf1</var> and <var>buf2</var> contain different characters
|
|
|
+in the first <var>len</var> positions, and the first such character is smaller in <var>buf1</var>
|
|
|
+than the character at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+<dt>0</dt>
|
|
|
+<dd> if the first <var>len</var> characters in <var>buf1</var> and <var>buf2</var> are
|
|
|
+equal.
|
|
|
+</dd>
|
|
|
+<dt>1</dt>
|
|
|
+<dd>if <var>buf1</var> and <var>buf2</var> contain different characters
|
|
|
+in the first <var>len</var> positions, and the first such character is larger in
|
|
|
+<var>buf1</var> than the character at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CompareByte"/>
|
|
|
+<link id="CompareWord"/>
|
|
|
+<link id="CompareDWord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex100"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="CompareDWord">
|
|
|
+<short>Compare 2 memory buffers DWord per DWord</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CompareDWord</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
|
|
|
+DWord-per-DWord basis for a total of <var>len</var> DWords. (A DWord is 4 bytes).
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function returns one of the following values:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>-1</dt>
|
|
|
+<dd> if <var>buf1</var> and <var>buf2</var> contain different DWords
|
|
|
+in the first <var>len</var> DWords, and the first such DWord is smaller in <var>buf1</var>
|
|
|
+than the DWord at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+<dt>0</dt>
|
|
|
+<dd> if the first <var>len</var> DWords in <var>buf1</var> and <var>buf2</var> are
|
|
|
+equal.
|
|
|
+</dd>
|
|
|
+<dt>1</dt>
|
|
|
+<dd>if <var>buf1</var> and <var>buf2</var> contain different DWords
|
|
|
+in the first <var>len</var> DWords, and the first such DWord is larger in <var>buf1</var>
|
|
|
+than the DWord at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CompareChar"/>
|
|
|
+<link id="CompareByte"/>
|
|
|
+<link id="CompareWord"/>,
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex101"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="CompareWord">
|
|
|
+<short>Compare 2 memory buffers word per word</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CompareWord</var> compares two memory regions <var>buf1</var>,<var>buf2</var> on a
|
|
|
+Word-per-Word basis for a total of <var>len</var> Words. (A Word is 2 bytes).
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function returns one of the following values:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>-1</dt>
|
|
|
+<dd> if <var>buf1</var> and <var>buf2</var> contain different Words
|
|
|
+in the first <var>len</var> Words, and the first such Word is smaller in <var>buf1</var>
|
|
|
+than the Word at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+<dt>0</dt>
|
|
|
+<dd> if the first <var>len</var> Words in <var>buf1</var> and <var>buf2</var> are
|
|
|
+equal.
|
|
|
+</dd>
|
|
|
+<dt>1</dt>
|
|
|
+<dd>
|
|
|
+if <var>buf1</var> and <var>buf2</var> contain different Words
|
|
|
+in the first <var>len</var> Words, and the first such Word is larger in <var>buf1</var>
|
|
|
+than the Word at the same position in <var>buf2</var>.
|
|
|
+</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CompareChar"/>
|
|
|
+<link id="CompareByte"/>
|
|
|
+<link id="CompareDWord"/>,
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex102"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Concat">
|
|
|
+<short>Append one string to another.</short>
|
|
|
+<descr>
|
|
|
+<var>Concat</var> concatenates the strings <var>S1</var>,<var>S2</var> etc. to one long
|
|
|
+string. The resulting string is truncated at a length of 255 bytes.
|
|
|
+The same operation can be performed with the <var>+</var> operation.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Copy"/>
|
|
|
+<link id="Delete"/>
|
|
|
+<link id="Insert"/>
|
|
|
+<link id="Pos"/>
|
|
|
+<link id="Length"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex10"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Continue">
|
|
|
+<short>Continue with next loop cycle.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Continue</var> jumps to the end of the current repetitive statement.
|
|
|
+The code between the <var>Continue</var> call and the end of the repetitive
|
|
|
+statement is skipped. The condition of the repetitive statement is then
|
|
|
+checked again.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This can be used with <var>For</var>, var{repeat} and <var>While</var> statements.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Note that while this is a procedure, <var>Continue</var> is a reserved word
|
|
|
+and hence cannot be redefined.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Break"/>
|
|
|
+<link id="Exit"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex86"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Copy">
|
|
|
+<short>Copy part of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Copy</var> returns a string which is a copy if the <var>Count</var> characters
|
|
|
+in <var>S</var>, starting at position <var>Index</var>. If <var>Count</var> is larger than
|
|
|
+the length of the string <var>S</var>, the result is truncated.
|
|
|
+If <var>Index</var> is larger than the length of the string <var>S</var>, then an
|
|
|
+empty string is returned.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Delete"/>
|
|
|
+<link id="Insert"/>
|
|
|
+<link id="Pos"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex11"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Cos">
|
|
|
+<short>Calculate cosine of angle</short>
|
|
|
+<descr>
|
|
|
+<var>Cos</var> returns the cosine of <var>X</var>, where X is an angle, in radians.
|
|
|
+
|
|
|
+If the absolute value of the argument is larger than \var{2\^{}63}, then the
|
|
|
+result is undefined.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Arctan"/>
|
|
|
+<link id="Sin"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex12"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="CSeg">
|
|
|
+<short>Return code segment</short>
|
|
|
+<descr>
|
|
|
+<var>CSeg</var> returns the Code segment register. In Free Pascal, it returns always a
|
|
|
+zero, since Free Pascal is a 32 bit compiler.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="DSeg"/>
|
|
|
+<link id="Seg"/>
|
|
|
+<link id="Ofs"/>
|
|
|
+<link id="Ptr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex13"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Dec">
|
|
|
+<short>Decrease value of variable</short>
|
|
|
+<descr>
|
|
|
+<var>Dec</var> decreases the value of <var>X</var> with <var>Decrement</var>.
|
|
|
+If <var>Decrement</var> isn't specified, then 1 is taken as a default.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+A range check can occur, or an underflow error, if an attempt it made
|
|
|
+to decrease <var>X</var> below its minimum value.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Inc"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex14"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Delete">
|
|
|
+<short>Delete part of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Delete</var> removes <var>Count</var> characters from string <var>S</var>, starting
|
|
|
+at position <var>Index</var>. All characters after the delected characters are
|
|
|
+shifted <var>Count</var> positions to the left, and the length of the string is adjusted.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Copy"/>
|
|
|
+<link id="Pos"/>
|
|
|
+<link id="Insert"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex15"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Dispose">
|
|
|
+<short>Free dynamically allocated memory</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The first form <var>Dispose</var> releases the memory allocated with a call to
|
|
|
+<link id="New"/>. The pointer <var>P</var> must be typed. The released memory is
|
|
|
+returned to the heap.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The second form of <var>Dispose</var> accepts as a first parameter a pointer
|
|
|
+to an object type, and as a second parameter the name of a destructor
|
|
|
+of this object. The destructor will be called, and the memory allocated
|
|
|
+for the object will be freed.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+An runtime error will occur if the pointer doesn't point to a location in the
|
|
|
+heap.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="New"/>
|
|
|
+<link id="Getmem"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex16"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="DSeg">
|
|
|
+<short>Return data segment</short>
|
|
|
+<descr>
|
|
|
+<var>DSeg</var> returns the data segment register. In Free Pascal, it returns always a
|
|
|
+zero, since Free Pascal is a 32 bit compiler.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CSeg"/>
|
|
|
+<link id="Seg"/>
|
|
|
+<link id="Ofs"/>
|
|
|
+<link id="Ptr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex17"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Eof">
|
|
|
+<short>Check for end of file</short>
|
|
|
+<descr>
|
|
|
+<var>Eof</var> returns <var>True</var> if the file-pointer has reached the end of the
|
|
|
+file, or if the file is empty. In all other cases <var>Eof</var> returns
|
|
|
+<var>False</var>.
|
|
|
+If no file <var>F</var> is specified, standard input is assumed.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Eoln"/>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex18"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Eoln">
|
|
|
+<short>Check for end of line</short>
|
|
|
+<descr>
|
|
|
+<var>Eof</var> returns <var>True</var> if the file pointer has reached the end of a
|
|
|
+line, which is demarcated by a line-feed character (ASCII value 10), or if
|
|
|
+the end of the file is reached.
|
|
|
+In all other cases <var>Eof</var> returns <var>False</var>.
|
|
|
+If no file <var>F</var> is specified, standard input is assumed.
|
|
|
+It can only be used on files of type <var>Text</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Eof"/>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex19"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Erase">
|
|
|
+<short>Delete a file from disk</short>
|
|
|
+<descr>
|
|
|
+<var>Erase</var> removes an unopened file from disk. The file should be
|
|
|
+assigned with <var>Assign</var>, but not opened with <var>Reset</var> or <var>Rewrite</var>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Assign"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex20"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Exclude">
|
|
|
+<short>Exlude element from a set if it is present.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Exclude</var> removes <var>E</var> from the set <var>S</var> if it is
|
|
|
+included inthe set. E should be of the same type as the base type
|
|
|
+of the set <var>S</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Thus, the two following statements do the same thing:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+S:=S-[E];
|
|
|
+Exclude(S,E);
|
|
|
+</code>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If the type of the element <var>E</var> is not equal to the base type of the
|
|
|
+set <var>S</var>, the compiler will generate an error.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Include"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex111"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Exit">
|
|
|
+<short>Exit current subroutine.</short>
|
|
|
+<descr>
|
|
|
+<var>Exit</var> exits the current subroutine, and returns control to the calling
|
|
|
+routine. If invoked in the main program routine, exit stops the program.
|
|
|
+The optional argument <var>X</var> allows to specify a return value, in the case
|
|
|
+<var>Exit</var> is invoked in a function. The function result will then be
|
|
|
+equal to <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Halt"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex21"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Exp">
|
|
|
+<short>Exponentiate</short>
|
|
|
+<descr>
|
|
|
+<var>Exp</var> returns the exponent of <var>X</var>, i.e. the number <var>e</var> to the
|
|
|
+power <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Ln"/>
|
|
|
+<link id="Power"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex22"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Filepos">
|
|
|
+<short>Get position in file</short>
|
|
|
+<descr>
|
|
|
+<var>Filepos</var> returns the current record position of the file-pointer in file
|
|
|
+<var>F</var>. It cannot be invoked with a file of type <var>Text</var>. A compiler error
|
|
|
+will be generated if this is attempted.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Filesize"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex23"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Filesize">
|
|
|
+<short>Size of file</short>
|
|
|
+<descr>
|
|
|
+<var>Filesize</var> returns the total number of records in file <var>F</var>.
|
|
|
+It cannot be invoked with a file of type <var>Text</var>. (under linux and unix, this
|
|
|
+also means that it cannot be invoked on pipes).
|
|
|
+If <var>F</var> is empty, 0 is returned.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Filepos"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex24"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="FillByte">
|
|
|
+<short>Fill memory region with 8-bit pattern</short>
|
|
|
+<descr>
|
|
|
+<var>FillByte</var> fills the memory starting at <var>X</var> with <var>Count</var> bytes
|
|
|
+with value equal to <var>Value</var>.
|
|
|
+
|
|
|
+This is useful for quickly zeroing out a memory location. When the size of
|
|
|
+the memory location to be filled out is a multiple of 2 bytes, it is better
|
|
|
+ to use <link id="Fillword"/>, and if it is a multiple of 4 bytes it is better
|
|
|
+to use <link id="FillDWord"/>, these routines are optimized for their respective sizes.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking on the size of <var>X</var> is done.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Fillchar"/>
|
|
|
+<link id="FillDWord"/>
|
|
|
+<link id="Fillword"/>
|
|
|
+<link id="Move"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex102"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Fillchar">
|
|
|
+<short>Fill memory region with certain character</short>
|
|
|
+<descr>
|
|
|
+<var>Fillchar</var> fills the memory starting at <var>X</var> with <var>Count</var> bytes
|
|
|
+or characters with value equal to <var>Value</var>.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking on the size of <var>X</var> is done.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Fillword"/>
|
|
|
+<link id="Move"/>
|
|
|
+<link id="FillByte"/>
|
|
|
+<link id="FillDWord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex25"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="FillDWord">
|
|
|
+<short>Fill memory region with 32-bit pattern</short>
|
|
|
+<descr>
|
|
|
+<var>Fillword</var> fills the memory starting at <var>X</var> with <var>Count</var> DWords
|
|
|
+with value equal to <var>Value</var>. A DWord is 4 bytes in size.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking on the size of <var>X</var> is done.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="FillByte"/>
|
|
|
+<link id="Fillchar"/>
|
|
|
+<link id="Fillword"/>
|
|
|
+<link id="Move"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex103"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Fillword">
|
|
|
+<short>Fill memory region with 16-bit pattern</short>
|
|
|
+<descr>
|
|
|
+<var>Fillword</var> fills the memory starting at <var>X</var> with <var>Count</var> words
|
|
|
+with value equal to <var>Value</var>. A word is 2 bytes in size.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking on the size of <var>X</var> is done.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Fillchar"/>
|
|
|
+<link id="Move"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex76"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Flush">
|
|
|
+<short>Write file buffers to disk</short>
|
|
|
+<descr>
|
|
|
+<var>Flush</var> empties the internal buffer of an opened file <var>F</var> and writes the
|
|
|
+contents to disk. The file is \textit{not} closed as a result of this call.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Close"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex26"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Frac">
|
|
|
+<short>Return fractional part of floating point value.</short>
|
|
|
+<descr>
|
|
|
+<var>Frac</var> returns the non-integer part of <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Round"/>
|
|
|
+<link id="Int"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex27"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Freemem">
|
|
|
+<short>Release allocated memory</short>
|
|
|
+<descr>
|
|
|
+<var>Freemem</var> releases the memory occupied by the pointer <var>P</var>, of size
|
|
|
+<var>Count</var> (in bytes), and returns it to the heap. <var>P</var> should point to the memory
|
|
|
+allocated to a dynamic variable.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+An error will occur when <var>P</var> doesn't point to the heap.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Getmem"/>
|
|
|
+<link id="New"/>
|
|
|
+<link id="Dispose"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex28"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="Getdir">
|
|
|
+<short>Return the current directory</short>
|
|
|
+<descr>
|
|
|
+<var>Getdir</var> returns in <var>dir</var> the current directory on the drive
|
|
|
+<var>drivenr</var>, where {drivenr} is 1 for the first floppy drive, 3 for the
|
|
|
+first hard disk etc. A value of 0 returns the directory on the current disk.
|
|
|
+On linux and unix systems, <var>drivenr</var> is ignored, as there is only one
|
|
|
+directory tree.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+An error is returned under dos, if the drive requested isn't ready.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Chdir"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex29"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Getmem">
|
|
|
+<short>Allocate new memory on the heap</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Getmem</var> reserves <var>Size</var> bytes memory on the heap, and returns a
|
|
|
+pointer to this memory in <var>p</var>. If no more memory is available, nil is
|
|
|
+returned.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Freemem"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="Dispose"/>
|
|
|
+<link id="New"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="GetMemoryManager">
|
|
|
+<short>Return current memory manager</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>GetMemoryManager</var> stores the current Memory Manager record in
|
|
|
+<var>MemMgr</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see \progref.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SetMemoryManager"/>
|
|
|
+<link id="IsMemoryManagerSet"/>.
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="Halt">
|
|
|
+<short>Stop program execution.</short>
|
|
|
+<descr>
|
|
|
+<var>Halt</var> stops program execution and returns control to the calling
|
|
|
+program. The optional argument <var>Errnum</var> specifies an exit value. If
|
|
|
+omitted, zero is returned.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Exit"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex30"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="HexStr">
|
|
|
+<short>Convert integer value to string with hexadecimal representation.</short>
|
|
|
+<descr>
|
|
|
+<var>HexStr</var> returns a string with the hexadecimal representation
|
|
|
+of <var>Value</var>. The string has exactly <var>cnt</var> charaters.
|
|
|
+ (i.e. only the <var>cnt</var> rightmost nibbles are taken into account)
|
|
|
+To have a complete representation of a Longint-type value, 8
|
|
|
+nibbles are needed, i.e. <var>cnt=8</var>.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Str"/>
|
|
|
+<link id="Val"/>
|
|
|
+<link id="BinStr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex81"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Hi">
|
|
|
+<short>Return high byte/word of value.</short>
|
|
|
+<descr>
|
|
|
+<var>Hi</var> returns the high byte or word from <var>X</var>, depending on the size
|
|
|
+of X. If the size of X is 4, then the high word is returned. If the size is
|
|
|
+2 then the high byte is returned.
|
|
|
+<var>Hi</var> cannot be invoked on types of size 1, such as byte or char.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Lo"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex31"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="High">
|
|
|
+<short>Return highest index of open array or enumerated</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The return value of <var>High</var> depends on it's argument:
|
|
|
+</p>
|
|
|
+<ol>
|
|
|
+<li> If the argument is an ordinal type, <var>High</var> returns the highest
|
|
|
+ value in the range of the given ordinal type.
|
|
|
+</li>
|
|
|
+<li> If the argument is an array type or an array type variable then
|
|
|
+<var>High</var> returns the highest possible value of it's index.
|
|
|
+</li>
|
|
|
+<li> If the argument is an open array identifier in a function or
|
|
|
+procedure, then <var>High</var> returns the highest index of the array, as if the
|
|
|
+array has a zero-based index.
|
|
|
+</li>
|
|
|
+</ol>
|
|
|
+<p>
|
|
|
+The return type is always the same type as the type of the argument
|
|
|
+(This can lead to some nasty surprises !).
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Low"/>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Pred"/>
|
|
|
+<link id="Succ"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex80"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Inc">
|
|
|
+<short>Increase value of integer variable</short>
|
|
|
+<descr>
|
|
|
+<var>Inc</var> increases the value of <var>X</var> with <var>Increment</var>.
|
|
|
+If <var>Increment</var> isn't specified, then 1 is taken as a default.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If range checking is on, then A range check can occur, or an overflow
|
|
|
+error, when an attempt is made to increase <var>X</var> over its maximum value.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Dec"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex32"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Include">
|
|
|
+<short>Include element in set if it was not yet present.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Include</var> includes <var>E</var> in the set <var>S</var> if it is
|
|
|
+not yet part of the set. E should be of the same type as the base type
|
|
|
+of the set <var>S</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Thus, the two following statements do the same thing:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+S:=S+[E];
|
|
|
+Include(S,E);
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Exclude"/>
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If the type of the element <var>E</var> is not equal to the base type of the
|
|
|
+set <var>S</var>, the compiler will generate an error.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Exclude"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="IndexByte">
|
|
|
+<short>Search for a byte in a memory range.</short>
|
|
|
+<descr>
|
|
|
+<var>IndexByte</var> searches the memory at <var>buf</var> for maximally <var>len</var>
|
|
|
+positions for the byte <var>b</var> and returns it's position if it found one.
|
|
|
+If <var>b</var> is not found then -1 is returned.
|
|
|
+
|
|
|
+The position is zero-based.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+<var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="IndexChar"/>
|
|
|
+<link id="IndexDWord"/>
|
|
|
+<link id="IndexWord"/>
|
|
|
+<link id="CompareByte"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex105"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="IndexChar">
|
|
|
+<short>Search for a character in a memory range.</short>
|
|
|
+<descr>
|
|
|
+<var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
|
|
|
+positions for the character <var>b</var> and returns it's position if it found one.
|
|
|
+If <var>b</var> is not found then -1 is returned.
|
|
|
+
|
|
|
+The position is zero-based. The <var>IndexChar0</var> variant stops looking if
|
|
|
+a null character is found, and returns -1 in that case.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+<var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="IndexByte"/>
|
|
|
+<link id="IndexDWord"/>
|
|
|
+<link id="IndexWord"/>
|
|
|
+<link id="CompareChar"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex108"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="IndexDWord">
|
|
|
+<short>Search for a DWord value in a memory range.</short>
|
|
|
+<descr>
|
|
|
+<var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
|
|
|
+positions for the DWord <var>DW</var> and returns it's position if it found one.
|
|
|
+If <var>DW</var> is not found then -1 is returned.
|
|
|
+
|
|
|
+The position is zero-based.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+<var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="IndexByte"/>
|
|
|
+<link id="IndexChar"/>
|
|
|
+<link id="IndexWord"/>
|
|
|
+<link id="CompareDWord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex106"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="IndexWord">
|
|
|
+<short>Search for a WORD value in a memory range.</short>
|
|
|
+<descr>
|
|
|
+<var>IndexChar</var> searches the memory at <var>buf</var> for maximally <var>len</var>
|
|
|
+positions for the Word <var>W</var> and returns it's position if it found one.
|
|
|
+If <var>W</var> is not found then -1 is returned.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+<var>Buf</var> and <var>Len</var> are not checked to see if they are valid values.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="IndexByte"/>
|
|
|
+<link id="IndexDWord"/>
|
|
|
+<link id="IndexChar"/>
|
|
|
+<link id="CompareWord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex107"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Insert">
|
|
|
+<short>Insert one string in another.</short>
|
|
|
+<descr>
|
|
|
+<var>Insert</var> inserts string <var>Source</var> in string <var>S</var>, at position
|
|
|
+<var>Index</var>, shifting all characters after <var>Index</var> to the right. The
|
|
|
+resulting string is truncated at 255 characters, if needed. (i.e. for
|
|
|
+shortstrings)
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Delete"/>
|
|
|
+<link id="Copy"/>
|
|
|
+<link id="Pos"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex33"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="IsMemoryManagerSet">
|
|
|
+<short>Is the memory manager set</short>
|
|
|
+<descr>
|
|
|
+<var>IsMemoryManagerSet</var> will return <var>True</var> if the memory manager has
|
|
|
+been set to another value than the system heap manager, it will return
|
|
|
+<var>False</var> otherwise.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SetMemoryManager"/>
|
|
|
+<link id="GetMemoryManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Int">
|
|
|
+<short>Calculate integer part of floating point value.</short>
|
|
|
+<descr>
|
|
|
+<var>Int</var> returns the integer part of any Real <var>X</var>, as a Real.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Frac"/>
|
|
|
+<link id="Round"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex34"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="IOresult">
|
|
|
+<short>Return result of last file IO operation</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+IOresult contains the result of any input/output call, when the
|
|
|
+<var>{\$i-}</var> compiler directive is active, disabling IO checking.
|
|
|
+When the flag is read, it is reset to zero.
|
|
|
+If <var>IOresult</var> is zero, the operation completed successfully. If
|
|
|
+non-zero, an error occurred. The following errors can occur:
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+dos errors :
|
|
|
+</p>
|
|
|
+<dl><dt>2</dt><dd> File not found.</dd>
|
|
|
+<dt>3</dt><dd> Path not found.</dd>
|
|
|
+<dt>4</dt><dd> Too many open files.</dd>
|
|
|
+<dt>5</dt><dd> Access denied.</dd>
|
|
|
+<dt>6</dt><dd> Invalid file handle.</dd>
|
|
|
+<dt>12</dt><dd> Invalid file-access mode.</dd>
|
|
|
+<dt>15</dt><dd> Invalid disk number.</dd>
|
|
|
+<dt>16</dt><dd> Cannot remove current directory.</dd>
|
|
|
+<dt>17</dt><dd> Cannot rename across volumes.</dd>
|
|
|
+</dl>
|
|
|
+<p>
|
|
|
+I/O errors :
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>100</dt><dd> Error when reading from disk.</dd>
|
|
|
+<dt>101</dt><dd> Error when writing to disk.</dd>
|
|
|
+<dt>102</dt><dd> File not assigned.</dd>
|
|
|
+<dt>103</dt><dd> File not open.</dd>
|
|
|
+<dt>104</dt><dd> File not opened for input.</dd>
|
|
|
+<dt>105</dt><dd> File not opened for output.</dd>
|
|
|
+<dt>106</dt><dd> Invalid number.</dd>
|
|
|
+</dl>
|
|
|
+<p>
|
|
|
+Fatal errors :
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>150</dt><dd> Disk is write protected.</dd>
|
|
|
+<dt>151</dt><dd> Unknown device.</dd>
|
|
|
+<dt>152</dt><dd> Drive not ready.</dd>
|
|
|
+<dt>153</dt><dd> Unknown command.</dd>
|
|
|
+<dt>154</dt><dd> CRC check failed.</dd>
|
|
|
+<dt>155</dt><dd> Invalid drive specified..</dd>
|
|
|
+<dt>156</dt><dd> Seek error on disk.</dd>
|
|
|
+<dt>157</dt><dd> Invalid media type.</dd>
|
|
|
+<dt>158</dt><dd> Sector not found.</dd>
|
|
|
+<dt>159</dt><dd> Printer out of paper.</dd>
|
|
|
+<dt>160</dt><dd> Error when writing to device.</dd>
|
|
|
+<dt>161</dt><dd> Error when reading from device.</dd>
|
|
|
+<dt>162</dt><dd> Hardware failure.</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+All I/O functions.
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex35"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Length">
|
|
|
+<short>Calculate length of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Length</var> returns the length of the string <var>S</var>, which is limited
|
|
|
+to 255 for shortstrings. If the strings <var>S</var> is empty, 0 is returned.
|
|
|
+
|
|
|
+<em> Note:</em> The length of the string <var>S</var> is stored in <var>S[0]</var> for
|
|
|
+shortstrings only. The <var>Length</var> fuction should always be used on
|
|
|
+ansistrings and widestrings.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Pos"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex36"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Ln">
|
|
|
+<short>Calculate logarithm</short>
|
|
|
+<descr>
|
|
|
+<var>Ln</var> returns the natural logarithm of the Real parameter <var>X</var>.
|
|
|
+<var>X</var> must be positive.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+An run-time error will occur when <var>X</var> is negative.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Exp"/>
|
|
|
+<link id="Power"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex37"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Lo">
|
|
|
+<short>Return low byte/word of value.</short>
|
|
|
+<descr>
|
|
|
+<var>Lo</var> returns the low byte of its argument if this is of type
|
|
|
+<var>Integer</var> or
|
|
|
+<var>Word</var>. It returns the low word of its argument if this is of type
|
|
|
+<var>Longint</var> or <var>Cardinal</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Chr"/>
|
|
|
+<link id="Hi"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex38"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="LongJmp">
|
|
|
+<short>Jump to address.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>LongJmp</var> jumps to the adress in the <var>env</var> <var>jmp_buf</var>,
|
|
|
+and restores the registers that were stored in it at the corresponding
|
|
|
+<link id="SetJmp"/> call.
|
|
|
+In effect, program flow will continue at the <var>SetJmp</var> call, which will
|
|
|
+return <var>value</var> instead of 0. If a <var>value</var> equal to zero is passed,
|
|
|
+it will be converted to 1 before passing it on. The call will not return, so it must be
|
|
|
+used with extreme care.
|
|
|
+This can be used for error recovery, for instance when a segmentation fault
|
|
|
+occurred.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="SetJmp"/>
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SetJmp"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Low">
|
|
|
+<short>Return lowest index of open array or enumerated</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+ The return value of <var>Low</var> depends on it's argument:
|
|
|
+</p>
|
|
|
+<ol>
|
|
|
+<li> If the argument is an ordinal type, <var>Low</var> returns the lowest
|
|
|
+value in the range of the given ordinal type.
|
|
|
+</li>
|
|
|
+<li> If the argument is an array type or an array type variable then
|
|
|
+<var>Low</var> returns the lowest possible value of it's index.
|
|
|
+</li>
|
|
|
+</ol>
|
|
|
+<p>
|
|
|
+The return type is always the same type as the type of the argument.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+for an example, see <link id="High"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="High"/>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Pred"/>
|
|
|
+<link id="Succ"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Lowercase">
|
|
|
+<short>Return lowercase version of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Lowercase</var> returns the lowercase version of its argument <var>C</var>.
|
|
|
+If its argument is a string, then the complete string is converted to
|
|
|
+lowercase. The type of the returned value is the same as the type of the
|
|
|
+argument.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Upcase"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex73"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Mark">
|
|
|
+<short>Mark current memory position</short>
|
|
|
+<descr>
|
|
|
+This routine is here for compatibility with Turbo Pascal, but
|
|
|
+it is not implemented and currently does nothing.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Getmem"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="New"/>
|
|
|
+<link id="Dispose"/>
|
|
|
+<link id="Maxavail"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Maxavail">
|
|
|
+<short>Return size of largest free memory block</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Maxavail</var> returns the size, in bytes, of the biggest free memory block in
|
|
|
+the heap.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+The heap grows dynamically if more memory is needed than is available.
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Memavail"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="Getmem"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex40"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Memavail">
|
|
|
+<short>Return total available memory</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Memavail</var> returns the size, in bytes, of the free heap memory.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+The heap grows dynamically if more memory is needed than is available. The
|
|
|
+heap size is not equal to the size of the memory available to the
|
|
|
+operating system, it is internal to the programs created by Free Pascal.
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Maxavail"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="Getmem"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex41"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Mkdir">
|
|
|
+<short>Create a new directory.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Mkdir</var> creates a new directory <var>S</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Rmdir"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Chdir"/>
|
|
|
+<link id="Rmdir"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Move">
|
|
|
+<short>Move data from one location in memory to another</short>
|
|
|
+<descr>
|
|
|
+<var>Move</var> moves <var>Count</var> bytes from <var>Source</var> to <var>Dest</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If either <var>Dest</var> or <var>Source</var> is outside the accessible memory for
|
|
|
+the process, then a run-time error will be generated.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Fillword"/>
|
|
|
+<link id="Fillchar"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex42"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="MoveChar0">
|
|
|
+<short>Move data till first zero character</short>
|
|
|
+<descr>
|
|
|
+<var>MoveChar0</var> moves <var>Count</var> bytes from <var>Src</var> to <var>Dest</var>, and
|
|
|
+stops moving if a zero character is found.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking is done to see if <var>Count</var> stays within the memory allocated
|
|
|
+to the process.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Move"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex109"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="New">
|
|
|
+<short>Dynamically allocate memory for variable</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>New</var> allocates a new instance of the type pointed to by <var>P</var>, and
|
|
|
+puts the address in <var>P</var>.
|
|
|
+If P is an object, then it is possible to
|
|
|
+specify the name of the constructor with which the instance will be created.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Dispose"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If not enough memory is available, <var>Nil</var> will be returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Dispose"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="Getmem"/>
|
|
|
+<link id="Memavail"/>,
|
|
|
+<link id="Maxavail"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Odd">
|
|
|
+<short>Is a value odd or even ?</short>
|
|
|
+<descr>
|
|
|
+<var>Odd</var> returns <var>True</var> if <var>X</var> is odd, or <var>False</var> otherwise.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Abs"/>
|
|
|
+<link id="Ord"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex43"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="OctStr">
|
|
|
+<short>Convert integer to a string with octal representation.</short>
|
|
|
+<descr>
|
|
|
+<var>OctStr</var> returns a string with the octal representation
|
|
|
+of <var>Value</var>. The string has exactly <var>cnt</var> charaters.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Str"/>
|
|
|
+<link id="Val"/>
|
|
|
+<link id="BinStr"/>
|
|
|
+<link id="HexStr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex112"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Ofs">
|
|
|
+<short>Return offset of a variable.</short>
|
|
|
+<descr>
|
|
|
+<var>Ofs</var> returns the offset of the address of a variable.
|
|
|
+This function is only supported for compatibility. In Free Pascal, it
|
|
|
+returns always the complete address of the variable, since Free Pascal is a 32 bit
|
|
|
+compiler.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="DSeg"/>
|
|
|
+<link id="CSeg"/>
|
|
|
+<link id="Seg"/>
|
|
|
+<link id="Ptr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex44"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Ord">
|
|
|
+<short>Return ordinal value of an ordinal type.</short>
|
|
|
+<descr>
|
|
|
+<var>Ord</var> returns the Ordinal value of a ordinal-type variable <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Chr"/>
|
|
|
+<link id="Succ"/>
|
|
|
+<link id="Pred"/>
|
|
|
+<link id="High"/>
|
|
|
+<link id="Low"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex45"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Paramcount">
|
|
|
+<short>Return number of command-line parameters passed to the program.</short>
|
|
|
+<descr>
|
|
|
+<var>Paramcount</var> returns the number of command-line arguments. If no
|
|
|
+arguments were given to the running program, <var>0</var> is returned.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Paramstr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex46"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Paramstr">
|
|
|
+<short>Return value of a command-line argument.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Paramstr</var> returns the <var>L</var>-th command-line argument. <var>L</var> must
|
|
|
+be between <var>0</var> and <var>Paramcount</var>, these values included.
|
|
|
+The zeroth argument is the path and file name with which the program was
|
|
|
+started.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The command-line parameters will be truncated to a length of 255,
|
|
|
+even though the operating system may support bigger command-lines.
|
|
|
+The <var>Objpas</var> unit (used in <var>objfpc</var> or <var>delphi</var> mode) define versions
|
|
|
+of <var>Paramstr</var> which return the full-length command-line arguments.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+When the complete command-line must be accessed, the <var>argv</var> pointer
|
|
|
+should be used to retrieve the real values of the command-line parameters.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Paramcount"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Paramcount"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Pi">
|
|
|
+<short>Return the value of PI.</short>
|
|
|
+<descr>
|
|
|
+<var>Pi</var> returns the value of Pi (3.1415926535897932385).
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Cos"/>
|
|
|
+<link id="Sin"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex47"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Pos">
|
|
|
+<short>Search for substring in a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Pos</var> returns the index of <var>Substr</var> in <var>S</var>, if <var>S</var> contains
|
|
|
+<var>Substr</var>. In case <var>Substr</var> isn't found, <var>0</var> is returned.
|
|
|
+The search is case-sensitive.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Length"/>
|
|
|
+<link id="Copy"/>
|
|
|
+<link id="Delete"/>
|
|
|
+<link id="Insert"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex48"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Power">
|
|
|
+<short>Raise float to integer power</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Power</var> returns the value of <var>base</var> to the power <var>expon</var>.
|
|
|
+<var>Base</var> and <var>expon</var> can be of type Longint, in which case the
|
|
|
+result will also be a Longint.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function actually returns <var>Exp(expon*Ln(base))</var>
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Exp"/>
|
|
|
+<link id="Ln"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex78"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Pred">
|
|
|
+<short>Return previous element for an ordinal type.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Pred</var> returns the element that precedes the element that was passed
|
|
|
+to it. If it is applied to the first value of the ordinal type, and the
|
|
|
+program was compiled with range checking on (\var{\{\$R+\}}, then a run-time
|
|
|
+error will be generated.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+for an example, see <link id="Ord"/>
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Run-time error 201 is generated when the result is out of
|
|
|
+range.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Pred"/>
|
|
|
+<link id="High"/>
|
|
|
+<link id="Low"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="Ptr">
|
|
|
+<short>Combine segment and offset to pointer</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Ptr</var> returns a pointer, pointing to the address specified by
|
|
|
+segment <var>Sel</var> and offset <var>Off</var>.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+<ol>
|
|
|
+<li> In the 32-bit flat-memory model supported by Free Pascal, this
|
|
|
+function is obsolete.
|
|
|
+</li>
|
|
|
+<li> The returned address is simply the offset.
|
|
|
+</li>
|
|
|
+</ol>
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Addr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex59"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Random">
|
|
|
+<short>Generate random number</short>
|
|
|
+<descr>
|
|
|
+<var>Random</var> returns a random number larger or equal to <var>0</var> and
|
|
|
+strictly less than <var>L</var>.
|
|
|
+If the argument <var>L</var> is omitted, a Real number between 0 and 1 is returned.
|
|
|
+(0 included, 1 excluded)
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Randomize"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex49"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Randomize">
|
|
|
+<short>Initialize random number generator</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Randomize</var> initializes the random number generator of Free Pascal, by giving
|
|
|
+a value to <var>Randseed</var>, calculated with the system clock.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Random"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Random"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Read">
|
|
|
+<short>Read from a text file into variable</short>
|
|
|
+<descr>
|
|
|
+<var>Read</var> reads one or more values from a file <var>F</var>, and stores the
|
|
|
+result in <var>V1</var>, <var>V2</var>, etc.; If no file <var>F</var> is specified, then
|
|
|
+standard input is read.
|
|
|
+If <var>F</var> is of type <var>Text</var>, then the variables <var>V1, V2</var> etc. must be
|
|
|
+of type <var>Char</var>, <var>Integer</var>, <var>Real</var>, <var>String</var> or <var>PChar</var>.
|
|
|
+If <var>F</var> is a typed file, then each of the variables must be of the type
|
|
|
+specified in the declaration of <var>F</var>. Untyped files are not allowed as an
|
|
|
+argument.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If no data is available, a run-time error is generated. This behavior can
|
|
|
+be controlled with the \var{\{\$i\}} compiler switch.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Readln"/>
|
|
|
+<link id="Blockread"/>
|
|
|
+<link id="Write"/>
|
|
|
+<link id="Blockwrite"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex50"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Readln">
|
|
|
+<short>Read from a text file into variable and goto next line</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Read</var> reads one or more values from a file <var>F</var>, and stores the
|
|
|
+result in <var>V1</var>, <var>V2</var>, etc. After that it goes to the next line in
|
|
|
+the file. The end of the line is marked by the <var>LineEnding</var>
|
|
|
+character sequence (which is platform dependent). The end-of-line marker is
|
|
|
+not considered part of the line and is ignored.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+If no file <var>F</var> is specified, then standard input is read.
|
|
|
+The variables <var>V1, V2</var> etc. must be of type <var>Char</var>, <var>Integer</var>,
|
|
|
+<var>Real</var>, <var>String</var> or <var>PChar</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see <link id="Read"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If no data is available, a run-time error is generated. This behavior can
|
|
|
+be controlled with the \var{\{\$i\}} compiler switch.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Read"/>
|
|
|
+<link id="Blockread"/>
|
|
|
+<link id="Write"/>
|
|
|
+<link id="Blockwrite"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="Real2Double">
|
|
|
+<short>Convert Turbo Pascal style real to double.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+The <var>Real2Double</var> function converts a Turbo Pascal style real (6 bytes long) to
|
|
|
+a native Free Pascal double type. It can be used e.g. to read old binary TP files with
|
|
|
+FPC and convert them to Free Pacal binary files.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Note that the assignment operator has been overloaded so a <var>Real48</var> type
|
|
|
+can be assigned directly to a double or extended.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex110"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Release">
|
|
|
+<short>Release memory above mark point</short>
|
|
|
+<descr>
|
|
|
+This routine is here for compatibility with Turbo Pascal, but
|
|
|
+it is not implemented and currently does nothing.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Mark"/>
|
|
|
+<link id="Memavail"/>
|
|
|
+<link id="Maxavail"/>
|
|
|
+<link id="Getmem"/>
|
|
|
+<link id="Freemem"/>
|
|
|
+<link id="New"/>
|
|
|
+<link id="Dispose"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Rename">
|
|
|
+<short>Rename file on disk</short>
|
|
|
+<descr>
|
|
|
+<var>Rename</var> changes the name of the assigned file <var>F</var> to <var>S</var>.
|
|
|
+<var>F</var>
|
|
|
+must be assigned, but not opened.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Erase"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex77"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Reset">
|
|
|
+<short>Open file for reading</short>
|
|
|
+<descr>
|
|
|
+<var>Reset</var> opens a file <var>F</var> for reading. <var>F</var> can be any file type.
|
|
|
+If <var>F</var> is a text file, or refers to standard I/O (e.g : '') then it is
|
|
|
+opened read-only, otherwise it is opened using the mode specified in
|
|
|
+<var>filemode</var>.
|
|
|
+
|
|
|
+If <var>F</var> is an untyped file, the record size can be specified in
|
|
|
+the optional parameter <var>L</var>. A default value of 128 is used.
|
|
|
+
|
|
|
+File sharing is not taken into account when calling <var>Reset</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Close"/>
|
|
|
+<link id="Append"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex51"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Rewrite">
|
|
|
+<short>Open file for writing</short>
|
|
|
+<descr>
|
|
|
+<var>Rewrite</var> opens a file <var>F</var> for writing. <var>F</var> can be any file type.
|
|
|
+If <var>F</var> is an untyped or typed file, then it is opened for reading and
|
|
|
+writing. If <var>F</var> is an untyped file, the record size can be specified in
|
|
|
+the optional parameter <var>L</var>. Default a value of 128 is used.
|
|
|
+if <var>Rewrite</var> finds a file with the same name as <var>F</var>, this file is
|
|
|
+truncated to length <var>0</var>. If it doesn't find such a file, a new file is
|
|
|
+created.
|
|
|
+
|
|
|
+Contrary to Turbo Pascal, Free Pascal opens the file with mode <var>fmoutput</var>. If it should
|
|
|
+be opened in <var>fminout</var> mode, an extra call to <link id="Reset"/> is needed.
|
|
|
+
|
|
|
+File sharing is not taken into account when calling <var>Rewrite</var>.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Close"/>
|
|
|
+<link id="Flush"/>
|
|
|
+<link id="Append"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex52"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Rmdir">
|
|
|
+<short>Remove directory when empty.</short>
|
|
|
+<descr>
|
|
|
+<var>Rmdir</var> removes the directory <var>S</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Chdir"/>
|
|
|
+<link id="Mkdir"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex53"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Round">
|
|
|
+<short>Round floating point value to nearest integer number.</short>
|
|
|
+<descr>
|
|
|
+<var>Round</var> rounds <var>X</var> to the closest integer, which may be bigger or
|
|
|
+smaller than <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Frac"/>
|
|
|
+<link id="Int"/>
|
|
|
+<link id="Trunc"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex54"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Runerror">
|
|
|
+<short>Generate a run-time error.</short>
|
|
|
+<descr>
|
|
|
+<var>Runerror</var> stops the execution of the program, and generates a
|
|
|
+run-time error <var>ErrorCode</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Exit"/>
|
|
|
+<link id="Halt"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex55"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Seek">
|
|
|
+<short>Set file position</short>
|
|
|
+<descr>
|
|
|
+<var>Seek</var> sets the file-pointer for file <var>F</var> to record Nr. <var>Count</var>.
|
|
|
+The first record in a file has <var>Count=0</var>. F can be any file type, except
|
|
|
+<var>Text</var>. If <var>F</var> is an untyped file, with no record size specified in
|
|
|
+<link id="Reset"/> or <link id="Rewrite"/>, 128 is assumed.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Eof"/>
|
|
|
+<link id="SeekEof"/>
|
|
|
+<link id="SeekEoln"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex56"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SeekEof">
|
|
|
+<short>Set file position to end of file</short>
|
|
|
+<descr>
|
|
|
+<var>SeekEof</var> returns <var>True</var> is the file-pointer is at the end of the
|
|
|
+file. It ignores all whitespace.
|
|
|
+Calling this function has the effect that the file-position is advanced
|
|
|
+until the first non-whitespace character or the end-of-file marker is
|
|
|
+reached.
|
|
|
+If the end-of-file marker is reached, <var>True</var> is returned. Otherwise,
|
|
|
+False is returned.
|
|
|
+If the parameter <var>F</var> is omitted, standard <var>Input</var> is assumed.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+A run-time error is generated if the file <var>F</var> isn't opened.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Eof"/>
|
|
|
+<link id="SeekEoln"/>
|
|
|
+<link id="Seek"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex57"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SeekEoln">
|
|
|
+<short>Set file position to end of line</short>
|
|
|
+<descr>
|
|
|
+<var>SeekEoln</var> returns <var>True</var> is the file-pointer is at the end of the
|
|
|
+current line. It ignores all whitespace.
|
|
|
+Calling this function has the effect that the file-position is advanced
|
|
|
+until the first non-whitespace character or the end-of-line marker is
|
|
|
+reached.
|
|
|
+If the end-of-line marker is reached, <var>True</var> is returned. Otherwise,
|
|
|
+False is returned.
|
|
|
+The end-of-line marker is defined as <var>#10</var>, the LineFeed character.
|
|
|
+If the parameter <var>F</var> is omitted, standard <var>Input</var> is assumed.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+A run-time error is generated if the file <var>F</var> isn't opened.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Eof"/>
|
|
|
+<link id="SeekEof"/>
|
|
|
+<link id="Seek"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex58"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Seg">
|
|
|
+<short>Return segment</short>
|
|
|
+<descr>
|
|
|
+<var>Seg</var> returns the segment of the address of a variable.
|
|
|
+This function is only supported for compatibility. In Free Pascal, it
|
|
|
+returns always 0, since Free Pascal is a 32 bit compiler, segments have no meaning.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="DSeg"/>
|
|
|
+<link id="CSeg"/>
|
|
|
+<link id="Ofs"/>
|
|
|
+<link id="Ptr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex60"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SetMemoryManager">
|
|
|
+<short>Set a memory manager</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>SetMemoryManager</var> sets the current memory manager record to
|
|
|
+<var>MemMgr</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+For an example, see \progref.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="GetMemoryManager"/>
|
|
|
+<link id="IsMemoryManagerSet"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<element name="SetJmp">
|
|
|
+<short>Save current execution point.</short>
|
|
|
+<descr>
|
|
|
+<var>SetJmp</var> fills <var>env</var> with the necessary data for a jump back to the
|
|
|
+point where it was called. It returns zero if called in this way.
|
|
|
+If the function returns nonzero, then it means that a call to <link id="LongJmp"/>
|
|
|
+with <var>env</var> as an argument was made somewhere in the program.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="LongJmp"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex79"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SetLength">
|
|
|
+<short>Set length of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>SetLength</var> sets the length of the string <var>S</var> to <var>Len</var>. <var>S</var>
|
|
|
+can be an ansistring, a short string or a widestring.
|
|
|
+For <var>ShortStrings</var>, <var>Len</var> can maximally be 255. For <var>AnsiStrings</var>
|
|
|
+it can have any value. For <var>AnsiString</var> strings, <var>SetLength</var> {\em
|
|
|
+must} be used to set the length of the string.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Length"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex85"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SetString">
|
|
|
+<short>Set length of a string and copy buffer.</short>
|
|
|
+<descr>
|
|
|
+<var>SetString</var> sets the length of the string <var>S</var> to <var>Len</var> and
|
|
|
+if <var>Buf</var> is non-nil, copies <var>Len</var> characters from <var>Buf</var>
|
|
|
+into <var>S</var>. <var>S</var> can be an ansistring, a short string or a widestring.
|
|
|
+For <var>ShortStrings</var>, <var>Len</var> can maximally be 255.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SetLength"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SetTextBuf">
|
|
|
+<short>Set size of text file internal buffer</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>SetTextBuf</var> assigns an I/O buffer to a text file. The new buffer is
|
|
|
+located at <var>Buf</var> and is <var>Size</var> bytes long. If <var>Size</var> is omitted,
|
|
|
+then <var>SizeOf(Buf)</var> is assumed.
|
|
|
+The standard buffer of any text file is 128 bytes long. For heavy I/O
|
|
|
+operations this may prove too slow. The <var>SetTextBuf</var> procedure allows
|
|
|
+to set a bigger buffer for the IO of the application, thus reducing the number of
|
|
|
+system calls, and thus reducing the load on the system resources.
|
|
|
+The maximum size of the newly assigned buffer is 65355 bytes.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+<ul>
|
|
|
+<li> Never assign a new buffer to an opened file. A
|
|
|
+new buffer can be assigned immediately after a call to <link id="Rewrite"/>
|
|
|
+<link id="Reset"/> or
|
|
|
+<var>Append</var>, but not after the file was read from/written to. This may cause
|
|
|
+loss of data. If a new buffer must be assigned after read/write
|
|
|
+operations have been performed, the file should be flushed first.
|
|
|
+This will ensure that the current buffer is emptied.
|
|
|
+</li>
|
|
|
+<li> Take care that the assigned buffer is always valid. If a local variable is
|
|
|
+assigned as a buffer, then after the program exits the local program block,
|
|
|
+the buffer will no longer be valid, and stack problems may occur.
|
|
|
+</li>
|
|
|
+</ul>
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+No checking on <var>Size</var> is done.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Assign"/>
|
|
|
+<link id="Reset"/>
|
|
|
+<link id="Rewrite"/>
|
|
|
+<link id="Append"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex61"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Sin">
|
|
|
+<short>Calculate sine of angle</short>
|
|
|
+<descr>
|
|
|
+<var>Sin</var> returns the sine of its argument <var>X</var>, where <var>X</var> is an
|
|
|
+angle in radians.
|
|
|
+
|
|
|
+If the absolute value of the argument is larger than \var{2\^{}63}, then the
|
|
|
+result is undefined.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Cos"/>
|
|
|
+<link id="Pi"/>
|
|
|
+<link id="Exp"/>
|
|
|
+<link id="Ln"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex62"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SizeOf">
|
|
|
+<short>Return size of a variable or type.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>SizeOf</var> returns the size, in bytes, of any variable or type-identifier.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+This isn't really a RTL function. Its result is calculated at
|
|
|
+compile-time, and hard-coded in the executable.
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Addr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex63"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Sptr">
|
|
|
+<short>Return current stack pointer</short>
|
|
|
+<descr>
|
|
|
+<var>Sptr</var> returns the current stack pointer.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SSeg"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex64"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Sqr">
|
|
|
+<short>Calculate the square of a value.</short>
|
|
|
+<descr>
|
|
|
+<var>Sqr</var> returns the square of its argument <var>X</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Sqrt"/>
|
|
|
+<link id="Ln"/>
|
|
|
+<link id="Exp"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex65"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Sqrt">
|
|
|
+<short>Calculate the square root of a value</short>
|
|
|
+<descr>
|
|
|
+<var>Sqrt</var> returns the square root of its argument <var>X</var>, which must be
|
|
|
+positive.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If <var>X</var> is negative, then a run-time error is generated.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Sqr"/>
|
|
|
+<link id="Ln"/>
|
|
|
+<link id="Exp"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex66"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="SSeg">
|
|
|
+<short>Return stack segment register value.</short>
|
|
|
+<descr>
|
|
|
+ <var>SSeg</var> returns the Stack Segment. This function is only
|
|
|
+ supported for compatibility reasons, as <var>Sptr</var> returns the
|
|
|
+correct contents of the stackpointer.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Sptr"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex67"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Str">
|
|
|
+<short>Convert a numerical value to a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Str</var> returns a string which represents the value of X. X can be any
|
|
|
+numerical type.
|
|
|
+The optional <var>NumPLaces</var> and <var>Decimals</var> specifiers control the
|
|
|
+formatting of the string.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Val"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex68"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="StringOfChar">
|
|
|
+<short>Return a string consisting of 1 character repeated N times.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>StringOfChar</var> creates a new String of length <var>l</var> and fills
|
|
|
+it with the character <var>c</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+It is equivalent to the following calls:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+SetLength(StringOfChar,l);
|
|
|
+FillChar(Pointer(StringOfChar)^,Length(StringOfChar),c);
|
|
|
+</code>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="SetLength"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex97"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Succ">
|
|
|
+<short>Return next element of ordinal type.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Succ</var> returns the element that succeeds the element that was passed
|
|
|
+to it. If it is applied to the last value of the ordinal type, and the
|
|
|
+program was compiled with range checking on (\var{\{\$R+\}}), then a run-time
|
|
|
+error will be generated.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+for an example, see <link id="Ord"/>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Run-time error 201 is generated when the result is out of
|
|
|
+range.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Ord"/>
|
|
|
+<link id="Pred"/>
|
|
|
+<link id="High"/>
|
|
|
+<link id="Low"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="Swap">
|
|
|
+<short>Swap high and low bytes/words of a variable</short>
|
|
|
+<descr>
|
|
|
+<var>Swap</var> swaps the high and low order bytes of <var>X</var> if <var>X</var> is of
|
|
|
+type <var>Word</var> or <var>Integer</var>, or swaps the high and low order words of
|
|
|
+<var>X</var> if <var>X</var> is of type <var>Longint</var> or <var>Cardinal</var>.
|
|
|
+The return type is the type of <var>X</var>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Lo"/>
|
|
|
+<link id="Hi"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex69"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Trunc">
|
|
|
+<short>Truncate a floating point value.</short>
|
|
|
+<descr>
|
|
|
+<var>Trunc</var> returns the integer part of <var>X</var>,
|
|
|
+which is always smaller than (or equal to) <var>X</var> in absolute value.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Frac"/>
|
|
|
+<link id="Int"/>
|
|
|
+<link id="Round"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex70"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Truncate">
|
|
|
+<short>Truncate the file at position</short>
|
|
|
+<descr>
|
|
|
+<var>Truncate</var> truncates the (opened) file <var>F</var> at the current file
|
|
|
+position.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Depending on the state of the \var{\{\$I\}} switch, a runtime error can be
|
|
|
+generated if there is an error. In the \var{\{\$I-\}} state, use <var>IOResult</var>
|
|
|
+to check for errors.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Append"/>
|
|
|
+<link id="Filepos"/>,
|
|
|
+<link id="Seek"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex71"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Upcase">
|
|
|
+<short>Convert a string to all uppercase.</short>
|
|
|
+<descr>
|
|
|
+<var>Upcase</var> returns the uppercase version of its argument <var>C</var>.
|
|
|
+If its argument is a string, then the complete string is converted to
|
|
|
+uppercase. The type of the returned value is the same as the type of the
|
|
|
+argument.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Lowercase"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex72"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Val">
|
|
|
+<short>Calculate numerical value of a string.</short>
|
|
|
+<descr>
|
|
|
+<var>Val</var> converts the value represented in the string <var>S</var> to a numerical
|
|
|
+value, and stores this value in the variable <var>V</var>, which
|
|
|
+can be of type <var>Longint</var>, <var>Real</var> and <var>Byte</var>.
|
|
|
+If the conversion isn't succesfull, then the parameter <var>Code</var> contains
|
|
|
+the index of the character in <var>S</var> which prevented the conversion.
|
|
|
+The string <var>S</var> is allowed to contain spaces in the beginning.
|
|
|
+
|
|
|
+The string <var>S</var> can contain a number in decimal, hexadecimal, binary
|
|
|
+or octal format, as described in the language reference.
|
|
|
+
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If the conversion doesn't succeed, the value of <var>Code</var> indicates the
|
|
|
+position where the conversion went wrong.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Str"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex74"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<element name="Write">
|
|
|
+<short>Write variable to a text file</short>
|
|
|
+<descr>
|
|
|
+<var>Write</var> writes the contents of the variables <var>V1</var>, <var>V2</var> etc. to
|
|
|
+the file <var>F</var>. <var>F</var> can be a typed file, or a <var>Text</var> file.
|
|
|
+If <var>F</var> is a typed file, then the variables <var>V1</var>, <var>V2</var> etc. must
|
|
|
+be of the same type as the type in the declaration of <var>F</var>. Untyped files
|
|
|
+are not allowed.
|
|
|
+If the parameter <var>F</var> is omitted, standard output is assumed.
|
|
|
+If <var>F</var> is of type <var>Text</var>, then the necessary conversions are done
|
|
|
+such that the output of the variables is in human-readable format.
|
|
|
+This conversion is done for all numerical types. Strings are printed exactly
|
|
|
+as they are in memory, as well as <var>PChar</var> types.
|
|
|
+The format of the numerical conversions can be influenced through
|
|
|
+the following modifiers:
|
|
|
+<var> OutputVariable : NumChars [: Decimals ] </var>
|
|
|
+This will print the value of <var>OutputVariable</var> with a minimum of
|
|
|
+<var>NumChars</var> characters, from which <var>Decimals</var> are reserved for the
|
|
|
+decimals. If the number cannot be represented with <var>NumChars</var> characters,
|
|
|
+<var>NumChars</var> will be increased, until the representation fits. If the
|
|
|
+representation requires less than <var>NumChars</var> characters then the output
|
|
|
+is filled up with spaces, to the left of the generated string, thus
|
|
|
+resulting in a right-aligned representation.
|
|
|
+If no formatting is specified, then the number is written using its natural
|
|
|
+length, with nothing in front of it if it's positive, and a minus sign if
|
|
|
+it's negative.
|
|
|
+Real numbers are, by default, written in scientific notation.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If an error occurs, a run-time error is generated. This behavior can be
|
|
|
+controlled with the \var{\{\$i\}} switch.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="WriteLn"/>
|
|
|
+<link id="Read"/>
|
|
|
+<link id="Readln"/>
|
|
|
+<link id="Blockwrite"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="WriteLn">
|
|
|
+<short>Write variable to a text file and append newline</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>WriteLn</var> does the same as <link id="Write"/> for text files, and emits a
|
|
|
+Carriage Return - LineFeed character pair after that.
|
|
|
+If the parameter <var>F</var> is omitted, standard output is assumed.
|
|
|
+If no variables are specified, a Carriage Return - LineFeed character pair
|
|
|
+is emitted, resulting in a new line in the file <var>F</var>.
|
|
|
+</p>
|
|
|
+<remark>
|
|
|
+Under linux and unix, the Carriage Return character is omitted, as
|
|
|
+customary in Unix environments.
|
|
|
+</remark>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If an error occurs, a run-time error is generated. This behavior can be
|
|
|
+controlled with the \var{\{\$i\}} switch.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="Write"/>
|
|
|
+<link id="Read"/>
|
|
|
+<link id="Readln"/>
|
|
|
+<link id="Blockwrite"/>
|
|
|
+</seealso>
|
|
|
+<example file="refex/ex75"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- range type Visibility: default -->
|
|
|
+<element name="ShortInt">
|
|
|
+<short>A signed 8-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- range type Visibility: default -->
|
|
|
+<element name="SmallInt">
|
|
|
+<short>A signed 16-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- range type Visibility: default -->
|
|
|
+<element name="Longint">
|
|
|
+<short>A signed 32-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- range type Visibility: default -->
|
|
|
+<element name="Byte">
|
|
|
+<short>An unsigned 8-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- range type Visibility: default -->
|
|
|
+<element name="Word">
|
|
|
+<short>An unsigned 16-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="DWord">
|
|
|
+<short>An unsigned 32-bits integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="Cardinal">
|
|
|
+<short>An unsigned 32-bits integer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="Integer">
|
|
|
+<short>A signed 16-bits integer</short>
|
|
|
+<descr>
|
|
|
+The system unit defines <var>Integer</var> as a signed 16-bit integer.
|
|
|
+But when <var>DELPHI</var> or <var>OBJFPC</var> mode are active, then
|
|
|
+the <file>objpas</file> unit redefines <var>Integer</var> as a 16-bit
|
|
|
+integer.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PChar">
|
|
|
+<short>Pointer to null-terminated string.</short>
|
|
|
+<descr>
|
|
|
+Or the same as a pointer to an array of char. See the reference manual for
|
|
|
+more information about this type.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPChar">
|
|
|
+<short>Pointer to an array of pointers to null-terminated strings.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="TAnsiChar">
|
|
|
+<short>Alias for 1-byte sized char.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="AnsiChar">
|
|
|
+<short>Alias for 1-byte sized char.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="PAnsiChar">
|
|
|
+<short>Alias for <link id="PChar"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="PPAnsiChar">
|
|
|
+<short>Alias for <link id="PPChar"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "type" alias type Visibility: default -->
|
|
|
+<element name="UCS4Char">
|
|
|
+<short>UCS unicode character (unsigned 32 bit word)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PUCS4Char">
|
|
|
+<short>Pointer to <link id="UCS4Char"/></short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="TUCS4CharArray">
|
|
|
+<short>Array of <link id="UCS4Char"/> characters.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PUCS4CharArray">
|
|
|
+<short>Pointer to array of <link id="UCS4Char"/> characters.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="UCS4String">
|
|
|
+<short>String of <link id="UCS4Char"/> characters.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "type" alias type Visibility: default -->
|
|
|
+<element name="UTF8String">
|
|
|
+<short>UTF-8 unicode (ansi) string.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PUTF8String">
|
|
|
+<short>Pointer to <link id="UTF8String"/></short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="Currency">
|
|
|
+<short>Currency type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "type" alias type Visibility: default -->
|
|
|
+<element name="HRESULT">
|
|
|
+<short>32-Bit signed integer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "type" alias type Visibility: default -->
|
|
|
+<element name="TDateTime">
|
|
|
+<short>Encoded Date-Time type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "type" alias type Visibility: default -->
|
|
|
+<element name="Error">
|
|
|
+<short>32-bit signed integer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PSingle">
|
|
|
+<short>Pointer to single-sized float value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PDouble">
|
|
|
+<short>Pointer to double-sized float value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PCurrency">
|
|
|
+<short>Pointer to currency type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PExtended">
|
|
|
+<short>Pointer to extended-sized float value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PSmallInt">
|
|
|
+<short>Pointer to <link id="smallint"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PShortInt">
|
|
|
+<short>Pointer to <link id="shortint"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PInteger">
|
|
|
+<short>Pointer to <link id="integer"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PByte">
|
|
|
+<short>Pointer to <link id="byte"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PWord">
|
|
|
+<short>Pointer to <link id="word"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PDWord">
|
|
|
+<short>Pointer to <link id="DWord"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PLongWord">
|
|
|
+<short>Pointer to <var>LongWord</var> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PLongint">
|
|
|
+<short>Pointer to <link id="Longint"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PCardinal">
|
|
|
+<short>Pointer to <link id="Cardinal"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PQWord">
|
|
|
+<short>Pointer to <var>QWord</var> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PInt64">
|
|
|
+<short>Pointer to <var>Int64</var> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPtrInt">
|
|
|
+<short>Pointer to <link id="PtrInt"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PSizeInt">
|
|
|
+<short>Pointer to a <link id="SizeInt"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPointer">
|
|
|
+<short>Pointer to a pointer type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPPointer">
|
|
|
+<short>Pointer to a <link id="PPointer"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PBoolean">
|
|
|
+<short>Pointer to a Boolean type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PWordBool">
|
|
|
+<short>Pointer to a <var>WordBool</var> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PLongBool">
|
|
|
+<short>Pointer to a <var>LongBool</var> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PShortString">
|
|
|
+<short>Pointer to a shortstring type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PAnsiString">
|
|
|
+<short>Pointer to an ansistring type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PDate">
|
|
|
+<short>Pointer to a <link id="TDateTime"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PError">
|
|
|
+<short>Pointer to an <link id="Error"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="WChar">
|
|
|
+<short>Wide char (16-bit sized char)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration type Visibility: default -->
|
|
|
+<element name="TTextLineBreakStyle">
|
|
|
+<short>Text line break style. (end of line character)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="TTextLineBreakStyle.tlbsLF">
|
|
|
+<short>Line-feed only (#10, unix style)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="TTextLineBreakStyle.tlbsCRLF">
|
|
|
+<short>Carriage-return, line-feed (#13#30, Windows style)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="TTextLineBreakStyle.tlbsCR">
|
|
|
+<short>Carriage-return (#13, Mac-OS style)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure type Visibility: default -->
|
|
|
+<element name="TProcedure">
|
|
|
+<short>Simple procedural type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="MaxSIntValue">
|
|
|
+<short>Maximum String-size value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="MaxUIntValue">
|
|
|
+<short>Maximum unsigned integer value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="maxLongint">
|
|
|
+<short>Maximum longint value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="maxSmallint">
|
|
|
+<short>Maximum smallint value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="maxint">
|
|
|
+<short>Maximum integer value.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="IntegerArray">
|
|
|
+<short>Generic array of integer. </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PIntegerArray">
|
|
|
+<short>Pointer to <link id="IntegerArray"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="PointerArray">
|
|
|
+<short>Generic pointer array.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPointerArray">
|
|
|
+<short>Pointer to <link id="PointerArray"/> type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="TBoundArray">
|
|
|
+<short>Dynamic array of integer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="TPCharArray">
|
|
|
+<short>Array of PChar</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPCharArray">
|
|
|
+<short>Pointer to <link id="TPCharArray"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="Max_Frame_Dump">
|
|
|
+<short>Maximum number of frames to show in error frame dump.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="ExitProc">
|
|
|
+<short>Exit procedure pointer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="Erroraddr">
|
|
|
+<short>Address where the last error occurred.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="Errorcode">
|
|
|
+<short>Last error code.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fmClosed">
|
|
|
+<short>File mode: File is closed.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fmInput">
|
|
|
+<short>File mode: File is open for reading.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fmOutput">
|
|
|
+<short>File mode: File is open for writing.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fmInOut">
|
|
|
+<short>File mode: File is open for reading and writing.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fmAppend">
|
|
|
+<short>File mode: File is open for writing, appending to the end.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="ProcessID">
|
|
|
+<short>Current process ID.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="Filemode">
|
|
|
+<short>Default file mode for untyped files.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="CmdLine">
|
|
|
+<short>Current command-line.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="IsMultiThread">
|
|
|
+<short>Indicates whether more than one thread is running in the application.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="StackError">
|
|
|
+<short>Indicate whether there was a stack error.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="ExitCode">
|
|
|
+<short>Exit code for the program, will be communicated to the OS on exit.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="RandSeed">
|
|
|
+<short>Seed for <link id="Random"/> function.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="IsLibrary">
|
|
|
+<short><var>True</var> if the current module is a library. Otherwise module
|
|
|
+is an excutable</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="IsConsole">
|
|
|
+<short><var>True</var> for console applications, <var>False</var> for GUI applications.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="fpc_threadvar_relocate_proc" skip="1">
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="ThreadID">
|
|
|
+<short>Current Thread ID.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="Output">
|
|
|
+<short>Standard output text file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="Input">
|
|
|
+<short>Standard input text file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="StdOut">
|
|
|
+<short>Alias for <link id="Output"/>.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="StdErr">
|
|
|
+<short>Standard diagnostic output text file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="InOutRes">
|
|
|
+<short>Result of last I/O operation. Read-Only.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="StackBottom">
|
|
|
+<short>Current stack bottom.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="StackLength">
|
|
|
+<short>Maximum stack length.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="IndexChar0">
|
|
|
+<short>Return index of a character in null-terminated array of char.</short>
|
|
|
+<descr>
|
|
|
+<var>IndexChar0</var> returns the index of the character <var>b</var> in the
|
|
|
+null-terminated array <var>Buf</var>. At most <var>len</var> characters will
|
|
|
+be searched, or the null character if it is encountered first. If the
|
|
|
+character is not found, 0 is returned.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+On error, 0 is returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="IndexByte"/>
|
|
|
+<link id="IndexChar"/>
|
|
|
+<link id="IndexWord"/>
|
|
|
+<link id="IndexDWord"/>
|
|
|
+<link id="CompareChar0"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="CompareChar0">
|
|
|
+<short>Compare two buffers character by character till a null-character is reached.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CompareChar0</var> compares 2 buffers <var>buf1</var> and <var>buf2</var>
|
|
|
+for a maximum length of <var>len</var> or till a null character is reached
|
|
|
+in either buffer. The result depends on the contents of the buffers:
|
|
|
+</p>
|
|
|
+<dl>
|
|
|
+<dt>< 0</dt><dd>If <var>buf1</var> contains a character less than the
|
|
|
+corresponding character in <var>buf2</var>.</dd>
|
|
|
+<dt>0</dt><dd>If both buffers are equal</dd>
|
|
|
+<dt>> 0</dt><dd>If <var>buf1</var> contains a character greater than the
|
|
|
+corresponding character in <var>buf2</var>.</dd>
|
|
|
+</dl>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="CompareByte"/>
|
|
|
+<link id="CompareChar"/>
|
|
|
+<link id="CompareDWord"/>
|
|
|
+<link id="CompareWord"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="prefetch">
|
|
|
+<short>Prefetch a memory location</short>
|
|
|
+<descr>
|
|
|
+<var>Prefetch</var> can be used to optimize the CPU behaviour by already
|
|
|
+loading a memory location. It is mainly used as a hint for those processors
|
|
|
+that support it.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="real48">
|
|
|
+<short>TP compatible real type (6 bytes) definition</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="strpas">
|
|
|
+<short>Convert a null-terminated string to a shortstring.</short>
|
|
|
+<descr>
|
|
|
+Converts a null terminated string in <var>P</var> to a Pascal string, and
|
|
|
+returns
|
|
|
+this string. The string is truncated at 255 characters.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="strlen">
|
|
|
+<short>Length of a null-terminated string.</short>
|
|
|
+<descr>
|
|
|
+Returns the length of the null-terminated string <var>P</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="Space">
|
|
|
+<short>Return a string of spaces</short>
|
|
|
+<descr>
|
|
|
+<var>Space</var> returns a shortstring with length <var>B</var>, consisting
|
|
|
+of spaces.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="StringOfChar"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="UniqueString">
|
|
|
+<short>Make sure reference count of string is 1</short>
|
|
|
+<descr>
|
|
|
+<var>UniqueString</var> ensures that the ansistring <var>S</var> has
|
|
|
+reference count 1. It makes a copy of <var>S</var> if this is necesary, and
|
|
|
+returns the copy in <var>S</var>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SetTextLineEnding">
|
|
|
+<short>Set the end-of-line character for the given text file.</short>
|
|
|
+<descr>
|
|
|
+<var>SetTextLineEnding</var> sets the end-of-line character for the text
|
|
|
+file <var>F</var> to <var>Ending</var>. By default, this is the string
|
|
|
+indicated by <link id="DefaultTextLineBreakStyle"/>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+<link id="TTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="get_frame">
|
|
|
+<short>Return the current frame</short>
|
|
|
+<descr>
|
|
|
+<var>get_frame</var> returns a pointer to the current stack frame.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="get_caller_addr"/>
|
|
|
+<link id="get_caller_frame"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="get_caller_addr">
|
|
|
+<short>Return the address of the caller.</short>
|
|
|
+<descr>
|
|
|
+<var>get_caller_frame</var> returns a pointer to address ( the return
|
|
|
+address) of the caller of the routine which has as frame <var>framebp</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="get_frame"/>
|
|
|
+<link id="get_caller_frame"/>
|
|
|
+<link id="Dump_Stack"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="get_caller_frame">
|
|
|
+<short>Return the frame pointer of the caller</short>
|
|
|
+<descr>
|
|
|
+<var>get_caller_frame</var> returns a pointer to the frame of the caller
|
|
|
+of the routine which has as frame <var>framebp</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="get_caller_addr"/>
|
|
|
+<link id="get_frame"/>
|
|
|
+<link id="Dump_Stack"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="Dump_Stack">
|
|
|
+<short>Dump stack to the given text file.</short>
|
|
|
+<descr>
|
|
|
+<var>Dump_Stack</var> prints a stack dump to the file <var>f</var>, with
|
|
|
+base frame pointer <var>bp</var>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+The file <var>f</var> must be opened for writing or an error will occur.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="get_caller_addr"/>
|
|
|
+<link id="get_caller_frame"/>
|
|
|
+<link id="get_frame"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="AddExitProc">
|
|
|
+<short>Add an exit procedure to the exit procedure chain.</short>
|
|
|
+<descr>
|
|
|
+<var>AddExitProc</var> adds <var>Proc</var> to the exit procedure chain. At
|
|
|
+program exit, all procedures added in this way will be called in reverse
|
|
|
+order.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="ExitProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SysInitExceptions">
|
|
|
+<short>Initialize exceptions.</short>
|
|
|
+<descr>
|
|
|
+<var>SysInitExceptions</var> initializes the exception system. This
|
|
|
+procedure should never be called directly, it is taken care of by the RTL.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SysInitStdIO">
|
|
|
+<short>Initialize standard input and output.</short>
|
|
|
+<descr>
|
|
|
+<var>SysInitStdIO</var> initializes the standard input and output files:
|
|
|
+<link id="Output"/>, <link id="Input"/> and <link id="StdErr"/>. This
|
|
|
+routine is called by the initialization code of the system unit, there
|
|
|
+should be no need to call it directly.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SysResetFPU">
|
|
|
+<short>Reset the floating point unit.</short>
|
|
|
+<descr>
|
|
|
+<var>SysResetFPU</var> resets the floating point unit. There should normally
|
|
|
+be no need to call this unit; the compiler itself takes care of this.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="AbstractError">
|
|
|
+<short>Generate an abstract error.</short>
|
|
|
+<descr>
|
|
|
+<var>AbstractError</var> generates an abstract error (run-time error 211).
|
|
|
+If the <link id="AbstractErrorProc"/> constant is set, it will be called
|
|
|
+instead.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+This routine causes a run-time error 211.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="AbstractErrorProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysBackTraceStr">
|
|
|
+<short>Format an address suitable for inclusion in a backtrace</short>
|
|
|
+<descr>
|
|
|
+<var>SysBackTraceStr</var> will create a string representation of the
|
|
|
+address <var>Addr</var>, suitable for inclusion in a stack backtrace.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SysAssert">
|
|
|
+<short>Standard Assert failure implementation</short>
|
|
|
+<descr>
|
|
|
+<var>SysAssert</var> is the standard implementation of the assertion failed
|
|
|
+code. It is the default value of the <var>AssertErrorProc</var> constant.
|
|
|
+It will print the assert message <var>Msg</var> together with the filename
|
|
|
+<var>FName</var> and linenumber <var>LineNo</var> to standard error output
|
|
|
+(<var>StdErr</var>) and will halt the program with exit code 227.
|
|
|
+The error address <var>ErrorAddr</var> is ignored.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="AssertErrorProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function type Visibility: default -->
|
|
|
+<element name="TBackTraceStrFunc">
|
|
|
+<short>Type for formatting of backtrace dump.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure type Visibility: default -->
|
|
|
+<element name="TErrorProc">
|
|
|
+<short>Standard error handler procedural type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure type Visibility: default -->
|
|
|
+<element name="TAbstractErrorProc">
|
|
|
+<short>Abstract error handler procedural type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure type Visibility: default -->
|
|
|
+<element name="TAssertErrorProc">
|
|
|
+<short>Assert error handler procedural type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="BackTraceStrFunc">
|
|
|
+<short>Standard backtrace formatting routine</short>
|
|
|
+<descr>
|
|
|
+This handler is called to get a standard format for the backtrace routine.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="ErrorProc">
|
|
|
+<short>Custom error handling procedure.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+If set, the <var>ErrorProc</var> constant is used when a run-time error
|
|
|
+occurs. If it is not set, then the standard error handling is done: a stack
|
|
|
+dump is performed, and the program exits with the indicated error code.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <file>SysUtils</file> unit sets this procedure and raises an exception
|
|
|
+in its handler.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TErrorProc"/>
|
|
|
+<link id="Halt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="AbstractErrorProc">
|
|
|
+<short>Custom abstract error handling procedure</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+If set, the <var>AbstractErrorProc</var> constant is used when an abstract
|
|
|
+error occurs. If it is not set, then the standard error handling is done:
|
|
|
+A stack dump is performed, and the program exits with error code 211.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <file>SysUtils</file> unit sets this procedure and raises an exception
|
|
|
+in its handler.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TAbstractErrorProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="AssertErrorProc">
|
|
|
+<short>Custom assert error handling procedure</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+If set, the <var>AbstractErrorProc</var> constant is used when an assert
|
|
|
+error occurs. If it is not set, then the standard error handling is done:
|
|
|
+The assertion error message is printed, together with the location of the
|
|
|
+assertion, and A stack dump is performed, and the program exits with error code
|
|
|
+227.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <file>SysUtils</file> unit sets this procedure and raises an exception
|
|
|
+in its handler.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="jmp_buf">
|
|
|
+<short>Record type to store processor information.</short>
|
|
|
+<seealso>
|
|
|
+<link id="setjmp"/>
|
|
|
+<link id="longjmp"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.ebx">
|
|
|
+<short>EBX register.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.esi">
|
|
|
+<short>ESI register</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.edi">
|
|
|
+<short>EDI register</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.bp">
|
|
|
+<short>BP register</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.sp">
|
|
|
+<short>SP register</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="jmp_buf.pc">
|
|
|
+<short>PC register</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PJmp_buf">
|
|
|
+<short>Pointer to <link id="jmp_buf"/> record</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtInstanceSize">
|
|
|
+<short>VMT Layout: Location of class instance size in VMT</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtParent">
|
|
|
+<short>VMT Layout: location of pointer to parent VMT.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtClassName">
|
|
|
+<short>VMT Layout: location of class name.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtDynamicTable">
|
|
|
+<short>VMT Layout: location of dynamic methods table.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtMethodTable">
|
|
|
+<short>VMT Layout: Method table start.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtFieldTable">
|
|
|
+<short>VMT Layout: Location of fields table.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtTypeInfo">
|
|
|
+<short>VMT Layout: Location of class type information.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtInitTable">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtAutoTable">
|
|
|
+<short>VMT layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtIntfTable">
|
|
|
+<short>VMT layout: Interface table</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtMsgStrPtr">
|
|
|
+<short>VMT layout: message strings table.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtMethodStart">
|
|
|
+<short>VMT layout: start of method table.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtDestroy">
|
|
|
+<short>VMT Layout: Location of destructor pointer.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtNewInstance">
|
|
|
+<short>VMT Layout: location of NewInstance method.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtFreeInstance">
|
|
|
+<short>VMT Layout: location of FreeInstance method.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtSafeCallException">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtDefaultHandler">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtAfterConstruction">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtBeforeDestruction">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vmtDefaultHandlerStr">
|
|
|
+<short>VMT Layout: ?</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="TextFile">
|
|
|
+<short>Alias for <var>Text</var> file type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- object Visibility: default -->
|
|
|
+<element name="TObject">
|
|
|
+<short>Parent class for all classes.</short>
|
|
|
+<descr>
|
|
|
+<var>TObject</var> is used as the parent class for all class definitions.
|
|
|
+It contains some standard methods that are available in all classes.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TClass"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- "class of" type Visibility: default -->
|
|
|
+<element name="TClass">
|
|
|
+<short>Class of <link id="TObject"/>.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PClass">
|
|
|
+<short>Pointer to <link id="TClass"/></short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TMsgStrTable">
|
|
|
+<short>Record used in string message handler table.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMsgStrTable.name">
|
|
|
+<short>Message name</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMsgStrTable.method">
|
|
|
+<short>Method to call</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PMsgStrTable">
|
|
|
+<short>Pointer to array of <link id="TMsgStrTable"/> records.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TStringMessageTable">
|
|
|
+<short>String message table container for class.</short>
|
|
|
+<descr>
|
|
|
+Record used to describe the string messages handled by a class.
|
|
|
+It consists of a count, followed by an array of <link id="TMsgStrTable"/>
|
|
|
+records.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TMsgStrTable"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TStringMessageTable.count">
|
|
|
+<short>Number of messages in the string table.</short>
|
|
|
+<descr>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TStringMessageTable.msgstrtable">
|
|
|
+<short>First <link id="TMsgStrTable"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pstringmessagetable">
|
|
|
+<short>Pointer to <link id="TStringMessageTable"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PGuid">
|
|
|
+<short>Pointer to <link id="TGUID"/> type. </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TGuid">
|
|
|
+<short>Standard GUID representation type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pinterfaceentry">
|
|
|
+<short>Pointer to <link id="tinterfaceentry"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tinterfaceentry">
|
|
|
+<short>Interfaces table entry.</short>
|
|
|
+<descr>
|
|
|
+<var>tinterfaceentry</var> is used to store the list of Interfaces of a
|
|
|
+class. This list is stored as an array of <var>tinterfaceentry</var>
|
|
|
+records.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfaceentry.IID">
|
|
|
+<short>Unique GUID for this interface.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfaceentry.VTable">
|
|
|
+<short>Pointer to interface VTable.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfaceentry.IOffset">
|
|
|
+<short>Offset</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfaceentry.IIDStr">
|
|
|
+<short>Pointer to GUID string. Always assigned for COM.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pinterfacetable">
|
|
|
+<short>Pointer to <link id="tinterfacetable"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tinterfacetable">
|
|
|
+<short>Record to store list of interfaces of a class.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfacetable.EntryCount">
|
|
|
+<short>Number of interfaces.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tinterfacetable.Entries">
|
|
|
+<short>Array of <link id="tinterfaceentry"/> records.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- object Visibility: default -->
|
|
|
+<element name="TObject">
|
|
|
+<short>Base class of all classes.</short>
|
|
|
+<descr>
|
|
|
+<var>TObject</var> is the parent root class for all classes in Object
|
|
|
+Pascal. If a class has no parent class explicitly declared, it is dependent
|
|
|
+on <var>TObject</var>. <var>TObject</var> introduces class methods that deal
|
|
|
+with the class' type information, and contains all necessary methods to
|
|
|
+create an instance at runtime, and to dispatch messages to the correct
|
|
|
+method (both string and integer messages).
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TClass"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constructor Visibility: public -->
|
|
|
+<element name="TObject.Create">
|
|
|
+<short><var>TObject</var> Constructor</short>
|
|
|
+<descr>
|
|
|
+<var>Create</var> creates a new instance of <var>TObject</var>. Currently it
|
|
|
+does nothing. It is also not virtual, so there is in principle no need to
|
|
|
+call it directly.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Destroy">Destroy</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- destructor Visibility: public -->
|
|
|
+<element name="TObject.Destroy">
|
|
|
+<short><var>TObject</var> destructor.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Destroy</var> is the destructor of <var>TObject</var>.
|
|
|
+It will clean up the memory assigned to the instance. Descendent classes
|
|
|
+should override destroy if they want to do additional clean-up. No other
|
|
|
+destructor should be implemented.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+It is bad programming practice to call <var>Destroy</var> directly. It is
|
|
|
+better to call the <link id="TObject.Free">Free</link> method, because that
|
|
|
+one will check first if <var>Self</var> is different from <var>Nil</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+To clean up an instance and reset the refence to the instance, it is best to
|
|
|
+use the <link id="#rtl.sysutils.freeandnil">FreeAndNil</link> function.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Create">Create</link>
|
|
|
+<link id="TObject.Free">Free</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.newinstance">
|
|
|
+<short>Allocate memory on the heap for a new instance</short>
|
|
|
+<descr>
|
|
|
+<var>NewInstance</var> allocates memory on the heap for a new instance of
|
|
|
+the current class. If the memory was allocated, the class will be
|
|
|
+initialized by a call to <link id="TObject.InitInstance">InitInstance</link>.
|
|
|
+The function returns the newly initialized instance.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If not enough memory is available, a <var>Nil</var> pointer may be returned,
|
|
|
+or an exception may be raised.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Create">Create</link>
|
|
|
+<link id="TObject.InitInstance">InitInstance</link>
|
|
|
+<link id="TObject.InstanceSize">InstanceSize</link>
|
|
|
+<link id="TObject.FreeInstance">FreeInstance</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.FreeInstance">
|
|
|
+<short>Clean up instance and free the memory reserved for the instance.</short>
|
|
|
+<descr>
|
|
|
+<var>FreeInstance</var> cleans up an instance of the current class, and
|
|
|
+releases the heap memory occupied by the class instance.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Destroy">Destroy</link>
|
|
|
+<link id="TObject.InitInstance">InitInstance</link>
|
|
|
+<link id="TObject.NewInstance">NewInstance</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.SafeCallException">
|
|
|
+<short>Handle exception object</short>
|
|
|
+<descr>
|
|
|
+<var>SafeCallException</var> should be overridden to handle exceptions in a
|
|
|
+method marked with the savecall directive. The implementation in
|
|
|
+<var>TObject</var> simply returns zero.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.DefaultHandler">
|
|
|
+<short>Default handler for integer message handlers.</short>
|
|
|
+<descr>
|
|
|
+<var>DefaultHandler</var> is the default handler for messages. If a message
|
|
|
+has an unknown message ID (i.e. does not appear in the table with integer
|
|
|
+message handlers), then it will be passed to
|
|
|
+<var>DefaultHandler</var> by the <link id="TObject.Dispatch">Dispatch</link>
|
|
|
+method.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Dispatch">Dispatch</link>
|
|
|
+<link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.Free">
|
|
|
+<short>Check for <var>Nil</var> and call destructor.</short>
|
|
|
+<descr>
|
|
|
+<var>Free</var> will check the <var>Self</var> pointer and calls
|
|
|
+<link id="TObject.Destroy">Destroy</link> if it is different from
|
|
|
+<var>Nil</var>. This is a safer method than calling <var>Destroy</var>
|
|
|
+directly. If a reference to the object must be reset as well (a recommended
|
|
|
+technque), then the function <link id="#rtl.sysutils.freeandnil">FreeAndNil</link> should be called.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Destroy">Destroy</link>
|
|
|
+<link id="#rtl.sysutils.freeandnil">FreeAndNil</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.InitInstance">
|
|
|
+<short>Initialize a new class instance.</short>
|
|
|
+<descr>
|
|
|
+<var>InitInstance</var> initializes the memory pointer to by
|
|
|
+<var>Instance</var>. This means that the VMT is initialized, and the
|
|
|
+interface pointers are set up correctly.
|
|
|
+The function returns the newly initialized instance.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.NewInstance">NewInstance</link>
|
|
|
+<link id="TObject.Create">Create</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.CleanupInstance">
|
|
|
+<short>Finalize the class instance.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>CleanUpinstance</var> finalizes the instance, i.e. takes care of all
|
|
|
+reference counted objects, by decreasing their reference count by 1, and
|
|
|
+freeing them if their count reaches zero.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Normally, <var>CleanupInstance</var> should never be called, it is called
|
|
|
+automatically when the object is freed with it's constructor.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.Destroy">Destroy</link>
|
|
|
+<link id="TObject.Free">Free</link>
|
|
|
+<link id="TObject.InitInstance">InitInstance</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.ClassInfo">
|
|
|
+<short>Return a pointer to the type information for this class.</short>
|
|
|
+<descr>
|
|
|
+<var>ClassInfo</var> returns a pointer to the type information for this
|
|
|
+class. This pointer can be used in the various type information routines.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.ClassType">
|
|
|
+<short>Return a "class of" pointer for the current class</short>
|
|
|
+<descr>
|
|
|
+<var>ClassType</var> returns a <link id="TClass"/> class type reference for
|
|
|
+the current class.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TClass"/>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassName">ClassName</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.ClassName">
|
|
|
+<short>Return the current class name.</short>
|
|
|
+<descr>
|
|
|
+<var>ClassName</var> returns the class name for the current class, in
|
|
|
+all-uppercase letters. To check for the class name, use the <link
|
|
|
+id="TObject.ClassNameIs">ClassNameIs</link> class method.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassType">ClassType</link>
|
|
|
+<link id="TObject.ClassNameIs">ClassNameIs</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.ClassNameIs">
|
|
|
+<short>Check whether the class name equals the given name.</short>
|
|
|
+<descr>
|
|
|
+<var>ClassNameIs</var> checks whether <var>Name</var> equals the class name.
|
|
|
+It takes of case sensitivity, i.e. it converts both names to uppercase
|
|
|
+before comparing.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassType">ClassType</link>
|
|
|
+<link id="TObject.ClassName">ClassName</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.ClassParent">
|
|
|
+<short>Return the parent class.</short>
|
|
|
+<descr>
|
|
|
+<var>ClassParent</var> returns the class of the parent class of the current
|
|
|
+class. This is always different from <var>Nil</var>, except for
|
|
|
+<var>TObject</var>.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassType">ClassType</link>
|
|
|
+<link id="TObject.ClassName">ClassNameIs</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.InstanceSize">
|
|
|
+<short>Return the size of an instance.</short>
|
|
|
+<descr>
|
|
|
+<var>InstanceSize</var> returns the number of bytes an instance takes in
|
|
|
+memory. This is Just the memory occupied by the class structure, and does
|
|
|
+not take into account any additional memory that might be allocated by the
|
|
|
+constructor of the class.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.InitInstance">InitInstance</link>
|
|
|
+<link id="TObject.ClassName">ClassName</link>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassType">ClassType</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.InheritsFrom">
|
|
|
+<short>Chck wether class is an ancestor.</short>
|
|
|
+<descr>
|
|
|
+<var>InheritsFrom</var> returns <var>True</var> if <var>AClass</var> is an
|
|
|
+ancestor class from the current class, and returns false if it is not.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.ClassName">ClassName</link>
|
|
|
+<link id="TObject.ClassInfo">ClassInfo</link>
|
|
|
+<link id="TObject.ClassType">ClassType</link>
|
|
|
+<link id="TClass"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.StringMessageTable">
|
|
|
+<short>Return a pointer to the string message table.</short>
|
|
|
+<descr>
|
|
|
+<var>StringMessageTable</var> returns a pointer to the string message table,
|
|
|
+which can be used to look up methods for dispatching a string message. It is
|
|
|
+used by the <link id="TObject.DispatchStr">DispatchStr</link> method.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If there are no string message handlers, nil is returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.DispatchStr">DispatchStr</link>
|
|
|
+<link id="TObject.Dispatch">Dispatch</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.Dispatch">
|
|
|
+<short>Dispatch an integer message</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>Dispatch</var> looks in the message handler table for a handler that
|
|
|
+handles <var>message</var>. The message is identified by the first dword
|
|
|
+(cardinal) in the message structure.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+If no matching message handler is found, the message is passed to the
|
|
|
+<link id="TObject.DefaultHandler">DefaultHandler</link> method, which can be
|
|
|
+overridden by descendent classes to add custom handling of messages.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.DispatchStr">DispatchStr</link>
|
|
|
+<link id="TObject.DefaultHandler">DefaultHandler</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.DispatchStr">
|
|
|
+<short>Dispatch a string message.</short>
|
|
|
+<descr>
|
|
|
+<var>DispatchStr</var> extracts the message identifier from
|
|
|
+<var>Message</var> and checks the message handler table to see if a handler
|
|
|
+for the message is found, and calls the handler, passing along the message.
|
|
|
+If no handler is found, the default <link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link>
|
|
|
+is called.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.DefaultHandlerStr">DefaultHandlerStr</link>
|
|
|
+<link id="TObject.Dispatch">Dispatch</link>
|
|
|
+<link id="TObject.DefaultHandler">DefaultHandler</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.MethodAddress">
|
|
|
+<short>Return the address of a method</short>
|
|
|
+<descr>
|
|
|
+<var>MethodAddress</var> returns the address of a method, searching the
|
|
|
+method by its name. The <var>Name</var> parameter specifies which method
|
|
|
+should be taken. The search is conducted in a case-insensitive manner.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If no matching method is found, <var>Nil</var> is returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.MethodName">MethodName</link>
|
|
|
+<link id="TObject.FieldAddress">FieldAddress</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.MethodName">
|
|
|
+<short>Return the name of a method.</short>
|
|
|
+<descr>
|
|
|
+<var>MethodName</var> searches the VMT for a method with the specified
|
|
|
+<var>address</var> and returns the name of the method.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If no method with the matching address is found, an empty string is
|
|
|
+returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.MethodAddress">MethodAddress</link>
|
|
|
+<link id="TObject.FieldAddress">FieldAddress</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: public -->
|
|
|
+<element name="TObject.FieldAddress">
|
|
|
+<short>Return the address of a field.</short>
|
|
|
+<descr>
|
|
|
+<var>FieldAddress</var> returns the address of the field with name <var>name</var>.
|
|
|
+The address is the address of the field in the current class instance.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If no field with the specified name is found, <var>Nil</var> is returned.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.MethodAddress">MethodAddress</link>
|
|
|
+<link id="TObject.MethodName">MethodName</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.AfterConstruction">
|
|
|
+<short>Method called after the constructor was called.</short>
|
|
|
+<descr>
|
|
|
+<var>AfterConstruction</var> is a method called after the constructor was
|
|
|
+called. It does nothing in the implementation of <var>TObject</var> and must
|
|
|
+be overridden by descendent classes to provide specific behaviour that is
|
|
|
+executed after the constructor has finished executing. (for instance, call
|
|
|
+an event handler)
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.BeforeDestruction">BeforeDestruction</link>
|
|
|
+<link id="TObject.Create">Create</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.BeforeDestruction">
|
|
|
+<short>Method called before the destructor is called.</short>
|
|
|
+<descr>
|
|
|
+<var>BeforeDestruction</var> is a method called before the destructor is
|
|
|
+called. It does nothing in the implementation of <var>TObject</var> and must
|
|
|
+be overridden by descendent classes to provide specific behaviour that is
|
|
|
+executed before the destructor has finished executing. (for instance, call
|
|
|
+an event handler)
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.AfterConstruction">AfterConstruction</link>
|
|
|
+<link id="TObject.Destroy">Destroy</link>
|
|
|
+<link id="TObject.Free">Free</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: public -->
|
|
|
+<element name="TObject.DefaultHandlerStr">
|
|
|
+<short>Default handler for string messages.</short>
|
|
|
+<descr>
|
|
|
+<var>DefaultHandlerStr</var> is called for string messages which have no
|
|
|
+handler associated with them in the string message handler table. The
|
|
|
+implementation of <var>DefaultHandlerStr</var> in <var>TObject</var> does
|
|
|
+nothing and mut be overridden by descendent classes to provide specific
|
|
|
+message handling behaviour.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TObject.DispatchStr">DispatchStr</link>
|
|
|
+<link id="TObject.Dispatch">Dispatch</link>
|
|
|
+<link id="TObject.DefaultHandler">DefaultHandler</link>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure type Visibility: default -->
|
|
|
+<element name="TExceptProc">
|
|
|
+<short>Exception handler procedural type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PExceptObject">
|
|
|
+<short>Pointer to Exception handler procedural type <link id="TExceptProc"/></short>
|
|
|
+<descr>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TExceptObject">
|
|
|
+<short>Exception object</short>
|
|
|
+<descr>
|
|
|
+<var>TExceptObject</var> is the exception description record which is found
|
|
|
+on the exception stack.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TExceptObject.FObject">
|
|
|
+<short>Exception instance.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TExceptObject.Addr">
|
|
|
+<short>Address where exception occurred</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TExceptObject.Frame">
|
|
|
+<short>Exception frame where exception occurred</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TExceptObject.Next">
|
|
|
+<short>Next exception object on the stack.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TExceptObject.refcount">
|
|
|
+<short>Reference count for this exception object</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="ExceptProc">
|
|
|
+<short>Current exception handling procedure.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+This constant points to the current exception handling procedure.
|
|
|
+This routine is called when an unhandled exception occurs, i.e. an exception
|
|
|
+that is not stopped by a except block.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+If the handler is not set, the RTL will emit a run-time error 217 when an
|
|
|
+unhandler exception occurs.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+It is set by the <link id="#rtl.sysutils">sysutils</link> unit.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="RaiseProc">
|
|
|
+<short>Procedure to raise an exception.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="RaiseList">
|
|
|
+<short>List of currently raised exceptions.</short>
|
|
|
+<descr>
|
|
|
+<var>RaiseList</var> returns a pointer to the list of currently raised
|
|
|
+exceptions (i.e. a pointer to the first exception block.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="AcquireExceptionObject">
|
|
|
+<short>Obtain a reference to the current exception object</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>AcquireExceptionObject</var> returns the current exception object.
|
|
|
+It raises the reference count of the exception object, so it will not be
|
|
|
+freed. Calling this method is only valid within an except block.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The effect of this function is countered by re-raising an exception
|
|
|
+via <var>raise;</var>
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+To make sure that the exception object is released when it is no longer
|
|
|
+needed, <link id="ReleaseExceptionObject"/> must be called when the
|
|
|
+reference is no longer needed.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If there is no current exception, a run-time error 231 will occur.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="ReleaseExceptionObject"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="ReleaseExceptionObject">
|
|
|
+<short>Decrease the reference count of the current exception object.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>ReleaseExceptionObject</var> decreases the reference count of the
|
|
|
+current exception object. This should be called whenever a reference to the
|
|
|
+exception object was obtained via the <link id="AcquireExceptionObject"/>
|
|
|
+call.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Calling this method is only valid within an except block.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If there is no current exception object, a run-time error 231 will occur.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="AcquireExceptionObject"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtInteger">
|
|
|
+<short>TVarRec type: Integer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtBoolean">
|
|
|
+<short>TVarRec type: Boolean</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtChar">
|
|
|
+<short>TVarRec type: Char</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtExtended">
|
|
|
+<short>TVarRec type: Extended</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtString">
|
|
|
+<short>TVarRec type: String</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtPointer">
|
|
|
+<short>TVarRec type: pointer</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtPChar">
|
|
|
+<short>TVarRec type: PChar</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtObject">
|
|
|
+<short>TVarRec type: Object instance</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtClass">
|
|
|
+<short>TVarRec type: Class type</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtWideChar">
|
|
|
+<short>TVarRec type: Widechar</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtPWideChar">
|
|
|
+<short>TVarRec type: PWideChar</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtAnsiString">
|
|
|
+<short>TVarRec type: Ansistring</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtCurrency">
|
|
|
+<short>TVarRec type: Currency</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtVariant">
|
|
|
+<short>TVarRec type: Variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtInterface">
|
|
|
+<short>TVarRec type: Interface</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtWideString">
|
|
|
+<short>TVarRec type: WideString</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtInt64">
|
|
|
+<short>TVarRec type: Int64 (signed 64-bit integer)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vtQWord">
|
|
|
+<short>TVarRec type: QWord (unsigned 64-bit integer)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PVarRec">
|
|
|
+<short>Pointer to <link id="TVarRec"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TVarRec">
|
|
|
+<short>Record describing an element in an array of const</short>
|
|
|
+<descr>
|
|
|
+<var>TVarRec</var> is a record generated by the compiler for each element in
|
|
|
+a <var>array of const</var> call. The procedure that receives the constant
|
|
|
+array receives an array of <var>TVarRec</var> elements, with lower bound zero
|
|
|
+and high bound equal to the number of elements in the array minus one
|
|
|
+(as returned by <var>High(Args)</var>)
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="tdynarrayindex">
|
|
|
+<short>Type with the correct size for index into a dynamic array.</short>
|
|
|
+<descr>
|
|
|
+A variable of type <var>tdynarrayindex</var> will always have the correct
|
|
|
+size, suitable for serving as an index in a dynamic array.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pdynarrayindex">
|
|
|
+<short>Pointer to <link id="tdynarrayindex"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="fpc_big_chararray" skip="1">
|
|
|
+<short>Array of char.</short>
|
|
|
+<descr>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="fpc_small_set" skip="1">
|
|
|
+<short>Type with the size of a small set</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="fpc_normal_set" skip="1">
|
|
|
+<short>Type with the size of a normal set</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PMemoryManager">
|
|
|
+<short>Pointer to <link id="TMemoryManager"/> record</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TMemoryManager">
|
|
|
+<short>Record describing the current memory manager</short>
|
|
|
+<descr>
|
|
|
+<var>TMemoryManager</var> describes the memory manager. For more information
|
|
|
+about the memory manager, see the programmer's reference.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.NeedLock">
|
|
|
+<short>Does the memory manager require a lock</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.Getmem">
|
|
|
+<short>Function called when memory must be allocated on the heap.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.Freemem">
|
|
|
+<short>Function called when previously allocated memory can be freed again.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.FreememSize">
|
|
|
+<short>Function called when previously allocated memory with a known size can be freed again.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.AllocMem">
|
|
|
+<short>Same as getmem.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.ReAllocMem">
|
|
|
+<short>Handler called when an allocated memory block should be resized</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.MemSize">
|
|
|
+<short>Return the size of a memory block.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryManager.GetHeapStatus">
|
|
|
+<short>Handler called when the heap status must be reported.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="GetHeapStatus">
|
|
|
+<short>Return the memory manager heap status.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="TMemoryMutexManager">
|
|
|
+<short>Record describing the mutex manager for the heap.</short>
|
|
|
+<descr>
|
|
|
+When the heapmanager needs a lock, then the mutex manager is used to handle
|
|
|
+the lock.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryMutexManager.MutexInit">
|
|
|
+<short>Initialize the mutex</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryMutexManager.MutexDone">
|
|
|
+<short>Finalize (i.e. dispose of) the mutex.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryMutexManager.MutexLock">
|
|
|
+<short>Lock the mutex</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="TMemoryMutexManager.MutexUnlock">
|
|
|
+<short>Unlock the mutex.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SetMemoryMutexManager">
|
|
|
+<short>Procedure to set the mutex manager.</short>
|
|
|
+<descr>
|
|
|
+<var>SetMemoryMutexManager</var> sets the mutex manager used by the memory
|
|
|
+manager to <var>MutexMgr</var>. The current mutex manager is returned in
|
|
|
+<var>MutexMgr</var>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="TMemoryMutexManager"/>
|
|
|
+<link id="SetMemoryManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="growheapsizesmall">
|
|
|
+<short>Fixed size small blocks grow rate</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="growheapsize1">
|
|
|
+<short>Grow rate for block less than 256 Kb.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="growheapsize2">
|
|
|
+<short>Grow rate for block larger than 256 Kb.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="ReturnNilIfGrowHeapFails">
|
|
|
+<short>Describe behaviour if getmem fails.</short>
|
|
|
+<descr>
|
|
|
+<var>ReturnNilIfGrowHeapFails</var> describes what happens if there is no
|
|
|
+more memory available from the operating system. if set to <var>True</var>
|
|
|
+the memory manager will return <var>Nil</var>. If set to <var>False</var>
|
|
|
+then a run-time error will occur.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysGetmem">
|
|
|
+<short>System memory manager memory allocator.</short>
|
|
|
+<descr>
|
|
|
+<var>SysGetmem</var> is the system memory manager implementation for <link
|
|
|
+id="GetMem"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+<link id="GetMemory"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysFreemem">
|
|
|
+<short>System memory manager free routine.</short>
|
|
|
+<descr>
|
|
|
+<var>SysFreeem</var> is the system memory manager implementation for <link id="FreeMem"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="FreeMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysFreememSize">
|
|
|
+<short>System memory manager free routine.</short>
|
|
|
+<descr>
|
|
|
+<var>SysFreemSize</var> is the system memory manager implementation for <link
|
|
|
+id="FreeMem"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="MemSize"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysMemSize">
|
|
|
+<short>System memory manager: free size.</short>
|
|
|
+<descr>
|
|
|
+<var>SysFreemSize</var> is the system memory manager implementation for
|
|
|
+<link id="MemSize"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="MemSize"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysAllocMem">
|
|
|
+<short>System memory manager: Allocate memory</short>
|
|
|
+<descr>
|
|
|
+<var>SysFreemSize</var> is the system memory manager implementation for
|
|
|
+<link id="AllocMem"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="AllocMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysTryResizeMem">
|
|
|
+<short>System memory manager: attempt to resize memory.</short>
|
|
|
+<descr>
|
|
|
+<var>SysTryResizeMem</var> is a help routine for the system memory
|
|
|
+manager implementation for <link id="ReAllocMem"/>, <link
|
|
|
+id="SysReAllocMem"/>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="SysReAllocMem"/>
|
|
|
+<link id="ReAllocMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="SysReAllocMem">
|
|
|
+<short>System memory manager: Reallocate memory</short>
|
|
|
+<descr>
|
|
|
+<var>SysReallocMem</var> is a help routine for the system memory
|
|
|
+manager implementation for <link id="ReAllocMem"/>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="ReAllocMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="Getmemory">
|
|
|
+<short>Alias for <link id="GetMem"/></short>
|
|
|
+<descr>
|
|
|
+<var>Getmemory</var> is an alias for <link id="GetMem"/>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="Freememory">
|
|
|
+<short>Alias for <link id="FreeMem"/></short>
|
|
|
+<descr>
|
|
|
+<var>FreeMemory</var> is an alias for <link id="FreeMem"/>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="FreeMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="MemSize">
|
|
|
+<short>Return the size of a memory block.</short>
|
|
|
+<descr>
|
|
|
+<var>MemSize</var> returns the size of a memory block on the heap.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+Passing an invalid pointer may lead to run-time errors (access violations).
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+<link id="FreeMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="AllocMem">
|
|
|
+<short>Alias for <link id="GetMem"/></short>
|
|
|
+<descr>
|
|
|
+<var>AllocMem</var> is an alias for <link id="GetMem"/>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="ReAllocMem">
|
|
|
+<short>Re-allocate memory on the heap</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>ReAllocMem</var> resizes the memory pointed to by <var>P</var> so it has size
|
|
|
+<var>Size</var>. The value of <var>P</var> may change during this operation.
|
|
|
+The contents of the memory pointed to by <var>P</var> (if any) will be copied to
|
|
|
+the new location, but may be truncated if the newly allocated memory block
|
|
|
+is smaller in size. If a larger block is allocated, only the used memory is
|
|
|
+initialized, extra memory will not be zeroed out.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+Note that <var>P</var> may be nil, in that case the behaviour of
|
|
|
+<var>ReAllocMem</var> is equivalent to <var>Getmem</var>.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+<link id="FreeMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="ReAllocMemory">
|
|
|
+<short>Alias for <link id="ReAllocMem"/></short>
|
|
|
+<descr>
|
|
|
+<var>ReAllocMemory</var> is an alias for <link id="ReAllocMem"/>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="ReAllocMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="AsmGetmem">
|
|
|
+<short>Routine that can be called from assembler routines to get memory.</short>
|
|
|
+<descr>
|
|
|
+<var>AsmGetmem</var> is a routine that can be called from assembler code to
|
|
|
+get memory. The assembler reader cannot decide which overloaded <link
|
|
|
+id="GetMem"/> call should be used. <var>AsmGetMem</var> provides a unique
|
|
|
+name that can be called from assembler. Other than that it is completely
|
|
|
+equivalent to <var>GetMem</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetMem"/>
|
|
|
+<link id="AsmFreeMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="AsmFreemem">
|
|
|
+<short>Routine that can be called from assembler routines to release memory.</short>
|
|
|
+<descr>
|
|
|
+<var>AsmFreemem</var> is a routine that can be called from assembler code to
|
|
|
+release previously alocated memory. The assembler reader cannot decide which
|
|
|
+overloaded <link id="FreeMem"/> call should be used. <var>AsmFreeMem</var>
|
|
|
+provides a unique name that can be called from assembler. Other than that it
|
|
|
+is completely equivalent to <var>FreeMem</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="FreeMem"/>
|
|
|
+<link id="AsmGetMem"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="THandle">
|
|
|
+<short>Type alias.</short>
|
|
|
+<descr>
|
|
|
+This type should be considered opaque. It is used to describe file and other
|
|
|
+handles.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="LineEnding">
|
|
|
+<short>Constant describing the current line ending character.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>LineEnding</var> is a constant which contains the current line-ending
|
|
|
+character. This character is system dependent, and is initialized by the
|
|
|
+system. It should not be set.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="sLineBreak"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="LFNSupport">
|
|
|
+<short>COnstant describing support for long filenames.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>LFNSupport</var> determines whether the current OS supports long file
|
|
|
+names, i.e. filenames that are not of the form 8.3 as on ancient DOS
|
|
|
+systems. If the value of this constant is <var>True</var> then long
|
|
|
+filenames are supported. If it is false, then not.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="DirectorySeparator">
|
|
|
+<short>Character used to separate directory parts.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>DirectorySeparator</var> is the character used by the current operating
|
|
|
+system to separate directory parts in a pathname. This constant is system
|
|
|
+dependent, and should not be set.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="DriveSeparator">
|
|
|
+<short>Character used to separate directory parts.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+On systems that support driveletters, the <var>DriveSeparator</var> constant
|
|
|
+denotes the character that separates the drive indicator from the directory
|
|
|
+part in a filename path.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="PathSeparator">
|
|
|
+<short>Character used to separate paths in a search list</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>PathSeparator</var> is the character used commonly on the current
|
|
|
+operating system to separate paths in a list of paths, such as the
|
|
|
+<var>PATH</var> environment variable.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="FileNameCaseSensitive">
|
|
|
+<short>OS treatment of filenames is case sensitive.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>FileNameCaseSensitive</var> is <var>True</var> if case is important
|
|
|
+when using filenames on the current OS. In this case, the OS will treat
|
|
|
+files with different cased names as different files. Note that this may
|
|
|
+depend on the filesystem: Unix operating systems that access a DOS or
|
|
|
+Windows partition will have this constant set to true, but when writing to
|
|
|
+the DOS partition, the casing is ignored.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="sLineBreak">
|
|
|
+<short>Alias for <link id="LineEnding"/></short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>sLineBreak</var> is an alias for <link id="LineEnding"/> and is
|
|
|
+supplied for Delphi compatibility.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+<link id="DefaultTextLineBreakStyle"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="DefaultTextLineBreakStyle">
|
|
|
+<short>Default line ending style.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>DefaultTextLineBreakStyle</var> contains the default OS setting for the
|
|
|
+<link id="TTextLineBreakStyle"/> type. It is initizliaed by the system unit,
|
|
|
+and is used to determine the default line ending when writing to text files.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This constant is part of a set of constants that describe the OS
|
|
|
+characteristics. These constants should be used instead of hardcoding
|
|
|
+OS characteristics.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="SetTextLineEnding"/>
|
|
|
+<link id="TTextLineBreakStyle"/>
|
|
|
+<link id="DriveSeparator"/>
|
|
|
+<link id="DirectorySeparator"/>
|
|
|
+<link id="LineEnding"/>
|
|
|
+<link id="LFNSupport"/>
|
|
|
+<link id="PathSeparator"/>
|
|
|
+<link id="FileNameCaseSensitive"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="maxExitCode">
|
|
|
+<short>Maximum exit code supported by the operating system.</short>
|
|
|
+<descr>
|
|
|
+<var>maxExitCode</var> is the maximum value for the <link id="Halt"/> call.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="Halt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="UnusedHandle">
|
|
|
+<short>Value indicating an unused file handle (as reported by the OS).</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="StdInputHandle">
|
|
|
+<short>Value of the OS handle for the standard input file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="StdOutputHandle">
|
|
|
+<short>Value of the OS handle for the standard output file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="StdErrorHandle">
|
|
|
+<short>Value of the OS handle for the standard error-output file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="argc" skip="1">
|
|
|
+<short>Number of command-line arguments.</short>
|
|
|
+<descr>
|
|
|
+<var>argc</var> contains the number of command-line arguments passed to
|
|
|
+the program by the OS. It is not available on all systems.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="argv"/>
|
|
|
+<link id="envp"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="argv">
|
|
|
+<short>Pointer to the array of command-line arguments</short>
|
|
|
+<descr>
|
|
|
+<var>argp</var> contains a pointer to a <var>nil</var>-terminated
|
|
|
+array of null-terminated strings, containing the command-line
|
|
|
+arguments passed to the program by the OS. It is not available
|
|
|
+on all systems.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="argc"/>
|
|
|
+<link id="envp"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="envp">
|
|
|
+<short>Pointer to the array of environment variables</short>
|
|
|
+<descr>
|
|
|
+<var>envp</var> contains a pointer to a <var>nil</var>-terminated
|
|
|
+array of null-terminated strings, containing the environment variables
|
|
|
+passed to the program by the OS. It is not available on all systems.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="argc"/>
|
|
|
+<link id="argv"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="SizeInt">
|
|
|
+<short>Signed integer type which fits for sizes</short>
|
|
|
+<seealso>
|
|
|
+<link id="SizeUInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="SizeUInt">
|
|
|
+<short>Unsigned Integer type which fits for sizes</short>
|
|
|
+<seealso>
|
|
|
+<link id="SizeInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="PtrInt">
|
|
|
+<short>Signed integer type with same size as Pointer.</short>
|
|
|
+<descr>
|
|
|
+<var>PtrInt</var> is an integer type which has always the same size as a
|
|
|
+pointer. When using integers which will be cast to pointers and vice versa,
|
|
|
+use this type, never the regular integer type.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="PtrUInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="PtrUInt">
|
|
|
+<short>Unsigned integer type with same size as Pointer.</short>
|
|
|
+<descr>
|
|
|
+<var>PtrUInt</var> is an unsigned integer type which has always the same size as a
|
|
|
+pointer. When using integers which will be cast to pointers and vice versa,
|
|
|
+use this type, never the regular Cardinal type.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="PtrInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="ValSInt">
|
|
|
+<short>Val-Signed integer.</short>
|
|
|
+<descr>
|
|
|
+Integer with teh same size as the return code of the <link id="Val"/>
|
|
|
+function.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="Val"/>
|
|
|
+<link id="ValUInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="ValUInt">
|
|
|
+<short>Val-unsigned integer</short>
|
|
|
+<descr>
|
|
|
+Integer with teh same size as the return code of the <link id="Val"/>
|
|
|
+function.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="Val"/>
|
|
|
+<link id="ValUInt"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PVariant">
|
|
|
+<short>Pointer to <var>Variant</var> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="POleVariant">
|
|
|
+<short>Pointer to <var>OleVariant</var> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PWideChar">
|
|
|
+<short>Pointer to <link id="WChar"/>.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PPWideChar">
|
|
|
+<short>Pointer to link id="PWideChar"> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="UCS2Char">
|
|
|
+<short>UCS2 unicode character.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="PUCS2Char">
|
|
|
+<short>Pointer to <link id="UCS2Char"/> character.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="PText">
|
|
|
+<short>Pointer to text file.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="ErrOutput">
|
|
|
+<short>Alias for <link id="StdErr"/></short>
|
|
|
+<descr>
|
|
|
+<var>ErrOutput</var> is provided for Delphi compatibility.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="StdErr"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_lo_word">
|
|
|
+<short>FPC compiler internal procedure index: lo (word)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_hi_word">
|
|
|
+<short>FPC compiler internal procedure index: hi (word)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_lo_long">
|
|
|
+<short>FPC compiler internal procedure index: lo (long)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_hi_long">
|
|
|
+<short>FPC compiler internal procedure index: hi (long)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_ord_x">
|
|
|
+<short>FPC compiler internal procedure index: ord </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_length_string">
|
|
|
+<short>FPC compiler internal procedure index: length</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_chr_byte">
|
|
|
+<short>FPC compiler internal procedure index: chr</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_write_x">
|
|
|
+<short>FPC compiler internal procedure index: write</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_writeln_x">
|
|
|
+<short>FPC compiler internal procedure index: writeln</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_read_x">
|
|
|
+<short>FPC compiler internal procedure index: read</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_readln_x">
|
|
|
+<short>FPC compiler internal procedure index: readln</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_concat_x">
|
|
|
+<short>FPC compiler internal procedure index: concat </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_assigned_x">
|
|
|
+<short>FPC compiler internal procedure index: assigned </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_str_x_string">
|
|
|
+<short>FPC compiler internal procedure index: str </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_ofs_x">
|
|
|
+<short>FPC compiler internal procedure index: ofs </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_sizeof_x">
|
|
|
+<short>FPC compiler internal procedure index: sizeof </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_typeof_x">
|
|
|
+<short>FPC compiler internal procedure index: typeof </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_val_x">
|
|
|
+<short>FPC compiler internal procedure index: val </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_reset_x">
|
|
|
+<short>FPC compiler internal procedure index: reset </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_rewrite_x">
|
|
|
+<short>FPC compiler internal procedure index: rewrite </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_low_x">
|
|
|
+<short>FPC compiler internal procedure index: low </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_high_x">
|
|
|
+<short>FPC compiler internal procedure index: high </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_seg_x">
|
|
|
+<short>FPC compiler internal procedure index: seg </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_pred_x">
|
|
|
+<short>FPC compiler internal procedure index: pred </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_succ_x">
|
|
|
+<short>FPC compiler internal procedure index: succ </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_reset_typedfile">
|
|
|
+<short>FPC compiler internal procedure index: reset </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_rewrite_typedfile">
|
|
|
+<short>FPC compiler internal procedure index: rewrite </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_settextbuf_file_x">
|
|
|
+<short>FPC compiler internal procedure index: settextbuf </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_inc_x">
|
|
|
+<short>FPC compiler internal procedure index: inc </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_dec_x">
|
|
|
+<short>FPC compiler internal procedure index: dec </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_include_x_y">
|
|
|
+<short>FPC compiler internal procedure index: include </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_exclude_x_y">
|
|
|
+<short>FPC compiler internal procedure index: exclude </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_break">
|
|
|
+<short>FPC compiler internal procedure index: break </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_continue">
|
|
|
+<short>FPC compiler internal procedure index: continue </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_assert_x_y">
|
|
|
+<short>FPC compiler internal procedure index: assert </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_addr_x">
|
|
|
+<short>FPC compiler internal procedure index: addr </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_typeinfo_x">
|
|
|
+<short>FPC compiler internal procedure index: typeinfo </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_setlength_x">
|
|
|
+<short>FPC compiler internal procedure index: setlength </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_finalize_x">
|
|
|
+<short>FPC compiler internal procedure index: finalize </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_new_x">
|
|
|
+<short>FPC compiler internal procedure index: new </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_dispose_x">
|
|
|
+<short>FPC compiler internal procedure index: dispose </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_exit">
|
|
|
+<short>FPC compiler internal procedure index: exit </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_copy_x">
|
|
|
+<short>FPC compiler internal procedure index: copy </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_initialize_x">
|
|
|
+<short>FPC compiler internal procedure index: initialize </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_leave">
|
|
|
+<short>FPC compiler internal procedure index: leave </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_cycle">
|
|
|
+<short>FPC compiler internal procedure index: cycle </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_trunc">
|
|
|
+<short>FPC compiler internal procedure index: trunc </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_round">
|
|
|
+<short>FPC compiler internal procedure index: round </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_frac">
|
|
|
+<short>FPC compiler internal procedure index: frac </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_abs">
|
|
|
+<short>FPC compiler internal procedure index: abs </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_int">
|
|
|
+<short>FPC compiler internal procedure index: int </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_sqr">
|
|
|
+<short>FPC compiler internal procedure index: sqr </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_odd">
|
|
|
+<short>FPC compiler internal procedure index: sqr </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_ptr">
|
|
|
+<short>FPC compiler internal procedure index: sqr </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_swap_word">
|
|
|
+<short>FPC compiler internal procedure index: swap (word) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_swap_long">
|
|
|
+<short>FPC compiler internal procedure index: swap (long) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_pi">
|
|
|
+<short>FPC compiler internal procedure index: pi </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_sqrt">
|
|
|
+<short>FPC compiler internal procedure index: sqrt </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_arctan">
|
|
|
+<short>FPC compiler internal procedure index: arctan </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_cos">
|
|
|
+<short>FPC compiler internal procedure index: cos </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_exp">
|
|
|
+<short>FPC compiler internal procedure index: exp </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_ln">
|
|
|
+<short>FPC compiler internal procedure index: in </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_sin">
|
|
|
+<short>FPC compiler internal procedure index: sin </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_lo_qword">
|
|
|
+<short>FPC compiler internal procedure index: lo (qword) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_hi_qword">
|
|
|
+<short>FPC compiler internal procedure index: hi (qword) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_cos_real">
|
|
|
+<short>FPC compiler internal procedure index: cos (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_pi">
|
|
|
+<short>FPC compiler internal procedure index: pi </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_abs_real">
|
|
|
+<short>FPC compiler internal procedure index: abs (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_sqr_real">
|
|
|
+<short>FPC compiler internal procedure index: sqr (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_sqrt_real">
|
|
|
+<short>FPC compiler internal procedure index: sqrt (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_arctan_real">
|
|
|
+<short>FPC compiler internal procedure index: arctan (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_ln_real">
|
|
|
+<short>FPC compiler internal procedure index: ln (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_sin_real">
|
|
|
+<short>FPC compiler internal procedure index: sin (real) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_const_swap_qword">
|
|
|
+<short>FPC compiler internal procedure index: swap (qword) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_prefetch_var">
|
|
|
+<short>FPC compiler internal procedure index: prefetch </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpeqb">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpeqw">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpeqd">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpgtb">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpgtw">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="fpc_in_mmx_pcmpgtd">
|
|
|
+<short>FPC compiler internal procedure index: MMX </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="Align">
|
|
|
+<short>Return aligned version of an address</short>
|
|
|
+<descr>
|
|
|
+<var>Align</var> returns <var>Address</var>, aligned to <var>Alignment</var>
|
|
|
+bytes.
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="ArrayStringToPPchar">
|
|
|
+<short>Concert an array of string to an array of null-terminated strings</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>ArrayStringToPPchar</var> creates an array of null-terminated strings
|
|
|
+that point to strings which are the same as the strings in the array
|
|
|
+<var>S</var>. The function returns a pointer to this array. The array and
|
|
|
+the strings it contains must be disposed of after being used, because it
|
|
|
+they are allocated on the heap.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The <var>ReserveEntries</var> parameter tells <var>ArrayStringToPPchar</var>
|
|
|
+to allocate room at the end of the array for another <var>ReserveEntries</var>
|
|
|
+entries.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+If not enough memory is available, an error may occur.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="StringToPPChar"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<element name="StringToPPChar">
|
|
|
+<short>Split string in list of null-terminated strings</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>StringToPPChar</var> splits the string <var>S</var> in words, replacing any
|
|
|
+whitespace with zero characters. It returns a pointer to an array of pchars
|
|
|
+that point to the first letters of the words in <var>S</var>. This array is terminated
|
|
|
+by a <var>Nil</var> pointer.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function does <em> not</em> add a zero character to the end of the string
|
|
|
+unless it ends on whitespace.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The function reserves memory on the heap to store the array of <var>PChar</var>;
|
|
|
+The caller is responsible for freeing this memory.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This function is only available on certain platforms.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<errors>
|
|
|
+None.
|
|
|
+</errors>
|
|
|
+<seealso>
|
|
|
+<link id="ArrayStringToPPchar"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varempty">
|
|
|
+<short>Variant type: <var>Empty</var> variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varnull">
|
|
|
+<short>Variant type: <link id="Null"/> variant </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varsmallint">
|
|
|
+<short>Variant type: smallint (8 bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varinteger">
|
|
|
+<short>Variant type: Integer (32-bit)</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varsingle">
|
|
|
+<short>Variant type: Single float </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vardouble">
|
|
|
+<short>Variant type: Double float </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varcurrency">
|
|
|
+<short>Variant type: Currency </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vardate">
|
|
|
+<short>Variant type: Date </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varolestr">
|
|
|
+<short>Variant type: OLE string (widestring) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vardispatch">
|
|
|
+<short>Variant type: dispatch interface </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varerror">
|
|
|
+<short>Variant type: Error type </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varboolean">
|
|
|
+<short>Variant type: Boolean type </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varvariant">
|
|
|
+<short>Variant type: Variant (arrays only) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varunknown">
|
|
|
+<short>Variant type: Unknown </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vardecimal">
|
|
|
+<short>Variant type: Decimal (BCD) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varshortint">
|
|
|
+<short>Variant type: Shortint (16 bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varbyte">
|
|
|
+<short>Variant type: Byte (8 bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varword">
|
|
|
+<short>Variant type: Word (16 bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varlongword">
|
|
|
+<short>Variant type: Word (32 bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varint64">
|
|
|
+<short>Variant type: Integer (64-Bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varqword">
|
|
|
+<short>Variant type: Word (64-bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varstrarg">
|
|
|
+<short>Variant type: String </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varstring">
|
|
|
+<short>Variant type: String </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varany">
|
|
|
+<short>Variant type: Any </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vartypemask">
|
|
|
+<short>Variant type: Mask to extract type </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="vararray">
|
|
|
+<short>Variant type: variant Array </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varbyref">
|
|
|
+<short>Variant type: By reference </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- constant Visibility: default -->
|
|
|
+<element name="varword64">
|
|
|
+<short>Variant type: Word (64-bit) </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- alias type Visibility: default -->
|
|
|
+<element name="tvartype">
|
|
|
+<short>Type with size of variant type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvararrayboundarray">
|
|
|
+<short>Pointer to <link id="tvararrayboundarray"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvararraycoorarray">
|
|
|
+<short>Pointer to <link id="tvararraycoorarray"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvararraybound">
|
|
|
+<short>Pointer to <link id="tvararraybound"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvararray">
|
|
|
+<short>Pointer to <link id="TVarArray"/> type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tvararraybound">
|
|
|
+<short>Type describing variant array bounds.</short>
|
|
|
+<descr>
|
|
|
+<var>tvararraybound</var> is used to describe one dimension in a variant
|
|
|
+array.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="tvararray"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararraybound.elementcount">
|
|
|
+<short>Number of elements in this array dimension.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararraybound.lowbound">
|
|
|
+<short>Lower bound of this array dimension (index of first element).</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tvararray">
|
|
|
+<short>Type describing variant array</short>
|
|
|
+<descr>
|
|
|
+<var>tvararray</var> is a record describing a variant array. It contains
|
|
|
+some general data, followed by a number of <link id="TVarArrayBound"/>
|
|
|
+records equal to the number of dimensions in the array (<var>dimcoun</var>).
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TVarArrayBound"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.dimcount">
|
|
|
+<short>Number of dimensions</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.flags">
|
|
|
+<short>Array flags.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.elementsize">
|
|
|
+<short>Size of one element in the array.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.lockcount">
|
|
|
+<short>Lock (reference) count of the array.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.data">
|
|
|
+<short>Pointer to the array data.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvararray.bounds">
|
|
|
+<short>Array describing the bounds in the array.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="tvararrayboundarray">
|
|
|
+<short>array of <link id="tvararraybound"/> records.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- array type Visibility: default -->
|
|
|
+<element name="tvararraycoorarray">
|
|
|
+<short>Array of variant array coordinates</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration type Visibility: default -->
|
|
|
+<element name="tvarop">
|
|
|
+<short>Variant operation.</short>
|
|
|
+<descr>
|
|
|
+<var>tvarop</var> describes a variant operation. It is mainly used for the
|
|
|
+variant manager to implement the various conversions and mathematical
|
|
|
+operations on a variant.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="TVariantManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opadd">
|
|
|
+<short>Variant operation: Addition.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opsubtract">
|
|
|
+<short>Variant operation: Substraction</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opmultiply">
|
|
|
+<short>Variant operation: multiplication</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opdivide">
|
|
|
+<short>Variant operation: division</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opintdivide">
|
|
|
+<short>Variant operation: integer divide</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opmodulus">
|
|
|
+<short>Variant operation: Modulus</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opshiftleft">
|
|
|
+<short>Variant operation: Shift left</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opshiftright">
|
|
|
+<short>Variant operation: Shift right</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opand">
|
|
|
+<short>Variant operation: Binary AND operation</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opor">
|
|
|
+<short>Variant operation: Binary OR operation</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opxor">
|
|
|
+<short>Variant operation: binary XOR operation.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcompare">
|
|
|
+<short>Variant operation: Compare</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opnegate">
|
|
|
+<short>Variant operation: negation.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opnot">
|
|
|
+<short>Variant operation: Binary NOT operation.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmpeq">
|
|
|
+<short>Variant operation: Compare equal.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmpne">
|
|
|
+<short>Variant operation: Compare not equal</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmplt">
|
|
|
+<short>Variant operation: Compare less than.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmple">
|
|
|
+<short>Variant operation: Compare less than or equal to</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmpgt">
|
|
|
+<short>Variant operation: Compare larger than</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- enumeration value Visibility: default -->
|
|
|
+<element name="tvarop.opcmpge">
|
|
|
+<short>Variant operation: Compare larger than or equal</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tvardata">
|
|
|
+<short>Variant record.</short>
|
|
|
+<descr>
|
|
|
+<var>TVarData</var> is a record representation of a variant. It contains the
|
|
|
+internal structure of a variant and is handled by the various variant
|
|
|
+handling routines.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvardata.vtype">
|
|
|
+<short>Type of variant.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvardata">
|
|
|
+<short>Pointer to <link id="TVarData"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pcalldesc">
|
|
|
+<short>Pointer to <link id="TCallDesc"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tcalldesc">
|
|
|
+<short>COM/OLE dispatch call argument description.</short>
|
|
|
+<descr>
|
|
|
+<var>tcalldesc</var> is used to encode the arguments to a dispatch call to
|
|
|
+an OLE dual interface. It is used on windows only. It describes the
|
|
|
+arguments to a call.
|
|
|
+</descr>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tcalldesc.calltype">
|
|
|
+<short>Call type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tcalldesc.argcount">
|
|
|
+<short>Number of arguments to call.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tcalldesc.namedargcount">
|
|
|
+<short>Number of named arguments in the call.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tcalldesc.argtypes">
|
|
|
+<short>Types of arguments.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="tdispdesc">
|
|
|
+<short>COM/OLE dispatch call description.</short>
|
|
|
+<descr>
|
|
|
+<var>tcalldesc</var> is used to encode a dispatch call to an OLE dispatch
|
|
|
+interface. It is used on windows only. It describes the dispath call call.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="tcalldesc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="pdispdesc">
|
|
|
+<short>Pointer to <link id="tdispdesc"/> record</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tdispdesc.dispid">
|
|
|
+<short>Dispatch ID</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tdispdesc.restype">
|
|
|
+<short>Result type.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tdispdesc.calldesc">
|
|
|
+<short>Arguments description.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="tvariantmanager">
|
|
|
+<short>Record describing the variant manager.</short>
|
|
|
+<descr>
|
|
|
+<var>TVariantManager</var> describes the variant manager as expected by the
|
|
|
+<link id="SetVariantManager"/> call.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="SetVariantManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartoint">
|
|
|
+<short>Called to convert a variant to an integer value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartoint64">
|
|
|
+<short>Called to convert a variant to an int64 value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartoword64">
|
|
|
+<short>Called to convert a variant to a word64 value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartobool">
|
|
|
+<short>Called to convert a variant to a boolean value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartoreal">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartocurr">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartopstr">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartolstr">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartowstr">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartointf">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartodisp">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vartodynarray">
|
|
|
+<short>Called to convert a variant to a value</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfrombool">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromint">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromint64">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromword64">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromreal">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfrompstr">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromlstr">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromwstr">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromintf">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromdisp">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varfromdynarray">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.olevarfrompstr">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.olevarfromlstr">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.olevarfromvar">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.olevarfromint">
|
|
|
+<short>Called to convert a value to a variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varop">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.cmpop">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varneg">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varnot">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varinit">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varclear">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varaddref">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varcopy">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varcast">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.varcastole">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.dispinvoke">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vararrayredim">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vararrayget">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.vararrayput">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.writevariant">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="tvariantmanager.write0Variant">
|
|
|
+<short>Called to perform a variant operation: </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- pointer type Visibility: default -->
|
|
|
+<element name="pvariantmanager">
|
|
|
+<short>Pointer to <link id="TVariantManager"/> record.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="GetVariantManager">
|
|
|
+<short>Return the current variant manager.</short>
|
|
|
+<descr>
|
|
|
+<var>GetVariantManager</var> returns the current variant manager in
|
|
|
+<var>varmgr</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="IsVariantManagerSet"/>
|
|
|
+<link id="SetVariantManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SetVariantManager">
|
|
|
+<short>Set the current variant manager.</short>
|
|
|
+<descr>
|
|
|
+<var>SetVariantManager</var> sets the variant manager to <var>varmgr</var>.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="IsVariantManagerSet"/>
|
|
|
+<link id="GetVariantManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="IsVariantManagerSet">
|
|
|
+<short>Determine if variant manager is currently set.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>IsVariantManagerSet</var> determines whether the variant manager was
|
|
|
+set to a correct variant manager. It returns <var>True</var> if it is,
|
|
|
+or <var>False</var> if it is not.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+The routine checks all variant operation handlers, they should all be set correctly.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="SetVariantManager"/>
|
|
|
+<link id="GetVariantManager"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="VarDispProc">
|
|
|
+<short>Callback to perform dispatch interface procedure call by name.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>VarDispProc</var> is called by the compiler if it needs to perform an
|
|
|
+interface call from a variant. For instance, the following call:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Var
|
|
|
+ V : OleVariant;
|
|
|
+begin
|
|
|
+ V.OpenDocument('c:\temp\mydoc.doc');
|
|
|
+end;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+is encoded by the compiler and passed to <var>VarDispProc</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This pointer must be set by a routine that calls the OS COM handling
|
|
|
+routines.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="DispCallByIDProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="DispCallByIDProc">
|
|
|
+<short>Callback to perform dispatch interface procedure call by ID.</short>
|
|
|
+<descr>
|
|
|
+<p>
|
|
|
+<var>VarDispProc</var> is called by the compiler if it needs to perform an
|
|
|
+interface call from a variant which contains a dispatch interface.
|
|
|
+For instance, the following call:
|
|
|
+</p>
|
|
|
+<code>
|
|
|
+Var
|
|
|
+ V : OleVariant;
|
|
|
+begin
|
|
|
+ (V as IWord).OpenDocument('c:\temp\mydoc.doc');
|
|
|
+end;
|
|
|
+</code>
|
|
|
+<p>
|
|
|
+where <var>IWord</var> is a dispatch interface is encoded by the compiler and
|
|
|
+passed to <var>DispCallByIDProc</var>.
|
|
|
+</p>
|
|
|
+<p>
|
|
|
+This pointer must be set by a routine that calls the OS COM handling
|
|
|
+routines.
|
|
|
+</p>
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="VarDispProc"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="Null">
|
|
|
+<short>Null variant</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="Unassigned">
|
|
|
+<short>Unassigned variant.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- record type Visibility: default -->
|
|
|
+<element name="THeapStatus">
|
|
|
+<short>Record describing current heap status.</short>
|
|
|
+<descr>
|
|
|
+<var>THeapStatus</var> is the record describing the current heap status. It
|
|
|
+is returned by the <link id="GetHeapStatus"/> call.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetHeapStatus"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="THeapStatus.MaxHeapSize">
|
|
|
+<short>Biggest heap size used.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="THeapStatus.MaxHeapUsed">
|
|
|
+<short>Biggest used part of heap memory.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="THeapStatus.CurrHeapSize">
|
|
|
+<short>Current heap size. </short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="THeapStatus.CurrHeapUsed">
|
|
|
+<short>Current size of used heap memory.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- variable Visibility: default -->
|
|
|
+<element name="THeapStatus.CurrHeapFree">
|
|
|
+<short>Current size of free heap memory.</short>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- procedure Visibility: default -->
|
|
|
+<element name="SysGetHeapStatus">
|
|
|
+<short>System implementation of <link id="GetHeapStatus"/></short>
|
|
|
+<descr>
|
|
|
+<var>SysGetHeapStatus</var> is the system implementation of the <link
|
|
|
+id="GetHeapStatus"/> call.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetHeapStatus"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+<!-- function Visibility: default -->
|
|
|
+<element name="Heapsize">
|
|
|
+<short>Current heap size</short>
|
|
|
+<descr>
|
|
|
+<var>HeapSize</var> returns the current heap size. The heap grows
|
|
|
+dynamically (as allowed by the OS) and the <var>HeapSize</var> reflects the
|
|
|
+current state of the heap.
|
|
|
+</descr>
|
|
|
+<seealso>
|
|
|
+<link id="GetHeapStatus"/>
|
|
|
+</seealso>
|
|
|
+</element>
|
|
|
+
|
|
|
+
|
|
|
+</module>
|
|
|
+</package>
|
|
|
+</fpdoc-descriptions>
|