The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by atacueg, 2022-07-28 12:14:51

object pascal handbook

objectpascalhandbook

Keywords: guia pascal,object pascal,delphi guide

550 - B: Glossary A function is a block of code that performs some
Function action (or computation) and returns a result. It can
accept a pre-specified number of parameters to vary
Function Overloading the computation.

Function overloading is a feature of programming
languages that are strict about variable types that
allows a programmer to declare different versions of a
Function that can accept different types of parameter.

G Global memory is a static memory area for global
variables of your applications. This memory is used
Global Memory for the entire lifetime of an application, and it cannot
grow (see Heap memory for dynamic allocated mem-
GUI ory area). Global memory is used sparingly in Object
Pascal applications.

A Graphical User Interface that allows users to inter-
act with computers, tablets and phones through
graphical icons and other visual indicators. Most user
interaction with a GUI is performed by pointing,
touching, pressing, swiping and other gestures using
a mouse (or similar pointing device) or fingers.

H

Heap Memory The heap is a memory area for dynamically allocated
memory blocks. As the name implies, there is no
structure or sequence in heap memory allocation.
Whenever a block is needed it is taken from a free
area. Lifetime of individual blocks is different, and
order of allocation and de-allocation are not related.
The heap memory is used for the data of objects,
strings, dynamic arrays and other reference types

Marco Cantù, Object Pascal Handbook 10.4

I B: Glossary - 551

IDE (See References), but also for manually allocated
blocks (see Pointers). The heap is large but not infi-
(Type) Inheritance nite, and if you don't release unused objects from
Interface memory, your application will eventually run out of
memory.

An Integrated Development Environment is a single
application that provides a developer with a wide
range of tools so that they can be highly productive.
As a minimum an IDE will provide a source code edi-
tor, build automation tools and a debugger. The
modern idea of an IDE was invented along with the
first few Turbo Pascal compilers than came from Bor-
land, the precursors of today's Object Pascal IDEs by
Embarcadero Technologies.
The Object Pascal IDE supplied with Delphi is very
sophisticated and includes, for example, GUI design,
code templates, code refactoring and integrated unit
testing.
Type inheritance is one of the core tenets of Object
Oriented Programming (OOP). The idea is that a data
type can extend an existing data type, adding new fea-
tures to it. This type extension if known as type
inheritance, along with terms like base and descen-
dant class, or parent and child class.
Generally refers to an abstract declaration of what a
software module can do. In Object Pascal an interface
is a purely abstract class definition (made only of
methods, and with no data), like in C# or Java. See
Chapter 11 for full coverage.
However the language also still has the concept of
interface for a unit, in which case this is the section of
the unit that declares what it visible to other units.
The same interface keyword is used in both cases.

Marco Cantù, Object Pascal Handbook 10.4

552 - B: Glossary The name of the operating system powering Apple's
iOS iPhones, iPads, and similar devices.

M A method is a function or procedure that is tied to an
object. Methods have access for all the data stored in
Method the object.

O An object is a combination of some data items (prop-
erties and fields) and code (methods). An object is an
Object instance of a class, which defines a family (0r type) of
OOP objects.
Object Oriented Programming is the conceptual
Ordinal Type structure behind Object Pascal, based on concepts
macOS like classes, inheritance, and polymorphism. Modern
Object Pascal supports also other programming para-
digms, thanks to features like generics, anonymous
methods and reflection.
An ordinal type is data type made of elements that
can be counted and have a sequence. You can think of
integer numbers, but characters also have a sequence,
and even custom enumerated types.
The old name of the operating system of Apple Mac
computers, now replaces by Mac OS

Marco Cantù, Object Pascal Handbook 10.4

P B: Glossary - 553

Pointer A pointer is a variable holding directly a memory
address. A pointer can refer to the location of some
Polymorphism data or of a function in memory. Pointers are not
Procedure commonly used, while references (see Reference) are
opaque and managed pointers that are extremely
Project Options common, but also significantly easier to use.
Property Polymorphism is the ability for a call to a method to
assume “different forms” (that is, end up doing differ-
R ent operations) depending on the object is is applied
to. It is a standard trait of OOP languages.
RAD A procedure is a block of code (or sub-program) that
can be called from other parts of a program. A proce-
Record dure can accept parameters to vary what it does.
Differently from a function, a procedure doesn't
return a value.
A set of configuration options that affect the overall
structure of an application project, but also how the
compiler and linker behave.
A property defines the state of an object, abstracting
from the actual implementation, given a property can
be mapped to data or use methods to read and write
the value.

Rapid Application Development is a characteristic of
a development environment that make it easy and
fast to build applications. RAD tools are generally
based on visual designers, although this is a rather old
definition seldom used today.
A simple record is a collection of data items that are
stored in a structured way. Records are defined in a

Marco Cantù, Object Pascal Handbook 10.4

554 - B: Glossary type definition showing the order and type of the
Recursion individual data items in the record.
Reference
RTTI (or Reflection) Object Pascal also includes advanced records which
Run-Time Library (RTL) can have methods similarly to an object.

Recursion or recursive call is a way to describe a func-
tion that keep calling itself until a given condition is
met. A recursive call is often a better alternative to a
loop or cycle. An example of a recursive implementa-
tion of a multiplication, would be to take the value of
the first number, and add to it the same number mul-
tiplied by the other minus one, until the other
numbers becomes zero.

