Lessons
Pascal · Medium
Pascal · Medium. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
Procedural types and method pointers
Store routines in variables: function types, method pointers (of object), and callbacks.

Lesson 2
Properties
Declare properties with read/write fields or accessor methods, indexed and default array properties.

Lesson 3
Interfaces
Declare interfaces, implement several on one class, query with Supports and as, and rely on reference counting.

Lesson 4
Advanced records
Records with methods, constructors, properties, and visibility using {$modeswitch advancedrecords}.

Lesson 5
Operator overloading
Overload arithmetic, comparison, and conversion operators as class operators on records.

Lesson 6
Class and type helpers
Extend existing classes and built-in types with helper methods without subclassing.

Lesson 7
Generics.Collections
TList<T>, TDictionary<K,V>, sorting with comparers, and iterating pairs.

Lesson 8
Custom enumerators
Make your own types work with for-in by providing GetEnumerator, MoveNext, and Current.

Lesson 9
Streams
TMemoryStream, TFileStream, TStringStream: write, seek, read, and copy binary data.

Lesson 10
Formatting and string utilities
Format specifiers, StringReplace, Trim, Pos/PosEx, IntToHex, and parsing with TryStrToInt.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.