Difference between revisions of "Lazarus Documentation"

From Lazarus wiki
(Blanked the page)
(Undo revision 61520 by Vd6 (talk))
Line 1: Line 1:
 +
{{Lazarus Documentation}}
  
 +
==Lazarus and Pascal Tutorials==
 +
 +
*[[Object Pascal Tutorial]]
 +
*[[More Lazarus/FPC Tutorials]] - These are only the main tutorials. This other page shows more Lazarus/FPC tutorials.
 +
*There are also other tutorials not hosted here in [[Lazarus Documentation#Lazarus related blogs, websites, videos, magazines and books]].
 +
*[[:Category:Tutorials|Assorted Tutorials]] - Collection of tutorials with difficulty ranging from beginner to expert level
 +
*[http://www.schoolfreeware.com/Free_Pascal_Tutorials.html SchoolFreeware's FreePascal Tutorials] - From command line interface (CLI) to graphical user interface (GUI) using Lazarus IDE
 +
 +
=== Lazarus/FPC ===
 +
*[[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.
 +
*[[Developing with Graphics]] - Examples on 2D & 3D graphic programming.
 +
*[[OpenGL Tutorial]] - How to use OpenGL in Lazarus applications.
 +
*[[Multimedia Programming]] - How to play videos and sounds.
 +
*[[Office Automation]] - How to interact with office software and create spreadsheets, text documents, presentations, etc.
 +
*[[Lazarus/FPC Libraries]] - How to create dynamic libraries (.so, .dll, .dylib) and how to use them
 +
*[[Creating bindings for C libraries]] - How to convert C header files (.h) to pascal units
 +
*[[Console Mode Pascal]] - Using the Lazarus IDE for writing Pascal programs for text-mode operation.
 +
*[[Lazarus Inline Assembler]] - A getting started guide.
 +
*[[Databases]] - An introduction to using databases in Lazarus and links to other database articles.
 +
*[[SQLdb Tutorial1]] - A tutorial that teaches you to get up and running with Lazarus visual components and databases
 +
*[[SqlDBHowto]] - Explanations and code for various aspects of using SQLdb for reading and manipulating data in relational databases
 +
*[[Lazarus Database Tutorial]] - A tutorial which has some more background information on how to connect to popular databases, for example MySQL, Firebird, Postgres, etc.
 +
*[[Working With TSQLQuery]] - An in depth description of using TSQLQuery, having details about using parameters in queries and non-SELECT-queries
 +
*[[Translations / i18n / localizations for programs]] - How to provide localized versions of your programs and packages
 +
*[[Daemons and Services]] - How to write windows services and/or linux daemons.
 +
*[[VirtualTreeview Example for Lazarus]] - Using VirtualTreeview on Lazarus.
 +
 +
=== Hardware, Threads and Processes ===
 +
*[[Using the printer]] - Printer support in Lazarus
 +
*[[Hardware Access]] - How to access hardware devices, such as ISA cards, PCI cards, parallel and serial ports and USB devices.
 +
*[[Multithreaded Application Tutorial]] - How to write multithreaded applications using Free Pascal and Lazarus.
 +
*[[Executing External Programs]] - A short tutorial showing how to run external programs from inside your program.
 +
*[[LazDeviceAPIs]] - A LCL unit which offers an interface to various hardware devices such as the Accelerometer, SMS sending, GPS positioning, etc.
 +
 +
=== Files===
 +
*[[File Handling In Pascal]] - Basic explanations on the use of files, for beginners in pascal.
 +
*[[TXMLPropStorage]] - Using TXMLPropStorage to save user preferences.
 +
*[[XML Tutorial]] - Writing and reading XML files.
 +
*[[Using INI Files]] - How to work with INI files in pascal.
 +
 +
=== Web ===
 +
*[[Webbrowser]] - Webbrowser controls
 +
*[[Networking|Web Programming and Networking]] - Tutorials about TCP/IP protocol, WebServices and links to web development articles.
 +
 +
===Platform specific Tips===
 +
*[[Windows Programming Tips]] - Desktop Windows programming tips.
 +
*[[Linux Programming Tips]] - Linux programming tips.
 +
*[[OS X Programming Tips]] - Lazarus installation, useful tools, Unix commands, and more...
 +
*[[WinCE Programming Tips]] - Using the telephone API, sending SMSes, and more...
 +
*[[Android Programming]] - For Android smartphones and tablets
 +
*[[iPhone/iPod development]] - About using Objective Pascal to develop iOS applications
 +
 +
==The Lazarus User Guides==
 +
*[[Lazarus Faq]] - General information about Lazarus and specifics for Linux and Windows users.
 +
*[[Lazarus DB Faq]] - FAQ on database issues in Lazarus.
 +
*[[Feature Ideas|Wishlist/Wanted Features]] - Features that you would like to see in Lazarus
 +
*[[How do I create a bug report]] - You think you found a bug in Lazarus, how can you report it?
 +
 +
===Installation===
 +
*[[Getting Lazarus]] - Brief instructions on how to download and install a released or SVN version of Lazarus
 +
*[[Installing Lazarus]] - A detailed installation guide
 +
*[[Multiple Lazarus]] - How to install several lazarus versions on one machine
 +
 +
===IDE===
 +
*[[IDE tricks]] - Tips, tricks and hidden features
 +
*[[Lazarus IDE]] - The IDE windows
 +
*[[Lazarus IDE Shortcuts]] - The key mapping and shortcuts.
 +
*[[Lazarus Packages]] - A guide for creating a package under Lazarus
 +
*[[Install Packages]] - A small guide to install packages
 +
*[[Extending the IDE]] - How to add functionality to the Lazarus IDE
 +
*[[Installing Help in the IDE]] - How to install help for the RTL, FCL and LCL in the IDE, as well as installing the Kylix help files in it and also adding help for user packages.
 +
*[[Using Lazarus for other computer languages]] - How to use the IDE for C, Java, etc.
 +
*[[IDE Development]] - Various pages about current development of the IDE.
 +
*[[Lazarus for education]] - How to setup the IDE for courses and beginners.
 +
*[[Lazarus Hacks]] - Customizations and hacks that can adapt the IDE and LCL to specific needs.
 +
*[[startlazarus]] - How the IDE is started.
 +
*[[Unit not found - How to find units]] - Explains how the compiler and the IDE searches for units and how this can fail.
 +
 +
===LCL===
 +
*[[doc:lcl/|LCL documentation]] - On line help for LCL (work in progress).
 +
*[[LCL Components]] - Tutorials about the standard LCL components such as TMainMenu, TButton, TComboBox, TTimer, etc. Complements and links to the reference docs.
 +
*[[The LCL in various platforms]] - A brief discussion about LCL features which behave differently in different platforms.
 +
*[[Autosize / Layout]] - How to design forms that work on all platforms.
 +
*[[Main Loop Hooks]] - How to handle multiple event sources
 +
*[[Asynchronous Calls]] - How to queue methods for later execution
 +
*[[File size and smartlinking]] - How to smartlink applications and create smaller executables.
 +
*[[Accessing the Interfaces directly]] - Example how to access the LCL widgetsets
 +
*[[Add Help to Your Application]] - How to create a Online Help for your application
 +
*[[Colors]] - Description of system colors like clDefault, clWindow and the fpImage FPColor
 +
*[[LCL Tips]] - Tips and tricks
 +
*[[LCL Defines]] - Choosing the right options to recompile LCL
 +
*[[Components_and_Code_examples|LCL Code Examples]] - Example working code for Lazarus.
 +
*[[Lazarus Custom Drawn Controls]] - A set of custom drawn controls in Lazarus
 +
*[[How To Write Lazarus Component]] - A helpful guide to creating your first LCL component.
 +
*[[LCL Accessibility]] - Documentation about using making LCL applications accessible
 +
 +
===Developing===
 +
*[[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
 +
*[[Deploying Your Application]] - How to create an installer for your application
 +
*[[Cross compiling]] - Creating executables for one platform, on another
 +
*[[GDB Debugger Tips]] - Known Issues / Tips for debugging Pascal using GDB
 +
*[[Remote Debugging]] - How to debug your Lazarus application from another machine
 +
*[[Application Icon]] - Setting the application icon
 +
*[[Using Pascal Libraries with .NET and Mono]] - yes, you can use your Pascal code with .NET and Mono
 +
*[[Pascal and PHP]] - the Pascal connection to PHP
 +
*[[Developing Python Modules with Pascal]] - extending Python with Pascal
 +
*[[Developing Web Apps with Pascal]] - yes, you can write Rich Internet Applications (RIA) with Pascal
 +
*[[Smartphone Development]] - About using FPC and Lazarus to target various smartphones
 +
*[[Lazarus Components Directory]] - A description of extra packages which are shipped with Lazarus, such as support for printers, fpWeb, daemons, etc
 +
 +
=== Tools ===
 +
*[[Lazarus Documentation Editor]] - Using "lazde" to create documentation
 +
*[[FPDoc Editor]] - An integrated editor for documentation files
 +
*[[FPDoc Updater]] - A GUI tool for updating FPDoc files
 +
*[[lazbuild]] - Compiling projects and packages without the IDE
 +
*[[LazSVNPkg]] - Lazarus Subversion IDE Plugin
 +
*[[InstantFPC]] - run pascal programs as normal unix scripts
 +
 +
===Coming from Delphi===
 +
*[[Lazarus Components]] - Comparison between Lazarus and Turbo Delphi components
 +
*[[Lazarus For Delphi Users]] - For Delphi users who are getting started with Lazarus
 +
*[[Code Conversion Guide]] - How to convert existing code and components from Delphi and Kylix
 +
*[[Delphi Converter in Lazarus]] - Convert a Delphi unit, project or package almost automatically
 +
 +
==The Lazarus Developer Guides==
 +
*[[Lazarus Development Process]] - Roadmaps, ToDos, current development and what needs to be done for Lazarus 1.0
 +
*[[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| 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
 +
*[[DesignGuidelines|Design Guide Lines]] - A guide about how to proceed when changing Lazarus Source Code.
 +
*[[GUI design]] - Notes on guidelines when designing the lazarus GUI
 +
*[[Roadmap]] - An idea of the current status of the various parts of Lazarus
 +
*[[Moderating the bug tracker]] - Guidelines for lazarus developers and moderators for using the [http://www.freepascal.org/mantis/ bug tracker].
 +
*[[Codetools]] - How the codetools are integrated into the IDE
 +
*[[Creating IDE Help]] - How to extend the IDE documentation
 +
*[[Distributing Lazarus - Installers]] - Hints and notes for packagers who want to write an installer for Lazarus
 +
*[[Bounties]] - Need a particular new feature soon? Set a price here.
 +
 +
===LCL - Lazarus component library===
 +
*[[LCL Messages]] - Guide related to LCL Messages
 +
*[[LCL Internals]] - Implementation details and how to create a new widgetset
 +
*[[LCL Key Handling]] - Help! A key press, what now?
 +
*[[LCL Internals - Resizing, Moving]] - How the LCL communicates with the LCL interface to resize, move controls
 +
*[[LCL Drag Drop]] - Managing dragging, dropping and docking
 +
*[[LCL Unicode Support]] - Road to Unicode enabled Lazarus
 +
*[[LCL Documentation Roadmap]] - Which units have to be documented
 +
*[[LCL Bindings]] - Bindings to use LCL on other languages
 +
 +
===Interfaces===
 +
{{Interfaces}}
 +
 +
===Translations===
 +
* [[Translations_/_i18n_/_localizations_for_programs|Translations / i18n / localizations for programs]] How to translate your application and how to load translated resourcestrings of projects and packages in your application.
 +
* [[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:'''
 +
:* [[German localization notes|German]] - Notes and guidelines for translating the Lazarus IDE to German, including a small dictionary to look up often used translations.
 +
:* [[Portuguese-Brazilian Localization Notes|Portuguese-Brazilian]] - Small dictionary containing common translations of terms used in the Lazarus IDE for the Portuguese-Brazilian translation.
 +
:* [[Russian localization notes|Russian]] - Notes and guidelines for translating the Lazarus IDE into Russian.
 +
<!-- *[[TO-DO]] Remaining Tasks -->
 +
* [[Help:Add language bar | Add language bar]] explains how you can add a list of translations to the top of a wiki page.
 +
*[[Translations_/_i18n_/_localizations_for_programs#Translating_the_IDE|Translating the IDE]]
 +
 +
==Additional Components Documentation==
 +
*[[Project Templates]] - the package projtemplates
 +
*[[Pascal Script]] and [[Pascal Script Examples]] - How to use the pascal script components in Lazarus
 +
*[[OpenGL]] - How to use OpenGL in Lazarus
 +
*[[KOL-CE]] - Free Pascal/Lazarus port of KOL&MCK library. How to create very compact applications for Win32/WinCE in Lazarus.
 +
*[[TAChart documentation]] - Standard component for drawing graphs and charts.
 +
*[[How To Write Lazarus Component]] for more component info
 +
 +
==Free Pascal Compiler Documentation==
 +
In addition to [http://lazarus-ccr.sourceforge.net/fpcdoc/ this site], the latest version of the documentation can also be found on-line and in a variety of downloadable formats on the main [http://www.freepascal.org/docs.html Free Pascal Compiler site].
 +
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/user/user.html User's guide]
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/prog/prog.html Programmer's guide]
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/ref/ref.html Reference guide for the system unit, and supported Pascal constructs]
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/rtl/index.html Run-Time Library reference manual]
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/fcl/index.html Free Component Library reference manual]
 +
*[http://lazarus-ccr.sourceforge.net/fpcdoc/fpdoc/fpdoc.html Free Pascal documentation tool manual]
 +
*[[Build messages]]
 +
 +
==Lazarus related blogs, websites, videos, magazines and books==
 +
 +
===Blogs===
 +
 +
*[http://lazarus-dev.blogspot.com/ Lazarus Development] - A blog of Lazarus developers regards development process.
 +
*[[Adventures of a Newbie]] - A blog of a newbie getting started with some tutorial information in a running log.
 +
*[http://lazarusroad.blogspot.com/ On the road with Lazarus/Free Pascal] - A blog dedicated to register my experiences while programming with Lazarus and Free Pascal (by Luiz Américo)
 +
*[http://port2laz.blogspot.com/ Porting to Lazarus] - This blog describes the porting of a medium-sized application (~100 kloc) from D7 with CLX to Lazarus (by Alexsander da Rosa)
 +
*[http://living-lazarus.blogspot.com/ Living Lazarus] - One man's exploration into the possibilities of an open source RAD (by [[User:Wibblytim|Wibblytim]]).
 +
*[http://beeography.wordpress.com/tag/object-pascal/ Bee.ography] just (another) Bee’s buzz!
 +
*[http://donaldshimoda.blogspot.com/ Parallel Pascal Worlds] Donald Shimoda.
 +
*[http://devblog.brahmancreations.com/content/observations-on-freepascal-and-lazarus-development Observations on FreePascal and Lazarus Development]
 +
*[http://www.lazarussupport.com/lazarus/weblog Lazarussupport] - A blog about Lazarus and Free Pascal in general - Joost van der Sluis
 +
 +
===Websites===
 +
 +
*[http://mercury.it.swin.edu.au/swinbrain/index.php/Pascal#Pascal_Development_Tools Pascal - SwinBrain] - Unique free pascal tutorial and documentation at Swinburne University
 +
*[http://aprendepascal.wikidot.com Programando en Pascal] - Spanish tutorial focused on FPC/Lazarus, hosted in Wikidot.
 +
*[http://sheepdogguides.com/lut/ Lazarus Programming Tutorials]
 +
*[[Object Pascal Tutorial]] ''Wiki version'' - [http://www.taoyue.com/ Tao Yue's] [http://www.taoyue.com/tutorials/pascal/ Pascal Tutorial] (reposted with permission).
 +
*[http://www.fpccn.com/ Community for Free Pascal and Lazarus in Chinese.] - Community, forums, source code and demos in Chinese.
 +
*[http://pascal.developpez.com/ Pascal - Club d'entraide des développeurs francophones] - Francophone community about Pascal.
 +
 +
===Videos===
 +
 +
*See [[Lazarus videos]].
 +
 +
===Books and Magazines===
 +
 +
*See [[Pascal and Lazarus Books and Magazines]].
 +
 +
==Missing documentation?==
 +
If you miss documentation for Lazarus or FreePascal, you can always write it yourself and submit it to the Lazarus/FPC bugtracker for inclusion.
 +
Have a look at:
 +
*[[FPDoc Editor]] Built-in documentation editor in Lazarus. Page explains how to get fpdoc help sources and write your own help.
 +
 +
[[Category:Lazarus]]

Revision as of 09:15, 11 September 2012

العربية (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

Lazarus/FPC

Hardware, Threads and Processes

  • Using the printer - Printer support in Lazarus
  • Hardware Access - How to access hardware devices, such as ISA cards, PCI cards, parallel and serial ports and USB devices.
  • Multithreaded Application Tutorial - How to write multithreaded applications using Free Pascal and Lazarus.
  • Executing External Programs - A short tutorial showing how to run external programs from inside your program.
  • LazDeviceAPIs - A LCL unit which offers an interface to various hardware devices such as the Accelerometer, SMS sending, GPS positioning, etc.

Files

Web

Platform specific Tips

The Lazarus User Guides

Installation

IDE

LCL

Developing

Tools

Coming from Delphi

The Lazarus Developer Guides

LCL - Lazarus component library

Interfaces

Translations

  • Translations / i18n / localizations for programs How to translate your application and how to load translated resourcestrings of projects and packages in your application.
  • 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:
  • German - Notes and guidelines for translating the Lazarus IDE to German, including a small dictionary to look up often used translations.
  • Portuguese-Brazilian - Small dictionary containing common translations of terms used in the Lazarus IDE for the Portuguese-Brazilian translation.
  • Russian - Notes and guidelines for translating the Lazarus IDE into Russian.

Additional Components Documentation

Free Pascal Compiler Documentation

In addition to this site, the latest version of the documentation can also be found on-line and in a variety of downloadable formats on the main Free Pascal Compiler site.

Lazarus related blogs, websites, videos, magazines and books

Blogs

Websites

Videos

Books and Magazines

Missing documentation?

If you miss documentation for Lazarus or FreePascal, you can always write it yourself and submit it to the Lazarus/FPC bugtracker for inclusion. Have a look at:

  • FPDoc Editor Built-in documentation editor in Lazarus. Page explains how to get fpdoc help sources and write your own help.