[next] [prev] [prev-tail] [tail] [up]

### 17.2 Types

The follwing auxiliary types are defined:

     TYPE
        { Character set }
        TCharSet = SET Of Char;
        PCharSet = ^TCharSet;

        { Byte array }
        TByteArray = ARRAY [0..MaxBytes-1] Of Byte;
        PByteArray = ^TByteArray;

        { Word array }
        TWordArray = ARRAY [0..MaxWords-1] Of Word;
        PWordArray = ^TWordArray;

        { Pointer array }
        TPointerArray = Array [0..MaxPtrs-1] Of Pointer;
        PPointerArray = ^TPointerArray;

        { String pointer }
        PString = ^String;

        { Filename array }
        AsciiZ = Array [0..255] Of Char;

        Sw_Word    = Cardinal;
        Sw_Integer = LongInt;

The following records are used internaly for easy type conversion:

     TYPE
        { Word to bytes}
        WordRec = packed RECORD
          Lo, Hi: Byte;
        END;

        { LongInt to words }
        LongRec = packed RECORD
          Lo, Hi: Word;
        END;

       { Pointer to words }
        PtrRec = packed RECORD
          Ofs, Seg: Word;
        END;

The following record is used when streaming objects:

     TYPE
        PStreamRec = ^TStreamRec;
        TStreamRec = Packed RECORD
           ObjType: Sw_Word;
           VmtLink: pointer;
           Load : Pointer;
           Store: Pointer;
           Next : PStreamRec;
        END;

The TPoint basic object is used in the TRect object (see section 17.4, page 554):

     TYPE
        PPoint = ^TPoint;
        TPoint = OBJECT
           X, Y: Sw_Integer;
        END;

[next] [prev] [prev-tail] [front] [up]