A reference is a variable that refers to some data else-
where in memory, rather than storing it directly. In
Object Pascal variable of types like classes and string,
but also interfaces and dynamic arrays, are refer-
ences. Differently from pointers (see Pointers)
references are generally managed by the compiler and
runtime library and require little low-level knowledge
and direct memory manipulation by the developer.

An acronym of Run Time Type Information, is the
ability to access type information (traditionally only
available to compilers) in the actual application at run
time. Other programming environments refer to this
feature as reflection.

This is a collection of pre-written routines that the
compiler automatically includes with application code
to build the executable application. It includes sup-
port for many fundamental operations, especially
those requiring interaction with the operating system
when the application is run (e.g. allocating memory,
reading and writing data, interacting with the file sys-
tem).

Marco Cantù, Object Pascal Handbook 10.4

S B: Glossary - 555

SDK A Software Development Kit is a set of software tools
Search Path with which to build software for a specific environ-
Stack (memory) ment. Each operating system provides an SDK
including the API libraries (Application Programming
U Interfaces) and developer tools necessary to build,
test, and debug applications for the platform.
Unicode A set of folders the compiler will search when looking
for an external unit referenced in a uses statement
The stack if a dynamically and orderly allocated mem-
ory area. Every time you call a method, a procedure,
or a function, this reserves its own memory area (for
local variables, including temporary ones, and param-
eters). As the method returns, the memory is cleared,
in a very orderly fashion. The only real scenario for
running out of the stack memory is when a method
enters an infinite recursive call (see Recursion).
Note: In most cases, local variables allocated on the
stack are not initialized to zero: you need to set their
value before using them.

Unicode is a standard way of recording individual text
characters as binary data (a sequence of 0s and 1s).
Text can be reliably exchanged between programs,
processed and displayed if it conforms to the Unicode
standard. The standard is very large covering more
than 110,000 different characters from around 100
different writing alphabets and scripts.

Marco Cantù, Object Pascal Handbook 10.4

556 - B: Glossary The Visual Component Library is a massive set of Vis-
ual Components supplied with Delphi. The GUI
V components of the VCL are native Windows GUI
components.
VCL A Virtual Method is a function or procedure declared
Virtual Methods in the type definition of a class that can be overridden
by classes which are its sub-classes. The so-called
W base class can also include a definition for the method
that can be used by the sub-classes. If the base class
Window doesn't define a default version of the method, any
Windows sub-class must provide a definition of the Virtual
Method.

A window is an area of the screen that contains GUI
elements with which a user can interact. A GUI appli-
cation can display multiple windows. In VCL and
FireMonkey, windows are defined using a Form
object.
The name of Microsoft ubiquitous operating system,
which pioneered (along with other operating systems
of the time like Apple Mac operating system) the con-
cept of graphical windows (see entry above).

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 557

c: index

1 Alphabet........................................................174
Ambiguous Calls...................................118, 545
1252 Code Page.............................................175 And................................................................. 81
1900................................................................ 83 And,................................................................ 82
1983..............................................................540 Anders Hejlsberg............................211, 251, 541
1995...........................................................3, 541 Android...........................................49, 543, 545
Android,.......................................................549
6 Angle Brackets.....................................399, 402
Anonymous Delegate...................................446
64-bit.................................63, 71, 169, 408, 543 Anonymous Event Handlers........................454
Anonymous Methods...........................446, 545
A ANSI............................................................. 205
AnsiChar................................................67, 200
Abstract..................................................36, 255 ANSIString................................................206p.
Abstract Classes....................................322, 545 API........................................................546, 555
Access Violations..........................................391 Append.........................................................530
ActionList.....................................................316 Apple.............................................541, 552, 556
Adapter Pattern............................................339 Apple’s Instruments Tool.............................387
Additive Operators.........................................81 Application...................................................277
Address Of.....................................148, 152, 168 Appmethod...................................................543
AfterDestruction..........................................278 ArcCosh..........................................................72
AJAX............................................................ 460 ArcExperiments..................................................
Algol.......................................................54, 540
Algorithms + Data Structures = Programs....89 Example..................................................378
Alignment.............................................147, 234 ArcExperiments Example............................378
Allen Bauer...............................................6, 129 ARM Chips...................................................543

Marco Cantù, Object Pascal Handbook 10.4

558 - C: Index

