العربية (ar) │
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
magyar (hu) │
Bahasa Indonesia (id) │
italiano (it) │
日本語 (ja) │
한국어 (ko) │
Nederlands (nl) │
português (pt) │
русский (ru) │
slovenčina (sk) │
Türkçe (tr) │
中文（中国大陆） (zh_CN) │
中文（台灣） (zh_TW) │
Lazarus and Pascal Tutorials
- Overview of Free Pascal and Lazarus - A brief discussion of kinds of things you can develop with these general-purpose tools.
- Lazarus Tutorial - A tutorial for beginners and a detailed description of the Lazarus IDE.
- Lazarus IDE Tools - An intermediate level tutorial about code completion and other IDE tools.
- Lazarus Database Tutorial - An introduction to using Lazarus with databases.
- Developing with Graphics - Some basic examples on graphic programming.
- Pascal Tutorial - Tao Yue's Pascal Tutorial (reposted with permission).
- TXMLPropStorage - Using TXMLPropStorage to save user preferences.
- Executing External Programs - A short tutorial showing how to run external programs from inside your program.
- Hardware Access - How to access hardware devices, such as ISA cards, PCI cards, parallel and serial ports and USB devices.
- Networking - Tutorials about XML, TCP/IP protocol, creating secure network programs, WebServices, etc.
- Multithreaded Application Tutorial - How to write multithreaded applications using Free Pascal and Lazarus
- Streaming components - How to write components to streams and read/create components from streams
- Adventures of a Newbie - A blog of a newbie getting started with some tutorial information in a running log.
The Lazarus User Guides
- Installing Lazarus - An installation guide (please add to it!)
- Lazarus For Delphi Users - For Delphi users who are getting started with Lazarus
- Lazarus Faq - General information about Lazarus and specifics for Linux and Windows users.
- Lazarus DB Faq - FAQ on database issues in Lazarus.
- Code Examples - Example working code for Lazarus.
- LCL documentation - On line help for LCL (work in progress).
- File size and smartlinking - How to smartlink applications and create smaller executables.
- Wishlist/Wanted Features - Features that you would like to see in Lazarus
- Accessing the Interfaces directly - Example how to access the LCL widgetsets
- Deploying Your Application - How to create an installer for your application
- Add Help to Your Application - How to create a Online Help for your application
- The Power of Proper Planning and Practices - common-sense programming best practices for the Free Pascal and Lazarus developer
- Multiplatform Programming Guide - How to develop cross-platform applications and how to port from one platform to another
- Main Loop Hooks - How to handle multiple event sources
- Asynchronous Calls - How to queue methods for later execution
- IDE tricks - Useful features
The Lazarus Developer Guides
- How To Help Developing Lazarus - A guide to help newbies start improving Lazarus
- Version Numbering - Explanation of the different version numbers of Lazarus
- Creating a Patch - A guide to making a patch with changes made to Lazarus
- Creating a Backtrace with GDB - A guide to making a backtrace to help you debug a program
- Nomenclature - Guide to choose a name for a new method or property
- Design Guide Lines - A guide about how to procede when changing Lazarus Source Code.
- GUI design - Notes on guidelines when designing the lazarus GUI
- Road To 1.0 - What needs to be done for Lazarus 1.0
- Moderating the bug tracker - Guidelines for lazarus developers and moderators for using the bug tracker.
- Codetools - How the codetools are integrated into the IDE
- Bounties - Need a particular new feature soon? Set a price here.
LCL - Lazarus component library
- LCL Messages - Guide related to LCL Messages
- LCL Internals - Some info about the inner workings of the LCL
- LCL Key Handling - Help! A key press, what now?
- LCL Unicode Support - Road to Unicode enabled win32 interface
- LCL Documentation Roadmap - Which units have to be documented
- Lazarus Documentation Editor - Using "lazde" to create documentation
- LazDoc - An integrated editor for documentation files
- Carbon Interface - The Carbon Interface for Mac OS X
- Qt Interface - The Qt 4 Interface for Unixes, Mac OS X and linux-based PDAs
- Windows CE Interface - For Pocket PC and Smartphones
- Getting translation strings right A few notes for programmers on how to create and use translateable strings in your application. Quickly discusses general things about creating strings, offers a few hints on implementation issues and points out some things to consider when using English as base language in particular.
- Localization Notes:
- Add language bar explains how you can add a list of translations to the top of a wiki page.
Code Conversion Guides
- Code Conversion Guide - How to convert existing code and components from Delphi and Kylix
- Getting Lazarus - Instructions on how to download a released or SVN version of Lazarus
- Lazarus IDE - The IDE windows
- Lazarus Packages - A guide for creating a package under Lazarus
- Install Packages - A small guide to install packages
- Cross compiling - Creating executables of one platform, on another.
- Remote Debugging - How to debug your Lazarus application from another machine.
- Extending the IDE - How to add functionality to the Lazarus IDE
- Creating IDE Help - How to extend the IDE documentation
- Lazarus IDE ToDo List - Remaining tasks for the IDE
- Anchor Sides - Description of Anchor Sides Feature
Additional Components Documentation
- Pascal Script and Pascal Script Examples - How to use the pascal script components in Lazarus
- OpenGL - How to use OpenGL in Lazarus
Free Pascal Compiler Documentation
In addition to this site, the latest version of the documentation can also be found online and in a variety of downloadable formats on the main Free Pascal Compiler site. There is now also a WiKi site for FreePascal  very similar in style to this one, to allow developers to submit documentation in addition to the official FPC documents below.