Index

Abstract, 77
Address, 160
Alias, 204
Ansistring, 32, 36, 37
Array, 40, 193, 194
    Constructor, 45
    Dynamic, 42
    Of const, 194
    Static, 41
array, 58
Array constructor, 45
Asm, 186
Assembler, 186, 203, 238

block, 227
Boolean, 26

Case, 172
cdecl, 204
Char, 30
Class, 81, 90
Class helpers, 133
Classes, 81
CodePage, 32, 34
    Conversion, 34
COM, 57, 110
Comments, 12
Comp, 29
Const, 22
    String, 22
Constants, 20
    Ordinary, 20
    String, 18, 21, 37
    Typed, 21
Constructor, 73, 86, 157
CORBA, 57, 110
Currency, 29

Delphi
    Compatibility, 118
    Syntax, 118
    Type overloads, 119
Destructor, 73, 87
Directives
    Hint, 15
Dispatch, 94
DispatchStr, 94
Double, 29

else, 172, 173
except, 234, 236
Exception, 232
Exceptions, 232
    Catching, 232, 234
    Classes, 236
    Handling, 235, 236
    Raising, 232
export, 205
Expression, 183, 184
Expressions, 153
Extended, 29
Extended records, 128
External, 202
external, 63, 202

Fields, 47, 71
File, 50
finally, 235, 236
For, 175, 176
    downto, 175
    in, 176
    to, 175
Forward, 53, 201
Function, 188
Functions, 187
    Assembler, 203, 238
    External, 202
    Forward, 201
    Modifiers, 203
    Overloaded, 200

Generics, 112
    Overloads, 119
    Type Restrictions, 117

Hint directives, 15

Identifiers, 15
If, 173
index, 98, 202
Inherited, 89
inherited, 77, 101
inline, 205
interface, 105
Interfaces, 57, 59, 105
    COM, 110
    CORBA, 110
    Implementations, 107
interrupt, 205
iocheck, 206

Labels, 18
Libraries, 230
library, 230
local, 206

Message, 94
message, 94
Methods, 74, 88
    Abstract, 77
    Class, 90
    Message, 94
    Static, 75, 92
    Virtual, 76, 77, 88
Modifiers, 14, 203, 210
    Alias, 204
    cdecl, 204
    export, 205
    inline, 205
    interrupt, 205
    iocheck, 206
    local, 206
    noreturn, 206
    nostackframe, 206
    overload, 207
    pascal, 208
    public, 208
    register, 209
    safecall, 209
    saveregisters, 209
    softfloat, 209
    stdcall, 209
    varargs, 209

name, 202
noreturn, 206
nostackframe, 206
Numbers, 16
    Binary, 17
    Decimal, 17
    Hexadecimal, 17
    Octal, 17
    Real, 16

object, 70
Objective-Pascal, 143
Objective-Pascal Classes, 143
Objects, 70
Operators, 20, 38, 52, 153, 160, 161
    Arithmetic, 161, 216
    Assignment, 212
    Binary, 216
    Boolean, 162
    Comparison, 217
    Logical, 161
    Relational, 164
    Set, 163
    String, 162
    Unary, 161
operators, 211
otherwise, 172
overload, 207
overloading
    operators, 211
Override, 89
override, 77

Packed, 47, 71, 87
Parameters, 189
    Constant, 189, 192
    Open Array, 193, 194
    Out, 191
    Untypes, 189
    Value, 189
    Var, 98, 189, 190
pascal, 208
PChar, 33, 36
Pointer, 51
Private, 79, 83, 97
    strict, 83
private, 71
Procedural, 53
Procedure, 53, 187
Procedures, 187
program, 221
Properties, 67, 96
    Array, 99
    Indexed, 98
Property, 90, 96
Protected, 79, 83
Public, 79, 83
public, 71, 208
Published, 83, 97
PUnicodeChar, 36

Raise, 232
Rawbytestring, 35
Read, 97
Real, 29
Record, 47
    Constant, 65
Record helpers, 133
register, 209
reintroduce, 89
Repeat, 183
Reserved words, 13
    Delphi, 14
    Modifiers, 14
    Turbo Pascal, 13
Resourcestring, 22

safecall, 209
saveregisters, 209
Scope, 33, 43, 64, 70, 79, 82, 229
    block, 229
    Class, 229
    record, 229
    unit, 230
Self, 74, 90, 95
Set, 49
Shortstring, 31
Single, 29
softfloat, 209
Statements, 168
    Assembler, 186, 238
    Assignment, 168
    Case, 172
    Compound, 171
    Exception, 186
    For, 175, 176
    Goto, 170
    if, 173
    Loop, 175, 176, 183
    Procedure, 169
    Repeat, 183
    Simple, 168
    Structured, 171
    While, 183
    With, 184
Static class methods, 92
stdcall, 209
String, 18
    Ansistring, 32
    CodePage, 32
    Codepage, 34
    Constant, 37
    Multi-byte, 36
    RawByteString, 35
    ShortString, 31
    Single-byte string, 30
    UnicodeString, 36
    UTF8String, 36
    WideString, 37
Symbols, 11
Syntax diagrams, 9

Text, 50
then, 173
Thread Variables, 66
Threadvar, 66
Tokens, 11
    Comments, 12
    Identifiers, 15
    Numbers, 16
    Reserved words, 13
    Strings, 18
    Symbols, 11
try, 235, 236
Type, 24
    Compatibility, 26, 44, 60, 120, 158, 160, 190
    Generics, 112
    Helpers, 133
    Restrictions, 117
    Type overloads, 119
Typecast, 32, 33, 36, 158, 159
    Unaligned, 159
    Value, 158
    Variable, 158
Types, 24
    Ansistring, 32
    Array, 40–42
    Base, 24
    Boolean, 26
    Char, 30
    Class, 81
    Class helpers, 133
    Constructor, 45
    Enumeration, 27
    Extended record, 128
    File, 50
    Forward declaration, 53
    Integer, 25
    Object, 70
    Ordinal, 25
    PChar, 33, 37
    Pointer, 37, 51
    Procedural, 53
    Rawbytestring, 35
    Real, 29
    Record, 47
    Record helpers, 133
    Reference counted, 32, 34–36, 42, 43, 110, 196
    Set, 49
    ShortString, 31
    String, 30
    Structured, 39
    Subrange, 29
    Type helpers, 133
    UnicodeString, 36
    UTF8String, 36
    Variant, 57
    Widestring, 37

Unicodestring, 36
unit, 222, 230
uses, 221
UTF8String, 36

Var, 62
varargs, 209
Variable, 62
Variables, 62
    Initialized, 21, 64, 65
Variant, 57
Virtual, 73, 74, 76, 88, 94
Visibility, 70, 79, 105
    Private, 70, 83
    Protected, 83
    Public, 70, 83
    Published, 83
    Strict Private, 83
    Strict Protected, 83

While, 183
WideChar, 30
Widestring, 37
With, 184
Write, 97