Array............................................................... 35 C++....25, 29, 43, 51, 65, 106, 114, 132, 153, 211,
Array Properties...................................294, 318 221, 226, 232, 248, 266, 321, 397, 442, 542
Arrays............................................................132
Arrays Of Records.........................................145 Callback Functions.......................................346
As.....................................81, 259, 325, 337, 391 Calling Convention.......................................369
ASCII............................................................. 174 Calling Conventions......................................124
Assembler.....................................................540 Camel-casing..................................................29
Assign...........................................236, 372, 520 Captured Variable........................................450
Assigned................................................170, 392 Cardinal..................................................62, 547
Assignments.............................................52, 54 Caret............................................................. 168
Attribute Classes..........................................482 Cary Jensen......................................................6
Attributes......................................................481 Case.......................................................35, 93p.
AutoSize.......................................................234 Case-insensitivity...........................................29
Catch............................................................. 266
B Cdecl............................................................. 124
Char.............................................62, 67pp., 182
Banker's Rounding.........................................87 Characters.......................................................67
Barry Kelly............................................478, 487 Chars[]...............................................190p., 195
BASIC...............................................30, 51, 540 Checkbox.........................................................91
Basic Multilingual Plane...............................177 Checking Memory.........................................381
BeforeConstruction......................................278 Chr............................................................69, 86
Begin............................................................... 34 Chris Bensen.................................................295
Bertrand Meyer............................................239 Class........................................................36, 547
Bitwise Operators...........................................81 Class Completion..........................................213
BOM Marker................................................528 Class Constraints..........................................413
Boolean.....................................................62, 67 Class Constructors...........................41, 349, 411
Boolean Expression......................................546 Class Data.....................................................343
Boolean Type................................................546 Class Helpers................................................357
BoolToStr.......................................................67 Class Methods..............................................343
Borland......................................................540p. Class Of.........................................................352
Class Operator..............................................155
Borland C++ 4.0 Object-Oriented Class Properties...........................................348
Programming...............................................397 Class References...........................................352
Break..................................................102p., 113 Class Var.......................................................344
Buffer Overruns...........................................384 Classes...........................................................212
Button1Click...................................................23 Classes Unit..................................................527
Byte................................................................. 62 ClassInfo......................................................506
Byte Order Mark...........................................178 ClassName.........................................353, 505p.
ByteLength...................................................202 ClassNameIs.................................................506
ClassParent..................................................506
C ClassType..................................................505p.
Clear............................................................. 389
C...29, 31, 54, 63, 65, 67, 81, 84, 90p., 94p., 99, ClientDataSet...............................................429
105, 107, 114, 125, 132, 150 Closing..........................................................535
Closures........................................301, 446, 546
C#. 25, 29, 51, 54, 73, 81, 94, 106, 148, 211, 214, COBOL.........................................................540
216, 226, 238, 243, 248, 251, 257, 259, 266, Code................................................................19
286p., 294, 297, 301pp., 321, 341, 397, 415,
446

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 559

Code Completion................33, 289p., 294, 304 Const.......................................................35, 372
Code Insights..................................................33 Const Reference............................................116
Code Parameters....................................111, 117 Constant Parameters.....................................115
Code Point....................................................547 Constants........................................................58
Code Points...................................................175 Constructor....................................................36
CodeGear......................................................542 Constructors.................228, 252, 278, 316, 388
CodeRage..........................................................6 Contains........................................................194
COM......67, 115, 164, 207, 295, 322p., 337, 547 Continue....................................................102p.
Comma...........................................................94 Control Characters.........................................68
Comments......................................................25 Controls........................................................548
Common Ancestor Class..............................243 ControlsEnum....................................................
Comp...............................................................71
Compare.......................................................194 Example..................................................363
Comparison Operators...................................81 ControlsEnum Application Project..............363
Compiler Directive............................................. Conversion......................................................55
Conversions....................................................85
Example..................................................274 ConvertFromUtf32.......................................183
RTTI........................................................468 Copy......................................................138, 194
$ALIGN................................................147p. Copy-on-write............................................187p.
$DEFINE..........................................46, 384 CountChars...................................................194
$ELSE.......................................................46 Covariant Return Types...............................442
$HIGHCHARUNICODE.........................185 CPU........................................70, 87, 101, 548p.
$IF..........................................................47p. Create...................................243, 388, 504, 523
$IFDEF........................................47, 49, 127 Creating A Component................................309
$IFDEF and $IFNDEF.............................46 Currency..........................................................71
$IFEND..................................................47p. Current..........................................................312
$IFNDEF..................................................46
$INCLUDE..........................................43, 49 D
$INLINE..................................................121
$J............................................................... 59 Data Types..............................................61, 548
$M........................................298p., 465, 520 Date............................................................. 83p.
$RTTI...................................................468p. DateTimeToStr...............................................84
$SCOPEDENUMS.....................................77 David I..............................................................6
$StrongLinkTypes..................................470 DayOfWeek....................................................84
$VARPROPSETTER...............................295 De Morgan's Law..........................................100
$WeakLinkRTTI.....................................469 Debugger......................................................267
$Z.............................................................. 76 Dec..........................................................65, 182
$ZEROBASEDSTRING...........................192 DecodeDate....................................................84
Compiler Directives..........................26, 46, 547 Default.................................................294, 408
Compiler Versions..........................................47 Default Constructor Constraint...................418
ComponentCount.........................................521 Default Parameters.......................................119
Components..........................................521, 547 DefaultTextLineBreakStyle..........................514
Compound Statements..................................90 DefaultUnicodeCodePage............................202
Concatenating Strings..................................192 Delayed Loading...........................................128
Concatenation................................................82 Delegation............................................301, 303
Conditional Defines.......................................46 Delete............................................................139
Console Application.......................................20 Delphi........................................4, 541, 547, 551
DeQuoted......................................................195

Marco Cantù, Object Pascal Handbook 10.4

560 - C: Index

