Difference between revisions of "Lazarus Documentation"

From Lazarus wiki
Jump to navigationJump to search
(Blanked the page)
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 08:03, 11 September 2012