Learning Object Pascal
Welcome to the Object Pascal learning resources page! Below you’ll find a curated collection of resources for learning Object Pascal across different implementations.
Getting Started
Free Pascal
- Free Pascal Reference Guide - Detailed language reference
- Free Pascal User’s Guide - Getting started with the compiler
- Free Pascal Programmer’s Guide - Comprehensive programming guide
- Free Pascal Units Reference - Standard library documentation
- Free Pascal Documentation - Official documentation
- Free Pascal Wiki - Community-maintained knowledge base
- Learn Pascal in Y Minutes - Quick syntax reference
Delphi
- Delphi Documentation - Official Embarcadero documentation
- Learn Delphi - Free video tutorials for beginners
- Delphi Basics - Simple, clear tutorials
PascalABC.NET
- PascalABC.NET Official Site - Official website with downloads and docs
- PascalABC.NET Wiki - Documentation and examples
- PascalABC.NET on GitHub - Source code and issues
Tutorials and Cookbooks
- Free Pascal and Lazarus - A textbook on programming by Alekseev E.R., Chesnokova O.V., Kucher T.V, 2021.
- Introduction to the Lazarus IDE by Lazar Hristov, 2024.
- Laz Planet Tutorials
- Tao Yue’s Pascal Tutorial
- Pascal Programming - Comprehensive tutorial at TutorialsPoint
- Free Pascal Cookbook - Practical examples and recipes
Video Tutorials
Udemy Courses
- Learn Pascal Programming from Scratch by Stone River eLearning. Last updated 02/2017.
- Learn To Program with Delphi and Object Pascal by Huw Collingbourne. Last updated 02/2023.
- Learn Algorithms with Object Pascal/Delphi 2022 by Muminjon Abduraimov. Last updated 01/2023.
Swinbourne University of Technology
Published 2015. Last updated 2021.
- 0.1 Introduction to programming in FPC
- 0.2 Installing FPC in Linux
- 0.3 Installing FPC in macOS
- 0.4 Installing FPC in Windows
- 1.1 Programs and sequence
- 1.2 Programs and Procedures
- 2.1 Variables
- 2.2 Procedures with parameters
- 2.3 Functions
- 2.4 Hand execution
- 3.1 Control flow
- 3.2 If statements
- 3.3 Looping
- 3.4 Case statements
- 3.5 Modules
- 3.6 File I/O
- 4.1 Records
- 4.2 Enumerations
- 4.3 Pointers
- 4.4 Function Pointers
- 5.1 Arrays
- 5.2 Dynamic arrays
- 6.1 Abstraction
Tim Coates
Last updated Aug 2025.
Hello World Computing
Last updated on 30 May 2014.
- Part 1 - Getting to know Pascal
- Part 2 - Hello, World!
- Part 3 - Input / Output
- Part 4 - Variables and their roles
- Part 5 - Simple Mathematics
- Part 6 - Simple Calculator
SchoolFreeware
Last updated on 2 Jul 2014.
- 1 - Getting Started - Lazarus Download Link
- 2 - Math Examples
- 3 - Variables and Data Types
- 4 - User Input
- 5 - If Statements
- 6 - Case Statement
- 7 - While Loop
- 8 - Repeat Until Loop
- 9 - For Loop
- 10 - Input Validation
- 11 - Preventing Crashes With Val
- 12 - Menus For User Friendly Programs
- 13 - Random Numbers Code Example
- 14 - Guess My Number Game
- 15 - Procedures
- 16 - Passing Values To Procedures
- 17 - Function Examples
- 18 - Arrays
- 19 - Gotoxy Screen Location
- 20 - Parallel Arrays
- 21 - 2 Dimensional Arrays - Matrix
- 22 - Finding The Highest And Lowest Array Element
- 23 - Preventing Duplicate Data In Arrays
- 24 - String Manipulation
- 25 - Palindrome Strings
- 26 - Separating Strings With ASCII Codes
- 27 - Separating Strings With Ranges
- 28 - Running External Programs - IE Batch MS Paint
- 29 - On The Record
- 30 - Array Of Record
- 31 - Making And Writing To Text Files
- 32 - Reading Text Files
Free Pascal App Tutorial
- App Tutorial 1 - Getting Started And Free Download Link
- App Tutorial 2 - Shrinking The Application File Size
- App Tutorial 3 - Events Example Code
- App Tutorial 4 - The Meaning Of Life Explained
- App Tutorial 5 - Simple Calculator Part 1 - Form Setup
- App Tutorial 6 - Simple Calculator Part 2 - String Conversion
- App Tutorial 7 - Simple Calculator Part 3 - Radio Buttons
- App Tutorial 8 - Simple Calculator Part 4 - Try Except Error Handling
- App Tutorial 9 - Simple Calculator Part 5 - Tabs - Finished Application
- App Tutorial 10 - Playing Wav Sound Files On Windows computers
- App Tutorial 11 - Playing Wav Sound Files On Mac computers
- App Tutorial 12 - System Timer Bouncing Ball Animation - Shapes
- App Tutorial 13 - Bouncing Balls Animation - Parallel Arrays
- App Tutorial 14 - OnPaint Drawing
Marcus Fernström
Last updated 2022.
- Install FreePascal, Lazarus, Packages, Cross Compilers, and OPM the EASY way
- Lazarus build modes, cross compiling, and testing the app in a Linux virtual machine
- Create REST APIs in FreePascal & Lazarus
- Generate JSON Data in FreePascal / Lazarus
- Create REST APIs in FreePascal & Lazarus (with zoom)
- Learn how to consume JSON data in FreePascal
- MySQL and FreePascal
Books
Free Books
- Free Pascal From Square One by Jeff Duntemann
- Modern Object Pascal Introduction - Comprehensive modern Pascal guide
- Object Pascal Handbook - Free online book by Marco Cantù
- Essential Pascal - By Marco Cantù
- Pascal Programming - Wikibook
Development Environments
- Lazarus IDE - Free cross-platform IDE for Free Pascal
- Delphi Community Edition - Free version of Delphi
- PascalABC.NET IDE - Lightweight IDE for PascalABC.NET
- VS Code with Pascal Extension - Lightweight Pascal support in VS Code
Online Compilers
- OnlineGDB Pascal - Free online Pascal compiler
- JDoodle Free Pascal - Online Free Pascal environment
- Rextester - Online Pascal compiler and executor
- FPC Playground - Compile nd run Free Pascal code in your browser
News & Blogs
- Tim Coates Blog - Blogs on coding in Delphi and Free Pascal
- DelphiFeeds - Aggregator of Delphi-related blogs
- Marco Cantù’s Blog - Updates from Pascal expert
Contributing
Found a great resource that’s not listed here? Please submit a pull request to add it!