Design Patterns............................................548 Events..........................300pp., 304p., 315, 549
Design-time..................................................297 Example..............................................................
Destroy.........................................229, 243, 374
Destructor......................................36, 229, 374 AdvancedExcept..........................280p., 284
Destructors..................................................388 AlignTest..................................................147
Dictionary.....................................................427 Animals1.............................................247pp.
Dispose.........................................................169 Animals2..............................................249p.
DisposeOf.....................................................376 Animals3.................................................255
Div................................................................ 81p. AnonAjax...........................................460pp.
DLL...............................................................549 AnonButton.............................................454
Do...........................................................35, 266 AnonLargeStrings...................................456
DoCompare..................................................425 AnonymFirst...........................446, 449, 451
Dotted Unit Names........................................40 ArraysTest............................................133p.
Double......................................................35, 70 AutoRTTI................................................299
Downto.....................................................35, 95 BinaryFiles..............................................528
DupeString....................................................197 CaseTest....................................................93
Dynamic...............................................253, 307 CharsTest.........................................68p., 96
Dynamic Arrays....................................136, 139 CharTest...............................................183p.
Dynamic Binding.........................................248 ClassConstraint.......................................413
Dynamic Link Library..................................549 ClassCtor.................................................350
ClassHelperDemo...................................358
E ClassRef...........................................354, 356
ClassStatic.......................................346, 348
Early Binding...............................................248 ClicksCount.............................................224
Editor Colors..................................................32 CodePoints...............................................176
EDivByZero..................................................268 ControlHelper.........................................359
EExternalException......................................129 CountObj.................................................348
EInvalidCast.................................................259 CreateComps...................................226, 228
Elixir..............................................................110 CustomerDictionary................................427
Else............................................................35, 91 Date3....................................................229p.
Embarcadero Technologies...........4p., 542, 551 DateComp...............................................309
Empty............................................................ 187 DateComponent.......................................311
Encapsulation..............150, 220, 243, 286, 299 DateCompTest.........................................311
EncodeDate....................................................84 DateEvent........................................307, 311
End................................................................. 34 DatePackage.........................................310p.
EndOfStream...............................................528 DateProperties........................................292
EndsWith......................................................194 Dates1......................................................215
Enumerated Types.........................................76 Dates2.....................................................222
Enumeration.................................................311 Dates3......................................................231
EProgrammerNotFound..............................269 Dates4.....................................................233
Equals...................................................194, 508 DerivedDates...........................................241
Erich Gamma...............................................548 DynamicEvents.......................................304
Erik Van Bilsen.....................................275, 441 DynArray..............................................137p.
Erlang............................................................ 110 DynArrayConcat......................................139
Error Insight...................................................33 EncodingsTest........................................204
EurekaLog....................................................272 ErrorLog..................................................277
Event-Driven Programming........................300 ExceptFinally..........................................273

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 561

ExceptionFlow.........................................271 ReaderWriter...........................................527
ExceptionsTest........................................266 RecordMethods................................151, 153
ExpressionsTest........................................80 RecordsDemo..........................................143
FloatTest.................................................71p. RecordsTest......................................145, 147
FlowTest...........................................102, 113 ReintroduceTest......................................252
FormatString...........................................199 RttiAccess...............................................480
FormProperties.......................................290 RttiAttrib..............................................483p.
ForTest................................................96, 98 RttiIntro..................................................467
FunctionsTest..........................................107 SafeCode.................................388, 390, 393
FunctionTest................................106, 109p. ShowMemory..........................................382
GenericClassCtor.....................................411 ShowUnicode...........................................179
GenericCodeGen.....................................406 SmartPointers.........................................438
GenericInterface..................................432p. SmartPointersMR...................................438
GenericMethod.......................................405 StaticCallBack.........................................347
GenericTypeFunc................................409p. StringHelperTest.....................................195
HelloConsole.............................................20 StringListVsDictionary...........................430
HelloPlatform...........................................49 StringMetaTest.....................................201p.
HelloVisual................................................23 Strings101................................................187
IdentifiersTest...........................................28 TimeNow...................................................84
IfTest......................................................91p. TypeAliasHelper.....................................366
InliningTest.............................................122 TypeCompRules..............................401, 403
IntegersTest........................................64, 66 TypesList.........................................470, 474
InterceptBaseClass.................................488 VariablesTest.......................................55, 58
Intf101.............................................323, 325 VariantTest...........................................165p.
IntfConstraint.......................415, 417p., 433 VarProp...................................................295
IntfContraints.........................................432 ViewDate.................................234, 241, 292
IntfDemo......................................331p., 336 VisualInheritTest.....................................261
IntfError...............................................327p. WebFind.......................................458p., 461
IoFilesInFolder.......................................524 XmlPersist...............................................495
KeyValueClassic......................................398 Except..................................37, 266p., 269, 273
KeyValueGeneric....................................400 Exception...........................................281p., 351
LargeString......................................193, 456 Exception Handling.....................................265
LeakTest..................................................383 Exceptions....................................................388
ListDemoMd2005...........................421, 423 Exceptions Handling......................................37
LoopsTest..................................................99 Exceptions Hierarchy...................................268
NestedClass.............................................237 Exclude...........................................................79
NestedTypes............................................236 Exit.....................................................103, 112p.
NumbersEnumerator..............................312 Explicit.......................................................155p.
ObjFromIntf............................................338 Expression Context......................................446
OpenArray....................................140p., 143 Expressions.................................................79p.
OperatorsOver.................................156, 158 Extended........................................................70
OverloadTest.......................................117pp. Extended RTTI.............................................468
ParamsTest.........................................113pp. External Functions.......................................127
PointersTest.....................................168, 170
ProcType..................................................126 F
Protection............................................244p.
Fabrizio Schiavi................................................3

Marco Cantù, Object Pascal Handbook 10.4

562 - C: Index

