Index

Abstract, 77
Address, 161
Alias, 205
Ansistring, 32, 37
Array, 40, 194, 195
    Constructor, 45
    Dynamic, 42
    Of const, 195
    Static, 41
array, 58
Array constructor, 45
Asm, 187
Assembler, 187, 204, 239

block, 228
Boolean, 27

Case, 173
cdecl, 205
Char, 30
Class, 81, 90
Class helpers, 134
Classes, 81
CodePage, 32, 34
    Conversion, 34
COM, 57, 111
Comments, 12
Comp, 29
Const, 22
    String, 22
Constants, 20
    Ordinary, 20
    String, 18, 21, 37
    Typed, 21
Constructor, 73, 86, 158
CORBA, 57, 111
Currency, 29

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

else, 173, 174
except, 235, 237
Exception, 233
Exceptions, 233
    Catching, 233, 235
    Classes, 237
    Handling, 236, 237
    Raising, 233
export, 206
Expression, 184, 185
Expressions, 154
Extended, 29
Extended records, 129
External, 203
external, 63, 203

Fields, 47, 71
File, 50
finally, 236, 237
For, 176, 177
    downto, 176
    in, 177
    to, 176
Forward, 53, 202
Function, 189
Functions, 188
    Assembler, 204, 239
    External, 203
    Forward, 202
    Modifiers, 204
    Overloaded, 201

Generics, 113
    Overloads, 120
    Type Restrictions, 118

Hint directives, 15

Identifiers, 15
If, 174
index, 98, 203
Inherited, 89
inherited, 77, 101
inline, 206
interface, 105
Interfaces, 57, 59, 105
    COM, 111
    CORBA, 111
    Implementations, 107
interrupt, 206
iocheck, 207

Labels, 18
Libraries, 231
library, 231
local, 207

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

name, 203
noreturn, 207
nostackframe, 207
Numbers, 16
    Binary, 17
    Decimal, 17
    Hexadecimal, 17
    Octal, 17
    Real, 16

object, 70
Objective-Pascal, 144
Objective-Pascal Classes, 144
Objects, 70
Operators, 20, 38, 52, 154, 161, 162
    Arithmetic, 162, 217
    Assignment, 213
    Binary, 217
    Boolean, 163
    Comparison, 218
    Logical, 162
    Relational, 165
    Set, 164
    String, 163
    Unary, 162
operators, 212
otherwise, 173
overload, 208
overloading
    operators, 212
Override, 89
override, 77

Packed, 47, 71, 87
Parameters, 190
    Constant, 190, 193
    Open Array, 194, 195
    Out, 192
    Untypes, 190
    Value, 190
    Var, 98, 190, 191
pascal, 209
PChar, 34, 37
Pointer, 51
Private, 79, 83, 97
    strict, 83
private, 71
Procedural, 53
Procedure, 53, 188
Procedures, 188
program, 222
Properties, 67, 96
    Array, 99
    Indexed, 98
Property, 90, 96
Protected, 79, 83
Public, 79, 83
public, 71, 209
Published, 83, 97
PUnicodeChar, 37

Raise, 233
Rawbytestring, 36
Read, 97
Real, 29
Record, 47
    Constant, 65
Record helpers, 134
register, 210
reintroduce, 89
Repeat, 184
Reserved words, 13
    Delphi, 14
    Modifiers, 14
    Turbo Pascal, 13
Resourcestring, 22

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

Text, 50
then, 174
Thread Variables, 66
Threadvar, 66
Tokens, 11
    Comments, 12
    Identifiers, 15
    Numbers, 16
    Reserved words, 13
    Strings, 18
    Symbols, 11
try, 236, 237
Type, 24
    Compatibility, 27, 44, 60, 121, 159, 161, 191
    Generics, 113
    Helpers, 134
    Restrictions, 118
    Type overloads, 120
Typecast, 32, 34, 37, 159, 160
    Unaligned, 160
    Value, 159
    Variable, 159
Types, 24
    Ansistring, 32
    Array, 40–42
    Base, 24
    Boolean, 27
    Char, 30
    Class, 81
    Class helpers, 134
    Constructor, 45
    Enumeration, 27
    Extended record, 129
    File, 50
    Forward declaration, 53
    Integer, 25
    Object, 70
    Ordinal, 25
    PChar, 34, 37
    Pointer, 37, 51
    Procedural, 53
    Rawbytestring, 36
    Real, 29
    Record, 47
    Record helpers, 134
    Reference counted, 32, 34, 36, 42, 43, 111, 197
    Set, 49
    ShortString, 31
    String, 31
    Structured, 39
    Subrange, 29
    Type helpers, 134
    UnicodeString, 36
    UTF8String, 36
    Variant, 57
    Widestring, 37

Unicodestring, 36
unit, 223, 231
uses, 222
UTF8String, 36

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

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