The course is divided into three modules with chapters covering setup, fundamental programming, VCL/FMX frameworks, database connectivity, and advanced techniques.
Module 1: Basic Setup and Object Pascal Fundamentals
| Chapter | Topic | Description |
| D1.1 | Introduction & Tools | Installing the Delphi Community Edition IDE and setting up the local environment. |
| D1.2 | Project Structure & Units | Understanding .dpr files, .pas units, and the concept of modules. |
| D1.3 | Basic Syntax & Data Types | Variables, constants, fundamental types (Integer, Real, String, Boolean). |
| D1.4 | Control Flow & Loops | if..then..else, case statements, for, while, and repeat loops. |
| D1.5 | Procedures & Functions | Defining subroutines, parameters (by value, reference), and return types. |
| D1.6 | Records & Enumerations | Defining structured data (structs) and custom type lists. |
| D1.7 | Object-Oriented Programming (OOP) I | Classes, objects, properties, fields, and constructors. |
Module 2: Intermediate GUI, VCL, and Data
| Chapter | Topic | Description |
| D2.1 | The VCL/FMX Framework | Understanding the Visual Component Library (VCL) and FireMonkey (FMX). |
| D2.2 | Form Design & Events | Creating the user interface, object inspector, and event handlers. |
| D2.3 | Common Components | TButton, TEdit, TLabel, TMemo, and using the Component Palette. |
| D2.4 | User Input & Validation | Handling input, masking, and using message dialogs. |
| D2.5 | Collections & Dynamic Arrays | Using TList, TStringList, and managing dynamic lists of data. |
| D2.6 | File I/O and Streams | Reading/writing text files and binary data using TStream objects. |
| D2.7 | Basic Database Access | Introduction to FireDAC components (TFDConnection, TFDQuery, TDataSource). |
Module 3: Advanced Topics and Modern Delphi
| Chapter | Topic | Description |
| D3.1 | Object-Oriented Programming (OOP) II | Inheritance, polymorphism, virtual/abstract methods, and interfaces. |
| D3.2 | Generics and Anonymous Methods | Writing flexible code with generics and using inline functions. |
| D3.3 | Memory Management & Pointers | ARC (Automatic Reference Counting) in modern Delphi and manual pointers (if needed). |
| D3.4 | Threading & Parallel Programming | Using the TThread class and the Parallel Programming Library (PPL). |
| D3.5 | Creating Custom Components | Designing and registering your own reusable VCL or FMX components. |
| D3.6 | Dynamic Link Libraries (DLLs) | Creating and consuming DLLs for modularity and external functions. |
| D3.7 | REST & Web Services | Consuming external JSON/REST APIs using TNetHttpClient. |