False................................................................ 67 Function Pointer...........................................125
Fastcall..........................................................124
FastMM4..............................................382, 384 G
Fields Alignments.........................................147
File.................................................................. 35 Gang Of Four................................................548
File Access....................................................523 Garbage Collection................................217, 367
File System...................................................549 Generic Constraints......................................412
File Types......................................................171 Generic Containers.......................................421
Files.................................................................... Generic Dictionary.......................................426
Generic Methods..........................................404
DCU...........................................................43 Generic Type Declaration............................403
DFM.................................................297, 319 GetDirectories..............................................524
DPR.....................................................23, 45 GetEnumerator....................................98, 312p.
FMX.................................................297, 319 GetFiles.........................................................524
INC............................................................ 43 GetHashCode................................194, 491, 509
INI...........................................................532 GetMem........................................169, 370, 385
PAS......................................................23, 43 GetMemoryManagerState............................381
Final Methods...............................................257 GetMemoryMap...........................................381
Finalization.......................................34, 41, 350 GetMinimumBlockAlignment.....................383
Finally.......................37, 266, 272p., 373, 388p. GetNumericValue.........................................183
FindComponent...........................................522 GetPackages.................................................476
FindHInstance.............................................392 GetPropValue...............................................300
FindType......................................................470 GetType........................................................470
FireDAC..........................................................49 GetTypeKind................................................408
FireMonkey.............................21, 543, 547, 549 GetUnicodeCategory....................................183
Floating Point.................................................70 GetUserName...............................................128
FloatToDecimal..............................................86 GetWindowText...........................................385
FloatToStr......................................................86 Global Memory....................................368, 550
FMXLinux....................................................549 Global Variables.......................55, 60, 316, 368
For................................................35, 94pp., 311 Google...........................................................545
For-in.............................................................. 97 Goto..............................................................103
Form...........................................315p., 549, 556 Graphemes....................................................175
Format.....................................87, 141, 194, 198 GUI...............................................546, 548, 550
FormatDateTime....................................84, 167 GUID............................................323, 336, 432
FormatFloat...................................................87
Forms...........................................................290 H
FORTRAN....................................................540
Forward........................................................108 Halt............................................................... 103
Forward Declarations..................................108 Haskell..........................................................110
FPU.....................................................70, 548p. HasWeakRef................................................408
Free...............................217, 230, 243, 279, 374 Heap.............................................186, 370, 550
FreeAndNil...........................................219, 376 HFAAttribute................................................516
FreeInstance.................................................387 High...............................65, 133p., 137, 182, 192
FreeMem..............................................169, 385 HPPGENAttribute........................................516
Friend Classes...............................................221
From............................................................. 479
Function.........................................36, 106, 550

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 563

I Intrinsic Type Helpers.....................................4
IntToStr..........................................................87
IComparer....................................423, 425, 434 Invalid Typecast...........................................478
IDE. 20, 25, 117, 151, 260, 289, 298, 309p., 541, Invoke..........................................................480
IO................................................................. 209
551 IOS..................................................48, 543, 552
Identifiers....................................................28p. IOS,............................................................... 549
IDispatch.......................................................515 Is............................................258p., 336p., 390
IEqualityComparer......................................434 IsChecked........................................................91
If.............................................................35, 91p. IsControl.......................................................183
IfThen....................................................180, 197 IsDelimiter....................................................194
IInterface.........................322pp., 333, 336, 515 IsEmpty........................................................194
IInvokable.....................................................515 IsInArray......................................................183
Implementation.......................................34, 39 IsLetter...........................................................68
Implements...........................................333, 515 IsLetterOrDigit.............................................183
Implicit...............................155p., 159, 440, 478 IsLower.........................................................183
In...............................................................35, 78 IsManagedType...........................................408
Inc...................................................65, 182, 289 IsNullOrWhiteSpace.....................................194
Include......................................................43, 79 IsNumber................................................68, 183
Indentation.....................................................31 ISO Encodings..............................................174
Indexers........................................................294 IsPointerToObject........................................393
IndexOf.........................................................194 IsPunctuation.................................................68
IndexOfAny..................................................194 IsSurrogate...................................................183
Information Hiding......................................220 IsUpper.........................................................183
Inheritance............................239, 246, 252, 551 IsWhiteSpace................................................183
Inherited.................................36, 231, 253, 263 IUnknown.....................................................323
InheritsFrom.............................353, 391, 506p.
Initialization.....................................34, 41, 350 J
Inline.......................................................36, 121
Inline Variables........................................56, 95 Java. .3, 25, 29, 51, 54, 73, 81, 94, 106, 132, 153,
InnerException.................................280p., 283 214, 216, 226, 237, 243, 248, 257, 266, 286p.,
Insert.............................................139, 194, 530 297, 302, 321, 341, 542
InstanceSize...............................353, 413, 505p.
Int................................................................... 86 JavaScript 4, 25, 29, 51p., 54, 99, 106, 132, 148,
Int64............................................................... 62 164, 209, 226, 301, 446, 542
Integer......................................................35, 62
Integer Type Helper.......................................63 JclDebug.......................................................272
InterestPayment.............................................72 John Thomas....................................................6
Interface.............................................34, 36, 39 Join............................................................... 194
Interface Constraints....................................415 JSON............................................................532
Interface Delegation.....................................332
Interface ID..................................................432 K
Interface Properties......................................331
Interfaces............................321p., 326, 339, 551 Key-value Pair..............................................398
Internet Of Things........................................533 Keywords........................................................33
Interposer Class...................................340, 357
Intrinsic Record Helpers................................64 L

Label............................................................. 234

Marco Cantù, Object Pascal Handbook 10.4

564 - C: Index

