Difference between revisions of "Lazarus Documentation"

From Free Pascal wiki
Jump to navigationJump to search
m (→‎Websites: Fixed dead web link)
 
(11 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
==Lazarus and Pascal Tutorials==
 
==Lazarus and Pascal Tutorials==
  
*[[Object Pascal Tutorial]]
+
*[[Basic Pascal Tutorial]]
 +
*[[Free Pascal videos|Free Pascal video tutorials]]
 +
*[[Lazarus_videos|Lazarus video tutorials]]
 
*[[:Category:Tutorials|All tutorials on the wiki]] - Collection of tutorials with difficulty ranging from beginner to expert level
 
*[[:Category:Tutorials|All tutorials on the wiki]] - Collection of tutorials with difficulty ranging from beginner to expert level
*There are also other tutorials not hosted here in [[Lazarus Documentation#Lazarus related blogs, websites, videos, magazines and books]].
+
*There are also other tutorials not hosted here in [[Lazarus Documentation#Lazarus related blogs, websites, videos, magazines and books|Lazarus related blogs, websites, videos, magazines and books]].
 
*[http://www.schoolfreeware.com/Free_Pascal_Tutorials.html SchoolFreeware's Free Pascal Tutorials] - From command line interface (CLI) to graphical user interface (GUI) using Lazarus IDE
 
*[http://www.schoolfreeware.com/Free_Pascal_Tutorials.html SchoolFreeware's Free Pascal Tutorials] - From command line interface (CLI) to graphical user interface (GUI) using Lazarus IDE
  
Line 11: Line 13:
  
 
=== Lazarus/FPC (Free Pascal)===
 
=== Lazarus/FPC (Free Pascal)===
*Lazarus integrated .chm help file system for manual copying into .../chm subdirectory, download [http://www.stack.nl/~marcov/doc-chm.zip here]. Both for Laz and '''fp''' text mode IDE.
+
 
*[[Overview of Free Pascal and Lazarus]] - A brief discussion of kinds of things you can develop with these general-purpose tools.
+
*[[Creating bindings for C libraries]] - How to convert C header files (.h) to pascal units
*[[Lazarus Tutorial]] - A tutorial for beginners and a detailed description of the Lazarus IDE.
+
*[[Console Mode Pascal]] - Using the Lazarus IDE for writing Pascal programs for text-mode operation.
 +
*[[Daemons and Services]] - How to write windows services and/or linux daemons.
 +
*[[Databases]] - An introduction to using databases in Lazarus and links to other database articles.
 +
*[[Developing with Graphics]] - Examples on 2D & 3D graphic programming.
 
*[[Form Tutorial]] - A tutorial for beginners on how to deal with forms.
 
*[[Form Tutorial]] - A tutorial for beginners on how to deal with forms.
 +
*[[Pascal_for_Visual_Basic_users|Free Pascal for Visual Basic users]]
 +
*[[Lazarus Database Tutorial]] - A tutorial which has some more background information on how to connect to popular databases, for example MySQL, Firebird, Postgres, etc.
 +
*Lazarus integrated .chm help file system for manual copying into .../chm subdirectory, download [http://www.stack.nl/~marcov/doc-chm.zip here]. Both for Lazarus and '''fp''' text mode IDE.
 
*[[Lazarus IDE Tools]] - An intermediate level tutorial about code completion and other IDE tools.
 
*[[Lazarus IDE Tools]] - An intermediate level tutorial about code completion and other IDE tools.
*[[Developing with Graphics]] - Examples on 2D & 3D graphic programming.
+
*[[Lazarus Inline Assembler]] - A getting started guide.
*[[OpenGL Tutorial]] - How to use OpenGL in Lazarus applications.
+
*[[Lazarus/FPC Libraries]] - How to create dynamic libraries (.so, .dll, .dylib) and how to use them
 +
*[[Lazarus Tutorial]] - A tutorial for beginners and a detailed description of the Lazarus IDE.
 
*[[Multimedia Programming]] - How to play videos and sounds.
 
*[[Multimedia Programming]] - How to play videos and sounds.
 
*[[Office Automation]] - How to interact with office software and create spreadsheets, text documents, presentations, etc.
 
*[[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
+
*[[OpenGL Tutorial]] - How to use OpenGL in Lazarus applications.
*[[Creating bindings for C libraries]] - How to convert C header files (.h) to pascal units
+
*[[Overview of Free Pascal and Lazarus]] - A brief discussion of kinds of things you can develop with these general-purpose tools.
*[[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.
 
 
*[[spelling]] - How to use the Hunspell library in a Lazarus App.
 
*[[spelling]] - How to use the Hunspell library in a Lazarus App.
 
*[[SQLdb Tutorial0]] - Set up instructions for sample data for the following database tutorials
 
*[[SQLdb Tutorial0]] - Set up instructions for sample data for the following database tutorials
Line 32: Line 38:
 
*[[SQLdb Tutorial4]] - Fourth part of the DB tutorial series, showing how to use data modules
 
*[[SQLdb Tutorial4]] - Fourth part of the DB tutorial series, showing how to use data modules
 
*[[SqlDBHowto]] - Explanations and code for various aspects of using SQLdb for reading and manipulating data in relational 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
 
*[[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.
 
*[[VirtualTreeview Example for Lazarus]] - Using VirtualTreeview on Lazarus.
 +
*[[Working With TSQLQuery]] - An in depth description of using TSQLQuery, having details about using parameters in queries and non-SELECT-queries
  
 
=== Hardware, Threads and Processes ===
 
=== Hardware, Threads and Processes ===
Line 59: Line 63:
 
*[[Portal:Android|Android Portal]] - Programming tips and reference information on Android.
 
*[[Portal:Android|Android Portal]] - Programming tips and reference information on Android.
 
**[[Android Programming]] - For Android smartphones and tablets.
 
**[[Android Programming]] - For Android smartphones and tablets.
 +
*[[Portal:Embedded|Embedded]] - An overview of development for Embedded platforms with/without an operating system
 +
** volunteers needed :-)
 
*[[Portal:FreeBSD|FreeBSD Portal]] - An overview of development for FreeBSD with Lazarus and Free Pascal.
 
*[[Portal:FreeBSD|FreeBSD Portal]] - An overview of development for FreeBSD with Lazarus and Free Pascal.
 
**[[FreeBSD Programming Tips]] - Lazarus installation, useful tools, Unix commands, and more...
 
**[[FreeBSD Programming Tips]] - Lazarus installation, useful tools, Unix commands, and more...
Line 66: Line 72:
 
**[[Lazarus on Raspberry Pi]] - How to install and use Lazarus on the Raspberry Pi.
 
**[[Lazarus on Raspberry Pi]] - How to install and use Lazarus on the Raspberry Pi.
 
*[[Portal:Mac|Mac Portal]] - Programming tips and reference information for macOS.
 
*[[Portal:Mac|Mac Portal]] - Programming tips and reference information for macOS.
**[[OS X Programming Tips]] - Lazarus installation, useful tools, Unix commands, and more...  
+
**[[macOS Programming Tips]] - Lazarus installation, useful tools, Unix commands, and more...
 +
*[[Portal:WinCE|WinCE Portal]] - Programming tips and reference information for WinCE
 +
**[[WinCE Programming Tips]] - Using the telephone API, sending SMSes, and more...
 
*[[Portal:Windows|Windows Portal]] - Programming tips and reference information for desktop Windows and Windows mobile.
 
*[[Portal:Windows|Windows Portal]] - Programming tips and reference information for desktop Windows and Windows mobile.
**[[WinCE Programming Tips]] - Using the telephone API, sending SMSes, and more...
+
**[[Windows Programming Tips]] - Programming information for desktop Windows - including server
  
 
==The Lazarus User Guides==
 
==The Lazarus User Guides==
Line 77: Line 85:
  
 
===Installation===  
 
===Installation===  
*[[:category:Install]] - all things "install" categorized  
+
*[[:category:Install|Installation]] - all things "install" categorized  
 
*[[Getting Lazarus]] - Brief instructions on how to download and install a released or SVN version of Lazarus
 
*[[Getting Lazarus]] - Brief instructions on how to download and install a released or SVN version of Lazarus
 
*[[Installing Lazarus]] - A detailed installation guide
 
*[[Installing Lazarus]] - A detailed installation guide
Line 193: Line 201:
 
<!-- *[[TO-DO]] Remaining Tasks -->
 
<!-- *[[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.
 
* [[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]]
+
*[[Everything_else_about_translations#Translating_the_IDE|Translating the IDE]]
  
 
==Additional Components Documentation==
 
==Additional Components Documentation==
Line 234: Line 242:
  
 
===Websites===
 
===Websites===
 +
 
These websites cover Free Pascal, Lazarus or both - or they cover Delphi concepts that are applicable to Lazarus/FPC:
 
These websites cover Free Pascal, Lazarus or both - or they cover Delphi concepts that are applicable to Lazarus/FPC:
 
*[http://pp4s.co.uk PP4S] Lazarus (and Delphi) getting started information, tutorials. Useful for beginners.
 
*[http://pp4s.co.uk PP4S] Lazarus (and Delphi) getting started information, tutorials. Useful for beginners.
 
*[https://web.archive.org/web/20161229032639/http://swinbrain.ict.swin.edu.au/wiki/Pascal Pascal - SwinBrain] (Internet Archive; original link dead) - Unique free pascal tutorial and documentation at Swinburne University
 
*[https://web.archive.org/web/20161229032639/http://swinbrain.ict.swin.edu.au/wiki/Pascal Pascal - SwinBrain] (Internet Archive; original link dead) - Unique free pascal tutorial and documentation at Swinburne University
 
*[http://sheepdogguides.com/lut/ Lazarus Programming] A series of tutorials to get beginners started. Limited "how to install" material. From SheepdogSoftware.co.uk
 
*[http://sheepdogguides.com/lut/ Lazarus Programming] A series of tutorials to get beginners started. Limited "how to install" material. From SheepdogSoftware.co.uk
*[[Object Pascal Tutorial]] Updated version of [http://www.taoyue.com/ Tao Yue's] [http://www.taoyue.com/tutorials/pascal/ Pascal Tutorial] (reposted with permission).
+
*[[Basic Pascal Tutorial]] Updated version of [http://www.taoyue.com/ Tao Yue's] [http://www.taoyue.com/tutorials/pascal/ Pascal Tutorial] (reposted with permission).
 
*[http://sheepdogguides.com/tut.htm Delphi Tutorials Arranged in Groups, by Difficulty] An accumulation of material from many years. Topics range from "Hello World" to using Dallas 1-Wire to TCP/IP. The ones I've tried port to Lazarus without hassle.
 
*[http://sheepdogguides.com/tut.htm Delphi Tutorials Arranged in Groups, by Difficulty] An accumulation of material from many years. Topics range from "Hello World" to using Dallas 1-Wire to TCP/IP. The ones I've tried port to Lazarus without hassle.
 
  
 
Chinese:
 
Chinese:
 
*[http://www.fpccn.com/ Community for Free Pascal and Lazarus in Chinese.] - Community, forums, source code and demos in Chinese.
 
*[http://www.fpccn.com/ Community for Free Pascal and Lazarus in Chinese.] - Community, forums, source code and demos in Chinese.
 
Dutch:
 
*[http://www.econ.kuleuven.ac.be/tew/academic/infosys/MEMBERS/VTHIENEN/] - Homepage of professor teaching programming courses with Pascal. See his links to Pascal exercises/solutions (e.g. [http://www.econ.kuleuven.ac.be/tew/academic/infosys/MEMBERS/VTHIENEN/pasoef.htm])
 
  
 
French:
 
French:
Line 267: Line 272:
  
 
==Missing documentation?==
 
==Missing documentation?==
 +
 
If you miss documentation for Lazarus or Free Pascal, you can always write it yourself and submit it to the Lazarus/FPC bugtracker for inclusion.
 
If you miss documentation for Lazarus or Free Pascal, you can always write it yourself and submit it to the Lazarus/FPC bugtracker for inclusion.
 
Have a look at:
 
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.
 
*[[FPDoc Editor]] Built-in documentation editor in Lazarus. Page explains how to get fpdoc help sources and write your own help.
  
 +
==See also==
 +
 +
* [[FPC|FPC Wiki Documentation]]
  
{{AutoCategory}}
 
 
[[Category:Main]]
 
[[Category:Main]]
 
[[Category:Lazarus]]
 
[[Category:Lazarus]]

Latest revision as of 19:27, 31 May 2022

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

(See also "Websites", further down this page)

Lazarus/FPC (Free Pascal)

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

Platforms

The Lazarus User Guides

Installation

IDE

Integrated Development Environment

LCL

The Lazarus component library (LCL) is very similar to Delphi's VCL (Visual Component Library). Most Lazarus units, classes and properties have the same name and functionality as their equivalents in Delphi. This makes porting Delphi applications to Lazarus relatively easy.

Developing

Tools

Coming from Delphi

The Lazarus Developer Guides

LCL - Lazarus component library

The following articles go deeper into developing for/with the LCL. See also the user LCL section above.

Interfaces

Translating/Internationalization/Localization

These articles cover how to set up the IDE, LCL and your own programs with translated/localized strings, and how to internationalize them (e.g. deal with date formats, decimal separators etc) :

  • 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.

Special Topics

Lazarus related blogs, websites, videos, magazines and books

Blogs

Websites

These websites cover Free Pascal, Lazarus or both - or they cover Delphi concepts that are applicable to Lazarus/FPC:

Chinese:

French:

Spanish:

Videos

Books

Conferences on Lazarus and Free Pascal

How to cite in scientific publications

Missing documentation?

If you miss documentation for Lazarus or Free Pascal, 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.

See also