Various types Starting with D6, types from Windows specific units that were needed in Kylix were extracted to this unit. So it mostly contains type of Windows origin that are needed in the VCL framework. Resource type RCDATA Alias for cardinal type Pointer to longint type PLongint is defined in the system unit. This is an alias for Delphi/Kylix compatibility. Pointer to smallint type PSmallInt is defined in the system unit. This is an alias for Delphi/Kylix compatibility. Pointer do double type PDouble is defined in the system unit. This is an alias for Delphi/Kylix compatibility. Pointer to byte type PByte is defined in the system unit. This is an alias for Delphi/Kylix compatibility. Alias for the Int64 type Largeint is an alias for the Int64 type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Alias for the Int64 type LARGE_INT is an alias for the Int64 type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Pointer to LargeInt PLargeInt is an alias for the PInt64 type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Alias for the QWord type LargeUInt is an alias for the QWord type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Alias for the QWord type LARGE_UINT is an alias for the QWord type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Pointer to QWord type PLargeUInt is an alias for the PQWord type defined in the system unit. This is an alias for Delphi/Kylix compatibility. Dynamic array of (32-bit, signed) integers TIntegerDynArray is a standard definition of a dynamical array of (32-bit, signed) integers. Dynamic array of (32-bit, unsigned) cardinals TCardinalDynArray is a standard definition of a dynamical array of (32-bit, unsigned) cardinals. Dynamic array of (16-bit, unsigned) words TWordDynArray is a standard definition of a dynamical array of (16-bit, unsigned) words. Dynamic array of (16-bit, signed) smallints TSmallintDynArray is a standard definition of a dynamical array of (16-bit, unsigned) integers. Dynamic array of (8-bit, unsigned) bytes TByteDynArray is a standard definition of a dynamical array of (8-bit, unsigned) bytes. Dynamic array of (8-bit, signed) shortints TShortintDynArray is a standard definition of a dynamical array of (8-bit, signed) shortints. Dynamic array of (64-bit, signed) int64s TInt64DynArray is a standard definition of a dynamical array of (64-bit, signed) int64s. Dynamic array of (64-bit, unsigned) QWords TQWordDynArray is a standard definition of a dynamical array of (64-bit, unsigned) QWords. Dynamic array of (32-bit, unsigned) LongWords TLongWordDynArray is a standard definition of a dynamical array of (32-bit, unsigned) LongWords. Array of (single-sized) floats TSingleDynArray is a standard definition of a dynamical array of singles. (smallest floating point type) Dynamic array of (Double-sized) floats TSoubleDynArray is a standard definition of a dynamical array of doubles. (regular floating point type) Dynamic array of booleans TBooleanDynArray is a standard definition of a dynamical array of booleans. Dynamic array of AnsiStrings TStringDynArray is a standard definition of a dynamical array of Ansistrings. Dynamic array of WideStrings TWideStringDynArray is a standard definition of a dynamical array of WideStrings. Dynamic array of untyped pointers TPointerDynArray is a standard definition of a dynamical array of untyped pointers. Point in a plane

TPoint is a generic definition of a point in a 2-dimensional discrete plane, where X indicates the horizontal position, and Y the vertical position (positions usually measured in pixels), and 0,0 is the origin of the plane.

Usually, the origin is the upper-left corner of the screen, with Y increasing as one moves further down the screen - this is opposite to the mathematical view where Y increases as one moves upwards.

The coordinates are integers, (32-bit, signed) so the coordinate system runs from -MaxInt to MaxInt.

Horizontal position Vertical position Pointer to TPoint type. PPoint is a typed pointer to the type. Alias for TPoint tagPOINT is a simple alias for Rectangle in a plane TRect defines a rectangle in a discrete plane. It is described by the horizontal (left, right) or vertical (top, Bottom) positions (in pixels) of the edges, or, alternatively, by the coordinates of the top left (TopLeft) and bottom right (BottomRight) corners. Horizontal position of left edge Vertical position of top edge Horizontal position of right edge Vertical position of bottom edge Position of top-left corner Position of bottom-right corner Pointer to TRect structure PRect is a typed pointer to the type. Area size TSize is a type to describe the size of a rectangular area, where cx is the width, cy is the height (in pixels) of the rectangle. Width in pixels Height in pixels Pointer to TSize type PSize is a typed pointer to the type. Alias for TSize tagSize is an alias for the type. Small point TSmallPoint defines a point in a 2-dimensional plane, just like , but the coordinates have a smaller range: The coordinates are smallints (16-bit, signed) and they run from -MaxSmallInt to maxSmallint. Horizontal position in the plane. Vertical position in the plane. Pointer to TSmallPoint type PSmallPoint is a typed pointer to the record. Enumeration type, indicating what to do with duplicates in a list.

TDuplicates can be used to indicate how a list structure acts on the addition of a duplicate item to the list.