Language Keywords.......................................33 Methods.........................................150, 215, 552
LargeInt..........................................................63 Methods Aliases...........................................334
LastIndexOf..................................................194 Microsoft...............................................541, 556
Late Binding.................................................248 MobilePreview................................................23
Lazy Initialization................................374, 428 Mod................................................................. 81
Leak Detection..............................................381 Modula-2......................................................541
Length....................................................137, 187 MomentSkewKurtosis....................................72
Library............................................................ 34 Monitor Synchronization.............................514
Library Path...................................................43 More On Weak References...........................377
Lifetime..........................................................60 Move.............................................................. 515
Lifetime Of Local Variables.........................448 Multi-Dimensional Static Arrays.................134
LIFO............................................................. 369 Multiple Inheritance.....................................321
Linux......................................................49, 549 Multiplicative Operators................................81
ListBox.........................................................422
ListView................................................179, 429 N
Literal Values.................................................53
Literals..........................................................184 Name.....................................................315, 522
Little Endian................................................204 Named Constructors....................................229
LLVM............................................................543 Named Types..................................................73
Loaded..........................................................523 Namespaces....................................................44
LoadFromFile...............................................531 NativeInt........................................................63
Local Variables...............................................60 NativeUInt....................................................169
Loops.....................................................97, 99p. Nested Exceptions.......................................280
Low................................65, 133p., 137, 182, 192 Nested Types................................................236
LowerCase....................................................194 NeverSleepOnMMThreadContention.........383
Lua............................................................... 209 New............................................................... 169
Lvalue............................................................. 54 NewInstance.................................................387
Nick Hodges.................................................320
M Nicklaus Wirth........................................89, 541
Niklaus Wirth...............................................540
MacOS..............................................48, 70, 549 Nil............................................37, 166, 218, 375
MadExcept....................................................272 Not.................................................................. 81
Malcolm Groves...........................................484 Notification..................................................426
Malloc...........................................................387 Now................................................................ 84
Marco Cantu.....................................................6 NULL............................................................166
Mastering Delphi..............................................6 Null Statement...............................................90
Max............................................................... 122 NumberBox....................................................93
MeanAndStdDev............................................72 Numeric Types...............................................62
MediaPlayer.................................................250
Memo.............................................................. 22 O
Memory Leak................................................217
Message Handlers........................................254 Object.....................................................36, 552
MessageDlg..................................................109 Object Inspector..................304, 306, 308, 310
Metaclasses..................................................353 Object Reference Model........................216, 371
Method..........................................................111 Object-oriented Programming.............209, 211
Method Chaining.........................................530 Objective-C................................25, 81, 153, 164
Method Pointers...........................................301 Objects...................................................212, 215

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 565

Objects As Parameters..................................371 Pointers.................................................168, 553
Odd................................................................. 65 Polymorphism......................246, 248, 336, 553
Of.................................................................... 35 Polytechnic Of Zurich..................................540
Of Object..............................................302, 306 Position.........................................................525
Ointers..........................................................148 Precedence.....................................................80
On................................................................. 266 Pred................................................................ 65
OnChange.....................................................355 Pretty-printing...............................................24
OnClick..............................303p., 306, 315, 455 Private..............................36, 152, 219, 221, 244
OnCreate...............................................179, 347 Procedural Types..........................................125
OnException.........................................270, 277 Procedure.......................................36, 106, 553
OnMouseDown.............................................355 Program..........................................................34
OOP............................................................ 551p. Program File...................................................45
Open Array Parameters................................139 Project Manager.....................................45, 310
Open-closed Principle..........................239, 357 Project Options..............................45p., 76, 553
Operator Overloading...................................155 Properties.....................286, 305, 319, 348, 553
Operators...............................................37, 79p. Properties By Reference...............................295
Or.................................................................... 81 Property..........................................................37
Ord....................................................65, 86, 182 Protected..................................36, 219p., 243p.
Ordinal Type.................................................552 Protected Hack.............................................244
Ordinal Types.................................................62 Public...........................................36, 219p., 298
Out................................................................. 115 Published..........................36, 296pp., 465, 520
Out-Of-Range.................................................66 Python...........................................................164
Overflow Checking.........................................67
Overload..........................................36, 116, 309 Q
Overloaded Methods....................................231
Overloading..................................................550 QualifiedClassName....................................506
Override...............................36, 231, 249p., 309 QueryInterface.............................................336
Owner....................................................373, 521 QuotedString................................................195
Ownership.....................................................521 Quotes.........................................................53p.

P R

Package...........................................................34 RAD.............................................................. 553
PadLeft..........................................................194 RAD And OOP..............................................314
Parallel Programming Library.............459, 533 RAD Studio.......................................................4
ParamCount..................................................515 Raise................................................37, 266, 271
Parameters.....................................................111 RaiseOuterException....................................281
Parametric Type...........................................399 Random.........................................................515
ParamStr.......................................................515 Randomize....................................................515
Parent...................................................227, 355 Range Check Error.........................................76
ParentClass...................................................353 Range Checking............................................133
Parse.......................................................65, 194 RawByteString.............................................208
Pascal.................................................124, 539p. Read.....................................37, 286, 525, 527p.
Peter Wood...................................................3, 5 Read-only Property......................................287
PHP.......................................................164, 542 Readers.........................................................527
Piacenza............................................................ 2 Real...........................................................35, 70
Pierre La Riche.............................................382 Rebol......................................................80, 209

Marco Cantù, Object Pascal Handbook 10.4

566 - C: Index

Record.....................................................35, 553 Screen............................................................ 317
Record Helper..............................................364 SDK............................................................... 555
Record Helpers............................................363 Sealed.............................................................36
Record Type..................................................143 Sealed Classes...............................................257
Records Vs. Classes......................................219 Search Options...............................................77
Records With Methods.................................150 Search Path.............................................43, 555
Recursion..............................................109, 554 Self...................152p., 225p., 301, 317, 345, 375
RefAttribute..................................................516 Semicolon.......................................................90
Reference......................................................554 Sender..................................................305, 455
Reference Counting......................................326 Set.............................................................35, 77
Reference Parameters...................................113 Set Operators..................................................78
Reference Types...........................................453 SetLength......................................................136
Reference-counting......................................187 SetMinimumBlockAlignment......................383
Reflection......................................297, 465, 554 SetTimer.......................................................347
Register...........................................29, 124, 309 Shared Object...............................................549
RegisterClasses............................................320 Shl................................................................... 81
RegisterComponents....................................310 ShortCut Key......................................................
RegisterExpectedMemoryLeak....................383
Reintroduce..................................252, 309, 316 Ctrl+/.........................................................25
Relational Operators......................................81 Ctrl+C......................................................213
Remove.................................................194, 530 Ctrl+D.......................................................25
Repeat.......................................................35, 99 Ctrl+Shift+C.................................151, 290p.
Replace..........................................194, 196, 530 Ctrl+Shift+C...........................................289
ReportMemoryLeaksOnShutdown..............383 Ctrl+Shift+G...........................................323
Repository On GitHub.....................................5 Ctrl+Shift+L..............................................60
ResemblesText..............................................197 Ctrl+Shift+Up..........................................151
RestoreCursor Example...............................274 ShortInt..........................................................62
Result.....................................................106, 112 ShortString..........................................200, 207
Return Type..................................................106 ShowMemory...............................................382
Return Values................................................111 ShowMessage.................................................23
Reverse For.....................................................95 Shr................................................................... 81
ReverseString................................................197 Single........................................................35, 70
Robust Applications.....................................387 Singleton Pattern..................................327, 351
Round..........................................................86p. Singly-rooted Class Hierarchy.....................504
RTTI........................296, 298pp., 319, 466, 554 Size.........................................................64, 525
RTTI Classes.................................................472 SizeOf..............................65, 144, 147, 408, 413
Ruby.......................................................80, 164 Slice............................................................... 141
Rudy Velthuis.................................................72 SLineBreak...........................................514, 530
Run Time Type Information........................466 SmallInt..........................................................62
Run-Time Library........................................554 Smalltalk...............................................164, 212
Rvalue............................................................. 54 Smart Pointers.............................................435
Sort............................................................... 423
S Source Code......................................................5
Split...............................................................195
SaveToFile....................................................531 Square Brackets....................................190, 481
Scope..............................................................43 Stack..............................................271, 369, 555
Scoped Enumerators......................................76 Stack Overflow.............................................109

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 567

Standard Template Library..........................421 TClass...........................................................354
StartsWith.....................................................194 TCollection....................................................518
Statements.....................................................89 TComparer...........................................423, 425
Static Arrays.................................................132 TComponent......................309, 316, 327, 519p.
Static Class Methods....................................346 TContainedObject.........................................515
Stdcall...........................................................124 TCustomAttribute................................482, 516
Steve Tendon................................................397 TDataModule................................................519
StoredAttribute.............................................516 TDate.............................................................. 83
Streaming.....................................................522 TDateTime..........................83, 85, 87, 222, 514
Streams.........................................................525 TDictionary...........................................421, 430
Strict............................................................... 37 TDirectory....................................................523
Strict Private................................................220 TEdit.....................................................320, 355
Strict Protected............................................220 Template Classes..........................................397
String......................................................35, 186 TEncoding.........................................203p., 208
String Concatenation....................................187 TextFile..........................................................171
String Helper................................................194 TFile.............................................................. 523
String Lists...................................................529 TFileStream..................................................526
StringRefCount.............................................201 TFilterPredicate...........................................524
StrToDateTime...............................................84 TForm..........................................................260
StrToFloat......................................................86 TFormatSettings............................................85
Structure Of A Program.................................38 TFunc...........................................................453
Subclassing..................................................240 TGUID..................................................360, 514
Subrange.........................................................75 THandle........................................................514
SubString......................................................194 The Delphi Magazine............................315, 340
Succ................................................................ 65 THeapStatus.................................................514
Support.........................................................336 Then................................................................ 35
Swift.............................................................. 251 This............................................................... 153
Switch............................................................. 94 Threads Synchronization.............................457
Synchronize..................................................458 Throw...........................................................266
Syntax............................................................. 24 Time............................................................83p.
Syntax Highlighting.......................................32 Timer.............................................................. 85
TInterfacedObject....................324pp., 333, 515
T TInterfaceList...............................................518
TList......................................388, 390, 421, 518
TabControl....................................................179 TMemoryManagerEx....................................514
Table Of Contents.............................................7 TMemoryStream..........................................526
Tag........................................................390, 522 TMethod...............................................302, 514
TAggregatedObject...............................332, 515 TMonitor.......................................................514
TBasicAction.................................................519 To.................................................................... 35
TBinaryReader.............................................528 TObject. 217, 229, 243, 253, 259, 278, 322, 353,
TBinaryWriter..............................................528
TBits.............................................................. 518 374, 503p.
TBufferedFileStream....................................526 TObjectDictionary................................421, 426
TButton........................................355, 384, 422 TObjectList.................................391, 421p., 426
TBytesStream...............................................526 TObjectQueue.......................................421, 426
TCharacter....................................................182 TObjectStack........................................421, 426
TCharHelper.................................................182 ToCharArray.................................................194

Marco Cantù, Object Pascal Handbook 10.4

568 - C: Index