dupIgnore
dupAccept
dupError
Ignore the new item, do not add it to the list. Accept duplicates, adding them to the list. Raise an error when an attempt is made to add a duplicate. Alias for the widechar type TOleChar is an alias for the WideChar type, defined in the system unit. Pointer to WideChar POleStr is a pointer to a (double) null-terminated array of TOleChar characters. Pointer to POleStr type PPOleStr is a typed pointer to a POleStr variable. Method callback for list operations TListCallback is the prototype for a Foreach operation on a list. It will be called with as Data the pointer in the list, and Arg will contain the extra user data added to the Foreach call. It can be used in methods of objects; for a version that can be used as a global procedure, see Callback for list operations TListStaticCallback is the prototype for a Foreach operation on a list. It will be called with as Data the pointer in the list, and Arg will contain the extra user data added to the Foreach call. It can be used in plain procedures; for a version that can be used as a method, see Null GUID GUID_NULL is the definition of the NULL (empty) GUID. Storage type - Storage Defined for Delphi compatibility, this should not be used. Storage type - stream Defined for Delphi compatibility, this should not be used. Storage type - byte array Defined for Delphi compatibility, this should not be used. Storage type - Property storage Defined for Delphi compatibility, this should not be used. Storage Stream seek operation offset type : set absolute position Defined for Delphi compatibility, this should not be used. Storage Stream seek operation offset type : relative position Defined for Delphi compatibility, this should not be used. Storage Stream seek operation offset type : Position relative to end of stream Defined for Delphi compatibility, this should not be used. Storage Lock stream data: lock for writing operation Defined for Delphi compatibility, this should not be used. Storage Lock stream data: lock exclusively for writing operation Defined for Delphi compatibility, this should not be used. Storage Lock stream data: lock is granted only once Defined for Delphi compatibility, this should not be used. Storage Statistics should contain pwcsName structure Defined for Delphi compatibility, this should not be used. Storage Statistics must not contain pwcsName structure Defined for Delphi compatibility, this should not be used. Storage : Not implemented Defined for Delphi compatibility, this should not be used. COM/RPC Error code : operation failed Defined for Delphi compatibility, this should not be used. COM/RPC Error code: Invalid arguments were specified. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: An invalid operation was called. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: the file could not be found Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: the path could not be found Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: too many open files. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: access to specified resource is denied Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: invalid object for operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: not enough operation for the operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: invalid pointer specified. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: no more objects to return. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Disk is read-only Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Error during seek operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Error during write operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Error during read operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: A sharing violation occurred Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: A locking violation occurred Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: the specified object already exists. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: an invalid parameter was specified. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: the medium was full. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Attempt to write a complex property to a simple property storage Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Abnormal exit of an API call. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Not a valid compound file Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Not a valid name Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: unknown error. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: unimplemnted function Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: invalid flag Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: object is in use. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: contents changed by another user Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: object no longer exists Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: cannot save Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: old compound file format Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: old format of DLL Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: share.exe required for this operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: extant marshallings exist on object Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Document file is corrupted Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: wrong address for OLE32. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: download interrupted, resulting in incomplete file. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: download terminated. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: object was converted to compound file. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: storage operation would block till more data comes available. Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: Retry operation Defined for Delphi compatibility, this should not be used. Storage COM/RPC Error code: ? Defined for Delphi compatibility, this should not be used. Pointer to TCLSID type PCLSID is a pointer to a TCLSID type. Class ID identifier (GUID) TCLSID is an alias for the type. Pointer to DWord type PDWord is equivalent to the PCardinal type. Untyped pointer type. PDisplay is defined for Delphi/Kylix compatibility and should not be used. Untyped pointer type. PEvent is defined for Delphi/Kylix compatibility and should not be used. Opaque record type TXrmOptionDescRec is defined for Delphi/Kylix compatibility and should not be used. Alias for TXrmOptionDescRec XrmOptionDescRec is defined for Delphi/Kylix compatibility and should not be used. Pointer to TXrmOptionDescRec PXrmOptionDescRec is defined for Delphi/Kylix compatibility and should not be used. Untyped pointer type Widget is defined for Delphi/Kylix compatibility and should not be used. Untyped pointer type WidgetClass is defined for Delphi/Kylix compatibility and should not be used. Untyped pointer type ArgList is defined for Delphi/Kylix compatibility and should not be used. Untyped pointer type Region is defined for Delphi/Kylix compatibility and should not be used. Filetime record type _FILETIME describes a file time stamp. It is defined or Delphi/Kylix compatibility and should not be used except when implementing or accessing the IStream interface. The TDateTime type should be used instead. Lower dword of the file date/time High dword of the file date/time Alias for the _FILETIME type Alias for the _FILETIME type Pointer to TFileTime type Storage statistics type for IStream interface. tagSTATSTG is used in the call. It describes a storage medium (typically a file). Name for the storage object. Typically the filename. Storage type Storage size Modification time Creation time Last access time ? Locking operations supported by Storage type Class ID for the storage type State bits Reserved bits Record describing storage medium. TStatStg is a record type describing a storage medium. It is uses in the function. Alias for the TStatStg type. Pointer to TStatStg record. Class defined for ActiveX compatibility. IClassFactory is defined for Delphi/Kylix compatibility and should not be used. Create a new instance of an interface. IClassFactory.CreateInstance is defined for Delphi/Kylix compatibility and should not be used. Lock ActiveX server object. IClassFactory.LocksServer is defined for Delphi/Kylix compatibility and should not be used. Sequential stream object interface ISequentialStream is the interface for streams which only support sequential reading of chunks of data. It is defined for Delphi/Kylix compatibility and should not be used. Read data from the stream Read reads cbCount bytes from the stream into the memory pointed to by pv and returns the number of bytes read in pcbread. The result is zero for success or an error code. Write data to the stream Write writes cbCount bytes from the memory pointed to by pv to the stream and returns the number of bytes written in pcbwritten. The result is zero for success or an error code. COM stream abstraction An abstract interface for an external (non pascal) stream, as defined in Microsoft COM interfaces Set the stream position Seek sets the stream position at dlibMove bytes from dwOrigin (one of the SEEK_* constants) and returns the new absolute position in libNewPosition. The function returns zero on success, or an error code. On error, a nonzero exit code is returned. Set the stream size SetSize sets the size of the stream to libNewSize bytes, if the stream allows it. On sucess, zero is returned. On error, a nonzero exit code is returned. Copy data from one stream to another CopyTo copies cb bytes from the stream to target stream stm. cbRead returns how many bytes were read from the stream, cbwrite returns how many bytes were actually written to the destination stream. The function returns zero on success. On error, a nonzero exit code is returned. Commit data to the stream Commit commits the data in the stream to the underlying medium. Flags is a set of options to control the commit operation (see MSDN for the possible flags). On error, a nonzero exit code is returned. Revert changes Revert reverts all changes that were done to a transacted stream, i.e. all changes since the last commit. The function returns zero on success. On error, a nonzero exit code is returned. Lock a region of bytes in the stream LockRegion locks a region of the storage, starting at libOffset, for cbCount bytes. The applied lock is of type dwLockType. The function returns zero if the lock was succesfully applied. On error, a nonzero exit code is returned. Unlocks a previously locked region of bytes in the stream UnlockRegion removes the lock on a region of the storage, starting at libOffset, for cbCount bytes. The lock must be of type dwLockType. The function returns zero if the lock was succesfully removed. On error, a nonzero exit code is returned. return information about the stream. Stat returns information about the stream in statstg, taking into account the flags in grfStatFlag (one of the STATFLAG_ constants). The function returns zero if the call was successful. On error, a nonzero exit code is returned. Clone the stream instance Clone returns an independent but initially equal copy of the stream in stm. The function returns zero if the call was successful. On error, a nonzero exit code is returned. Check if two rectangles are equal. EqualRect returns True if the rectangles R1 and R2 are equal (i.e. have the position and size). If the rectangles differ, the function returns False Create a rectangle record Rect returns a rectangle structure with the 4 members Left, Top, Right and Bottom as passed in the arguments. Create a rectangle, given a position and size Bounds returns a TRect structure with the indicated position (Left=ALeft and Top=ATop) and size (Right=ALeft+AWidth and Bottom=ATop+AHeight) Create a point Point returns a TPoint structure with the given position (X, Y). Check whether a point is inside a rectangle.