ToInteger......................................................194 Type Compatibility.......................................246
ToLower..........................................68, 183, 194 Type Compatibility Rules.............................403
Tools Palette.................................................310 Type Derivation...........................................240
ToString.............................64, 67, 87, 282, 508 Type Inference................................................57
ToUpper.......................................68p., 183, 194 Type Name Equivalence.................................74
TPath....................................................523, 525 Type Promotions..........................................159
TPersistent........................298p., 372, 518, 520 Type-Variant Open Array Parameters..........141
TProc............................................................ 453 Typecasting....................................................85
TQueue.........................................................421 TypeInfo.......................................................408
TResourceStream.........................................526 TypeScript.....................................................211
Trial Version.....................................................5
Trim.............................................................. 194 U
TRttiContext.................................470, 473, 476
TRttiObject...................................................472 UCS4Char........................................70, 177, 182
TRttiType......................................................471 UCS4String...................................................207
True................................................................ 67 UInt64............................................................62
Trunc.............................................................. 86 UIntPtr......................................................168p.
Try................................................37, 266, 272p. Unary Operators.............................................81
TryParse.........................................................65 Unicode............29, 53, 68p., 174, 179, 203, 555
TSingletonImplementation..............326p., 434 Unicode Transformation Formats................177
TStack...........................................................421 Unit...........................................................34, 38
TStopWatch..................................................122
TStream.................................................519, 525 Generics.Collections........................421, 426
TStreamReader.........................................527p. Generics.Defaults....................326, 423, 434
TStreamWriter.............................................527 System...................63, 83, 166, 171, 503, 513
TStringBuilder...................................192, 529p. System.Actions........................................531
TStringList............................372, 430, 519, 531 System.AnsiStrings.................................531
TStringReader..............................................527 System.Character.................68, 70, 182, 531
TStrings.........................................294, 519, 531 System.Classes.........................518, 527, 531
TStringStream..............................................526 System.Contnrs...............................421, 532
TStringWriter...............................................527 System.ConvUtils....................................532
TTextLineBreakStyle....................................514 System.DateUtils..............................83, 532
TTextWriter..................................................495 System.Devices.......................................532
TThread................................................458, 519 System.Diagnostics.........................122, 532
TTime............................................................. 83 System.Hash...........................................532
TUnicodeBreak.............................................182 System.ImageList....................................532
TUnicodeCategory........................................182 System.IniFiles........................................532
Turbo Pascal......................................540p., 551 System.IOUtils...................77, 523, 525, 532
TValue...................................................477, 479 System.JSON..........................................532
TVarData...............................................142, 166 System.Math.......................72, 116, 122, 532
TVarRec........................................................142 System.Messaging...................................532
TVirtualMethodInterceptor.........................487 System.NetEncoding...............................532
TVisibilityClasses..................................468, 514 System.RegularExpressions...................532
Type................................................................ 35 System.Rtti......................................470, 532
Type Aliases..................................................365 System.StrUtils.........................181, 197, 532
Type Cast Operators.....................................258 System.SyncObjs.....................................532
System.SysUtils..83, 85, 181, 197, 203, 268,
351, 364, 453, 533

Marco Cantù, Object Pascal Handbook 10.4

C: Index - 569

System.Threading...................................533 W
System.Types..........................................533
System.TypInfo..............299, 409, 470, 533 Weak References..................................328, 379
System.Variants......................................533 WeakAttribute..............................................516
System.Zip...............................................533 While.....................................................35, 99p.
Winapi.Windows.....................................127 White Space...................................................30
Unit Name......................................................39 WideChar..................................................67, 70
Unit Scope Names..........................................40 WideString...................................................207
UnitName.....................................................506 Windows.................................48, 545, 549, 556
Unnamed Types..............................................73 Windows API................................127, 254, 346
Unsafe..........................................................380 With.....................................................36, 148p.
Unsafe References........................................328 WM_USER...................................................254
UnsafeAttribute............................................516 Word............................................................... 62
Until................................................................ 35 Write....................................37, 286, 525, 527p.
UpCase..........................................................183 Writers..........................................................527
UpperCase..............................................29, 194
User-Defined Data Types...............................72 X
Uses....................................................34, 42, 45
UTF-16..................................................177, 203 XML Doc........................................................26
UTF-32..........................................................177 XML Streaming............................................495
UTF-8........................................177p., 203, 205 Xor.................................................................. 81
UTF32Char...................................................207
UTF8String...............................................206p. _

V _AddRef....................................................325p.
_Release....................................................325p.
Var.....................................................35, 52, 114
Variables.........................................................52 :
Variant..........................................................142
Variant Records............................................146 :=..................................................................... 54
Variants...................................................164pp.
VCL.......................................................547, 556 @
Virtual.........................................36, 249p., 253
Virtual Class Methods..................................345 @..................................................................... 81
Virtual Method Table...................................253
Virtual Methods...........................................556 #
Virtual Methods Interceptors......................486
Visibility...................................................43, 60 #.................................................................... 184
Visual Basic..................................................148
Visual Component Library.............................21 =
Visual Form Inheritance..............................260
VmtInstanceSize..........................................393 =...................................................................... 54
VmtSelfPtr....................................................392 ==................................................................... 54
VolatileAttribute...........................................516
VType............................................................ 166 $

$IF.................................................................. 46

Marco Cantù, Object Pascal Handbook 10.4

570 - C: Index €.............................................................175, 184



Marco Cantù, Object Pascal Handbook 10.4


Click to View FlipBook Version