PtInRect returns True if p is located inside Rect, and False if it is located outside the rectangle.

Note that the bottom, right edges are not considered part of the rectangle, therefor a point located on one of these edges will not be considered part of the rectangle, meaning that for a record (10,10,100,100) the point (90,100) will not be considered part of the record, but 90,0 will be.
Return the intersection of 2 rectangles IntersectRect returns the intersection of the 2 rectangles R1 and R2 in Rect. It returns True if the 2 rectangles have an intersection, otherwise False is returned, and Rect is filled with zero. Return the union of 2 rectangles. UnionRect retuns the rectangle that encompasses both R1 and R2 in Rect. It returns True if the resulting rectangle is not empty, False if the result is an empty rectangle (in which case the result is filled with zeroes) Check whether a rectangle is empty IsRectEmpty returns true if the rectangle is empty, i.e. has a zero or negative width or height. Offset the rectangle OffsetRect offsets the rectangle Rect by a horizontal distance DX and a vertical distance DY. The operation returns True if the operation was successfull, false if it was not (only possible if the address of Rect is Nil). Return the center point of a rectangle CenterPoint returns the center point of the rectangle Rect. Increase the rectangle in size, keeping it centered InflateRect inflates the rectangle horizontally with dx pixels on each side, and vertically with dy pixels, thus keeping its center point on the same location. It returns true if the operation was succesfully, False if it was not (only possible if the address of Rect is Nil). Return the size of the rectangle Size returns a TSize record with the indicated AWidth, AHeight. In the case ARect is passed, the width and height are calculated (taking into account that the right, bottom are not considered part of the rectangle).