Difference between revisions of "Components and Code examples"

From Lazarus wiki
Jump to navigationJump to search
(RTL, FLC and LCL Usage examples: added link to servicemanager)
Line 191: Line 191:
* [[Howto Use TOpenDialog]] - How to use the FileOpen Dialog
* [[Howto Use TOpenDialog]] - How to use the FileOpen Dialog
* [[Howto Use TSaveDialog]] - How to use the FileSave Dialog
* [[Howto Use TSaveDialog]] - How to use the FileSave Dialog
* [[ServiceManager]] - How to use the ServiceManager to handle running services
==See Also==
==See Also==

Revision as of 13:07, 26 July 2011

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) Bahasa Indonesia (id) italiano (it) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

Lazarus-CCR Released Components


  • ACS - Audio Component Suite, a collection of components to develop applications for audio playing/recording/processing. Can play wav,ogg,mp3,mp2,wma ... record from any recordable source, do everything simultan, ripping and more. See ACS
  • Bluetooth - Accessing Bluetooth devices. For example the Wiimote.


2D Drawing

  • ZenGL - cross-platform game development library using OpenGL.
  • BGRABitmap - Drawing shapes and bitmaps with transparency, direct access to pixels, etc.
  • LazRGBGraphics - A package for fast in memory image processing and pixel manipulations (like scan line).
  • fpvectorial - Offers support to read, modify and write vectorial images.
  • Double Gradient - Draw 'double gradient' & 'n gradient' bitmaps easy.
  • Gradient Filler - TGradientFiller is the best way to create custom n gradients in Lazarus.
  • PascalMagick - an easy to use API for interfacing with ImageMagick, a multiplatform free software suite to create, edit, and compose bitmap images.
  • Sample Graphics - graphics gallery created with Lazarus and drawing tools
  • Fast direct pixel access - speed comparison of some methods for direct bitmap pixel access
  • SMNetGradient - A Gradient Fill component for Lazarus.
  • TMetafile/TMetafileCanvas - EnhMetafile API implementation for Windows.

3D Drawing

  • GLScene - A port of the 3D visual OpenGL graphics Library GLScene
  • TOpenGLBox - A barebones OpenGL component for Lazarus that provides an OpenGL rendering area.


  • TAChart - Charting component for Lazarus
  • PlotPanel - A plotting and charting component for animated graphs
  • Perlin Noise - An article about using Perlin Noise on LCL applications.


  • FpSystools - Conversion of TurboPower's Systools for Kylix package to Lazarus/FPC
  • DCPcrypt - DCPcrypt Cryptographic Component Library
  • RXfpc - Some of the well known RXlib components components converted to Lazarus
  • MultiLog - A Log system designed for FPC-Lazarus
  • OnGuard - A port of Turbo Power OnGuard
  • UniqueInstance - A component to force only one instance running at same time
  • XDev Toolkit - Cross-platform development tools.
  • MouseAndKeyInput - Tool for cross-platform manipulation with mouse and key input.
  • PascalSane - bindings for the libsane scanner API, with demo application.
  • log4delphi - A Log system based on log4j
  • fppkggui - A simple frontend gui for fppkg
  • SymScan - Barcode Scanner interface for Symbol/Motorolla MC series handhelds.
  • Theodp - UTF-8 Tools
  • DELPHI FORM TO HTML CONVERTER - Delphi Form to HTML Converter - new by PEW
  • InstantFPC - run pascal programs as normal unix scripts
  • LazBarcodes - Generate barcodes (QRCode, Aztec, DataMatrix, ...)


  • Zlibar - Objects to create and extract a zlib compressed archive containing multiple files
  • FreePascalArchivePackage - Conversion of TurboPower Software's Abbrevia library for the Free Pascal Compiler
  • ZipFile - Component that encapsulates a zipfile, you can read and write from it as if it's a filesystem
  • libtar - Classes for .TAR archives by Stefan Heymann, who kindly relicensed so that they are now in the FPC 2.1.1 and later distributions. Can be combined by zstream to create .tar.gz files.
  • bzip2lib - Stream classes for bzip2 compression and decompression.

Editors and viewers

  • PowerPDF - Port of the PowerPDF (visual) components for Lazarus
  • RichView - Port of the TRichView Freeware Edition Components to Lazarus
  • Fshcomp - Edit components.
  • SynEdit - Source Editor component (used by the IDE)
  • RichMemo - A cross-platform component designed as rich text editor and viewer.


  • BeepFp - BEEP Protocol framework
  • Sockets - TCP/IP Sockets components
  • lNet - Networking components which provides simple, single-threaded event-driven networking suite with protocols from TCP and UDP to SMTP and HTTP. lNet was designed to not depend on any external libraries and is extremely portable.
  • FPC and Apache Modules - Headers for creating Apache modules with fpc
  • Web Services Toolkit - Web Services authoring and consumption


  • fb embedded2 Laz - Using embedded FireBird 3 with Lazarus
  • TPSQL - Components for connecting to PostgreSQL database servers
  • tiOPF - TechInsite Object Persistent Framework (Ver. 2)
  • TParadoxDataSet - An TDataSet implementation that can read Paradox files up to Version 7 (and up ??)
  • ZeosDBO - Component for connecting to multiple database (Firebird, PostgreSQL, MySQL, Oracle)
  • SQLitePass - Components for connecting to SQLite database
  • MS Access - Procedure using TODBCConnection with FILEDSN

File formats

  • CsvDocument - CSV files handling using parser or cell-based API similar to one of StringGrid component.
  • [[FPSpreadsheet] - A library for handling spreadsheet files. Supports the formats from MS Excel and OpenOffice.


  • StringHashMap - String -> Pointer associative map container. Fast and memory efficient.


  • EpikTimer - Precision timer component written specifically for Lazarus.
  • Manager Worker Threads System - Manager Worker Thread system to process simultaneous data objects in real-time.
  • TrayIcon - A multiplatform System Tray component
  • TPopupNotifier - How to use TPopupNotifier to show "balloon help".
  • MultiDoc - A component to write pseudo-MDI application with Lazarus.
  • MDButtonsBar - ButtonsBar to MultiDoc Component.
  • MPICH - Bindings for the MPI - Message Passing Interface. Distributed computing.
  • Bluetooth - Accessing Bluetooth devices.

Visual components

  • VirtualTreeview - A port of the fast virtual treeview from SoftGems
  • Turbopower Visual PlanIt - A port of the Planner Components
  • RingChart and AnalogWatch - Another Elliptical Chart and an Analogic Watch for Lazarus and FPC
  • ColorBox - Color picker with preview
  • Spook's Panel Components - A collection of panel components
  • HistoryFiles - A component for store the recent files list into an .ini file and show the result into a menu.
  • ColorPalette - A color palette grid with ability to use custom palette.
  • OrphPort - Subset of TurboPower's Orpheus controls.
  • TSubForm - A Data-Aware SubForm that replicates controls based on records in a dataset.
  • Lui Controls - A set of visual controls (TToggleLabel, TMenuButton)
  • uE Controls - A open source set of instrumentation controls for Lazarus and Free Pascal, compilable under Windows and Linux.
  • JvXPBar - A port of JVCL's TJvXPBar control that can display an icon, a header and zero or more clickable items in its client area.
  • CmdLine - A Prompt as VCL Control.
  • Wile64 - Components for Lazarus (TGifAnim, TColorProgress, TLabelCut...)
  • TGradButton - A new good looking Button Component
  • BGRAControls - Components which are using the power of the BGRABitmap package. BGRAImageList, BGRASpeedButton, BGRAButton, BGRAPanel.
  • TMyRollOut and ExpandPanel - A collapsable panel with a button (like TJvRollOut); these panels can be arranged with "Expandpanel"
  • FileMenuHandler - Handles Recent files list and Open, Save, Save As, Exit Commands.
  • THtmlPort - Lazarus port of Dave Baldwin's HTML Components (THtmlViewer, TFrameViewer, TFrameBrowser).
  • GeckoPort - Lazarus port of Takanori Ito's Gecko SDK for Delphi, including TGeckoBrowser.
  • ZVDateTimeControls Package - This package contains TZVDateTimePicker (the clone of Delphi's TDateTimePicker) and TDBZVDatePicker (a data aware version of TZVDateTimePicker).

Lazarus IDE Extensions

  • Manual Docker - The extension allows Messages window to dock to the source editor.

Hardware Access

  • NIDAQmxBase - Unit for using National Instruments data acquisition devices through the NI DAQmx Base library (not the bigger NI DAQmx library).

Packages for FPC/Lazarus (not hosted here)

  • 2007, Brain Patchwork DX, LLC. has ported their TCP/UDP Client and Server Components to Lazarus 0.9.22/FPC 2.0.4 - visual and non-visual implementation are supported (www.bpdx.com)
  • Starting with version 32, Lucas Gebauer's outstanding Synapse TCP/IP library is now compatible with Free Pascal and Lazarus. Lucas has also just released version 12 of his Synaser serial port communications suite that also runs under Free Pascal.
  • Indy
  • CUPS for Lazarus project Common UNIX Printing System for FPC/Lazarus.
  • Diagram a unit to draw a diagram using a model/view system
  • DrawObjectsExtended a graphical component ported from Delphi to draw structured diagrams.
  • ExcelInterfaces, a component to interface FPC and Lazarus programs with the Excel spreadsheet tool. It also demonstrates the use of COM interfaces on the Windows platform
  • FIBL FreeIBComponents package porting for Lazarus.
  • ICU4PAS is an Object Pascal, cross platform, Direct Class Wrapper over the ICU libraries.
  • Internet Tools to get and parse html pages plus an auto update class
  • FreeImage is an Open Source library project which supports popular graphics image formats like PNG, BMP, JPEG, TIFF and others (works with Windows, Linux and Mac OS X). PicViewer is a Example Application (Windows only) and shows basic usage of this DLL.
  • Kambi VRML game engine, a 3D game engine especially focused on VRML/X3D formats.
  • mpg123.dll is a MPEG 1.0/2.0/2.5 decoder DLL for layers 1,2 and 3. The MPEG 1.0 layer 3 aka MP3 is most commonly tested. The Library itself is available for Linux, MacOSX, FreeBSD, SunOS4.1.3, Solaris 2.5, HPUX 9.x, SGI Irix and Cygwin or plain MS Windows. Cross-platform compatible source code should be possible in LAZARUS as soon as the wrapper file for portaudio.DLL is tested by Linux and Mac owners. The linked example code contains two wrapper files, tested under Windows 32bit only.
  • PascalSCADA is a set of components to make easy the development of HMI/SCADA applications (applications that needs interact with PLC's and others industrial devices).
  • PortAudio project is a portable cross-platform Audio API currently available for Windows, Macintosh OS X, Unix (OSS/ALSA), SGI, and BeOS. It allows cross-platform compatible source code also in LAZARUS. The Portaudio package contains the wrapper file that makes the C Library available and also example applications showing how to use the PortAudio DLL under Lazarus LCL / Windows. The wrapper file for portaudio.DLL is from the UltraStar Sourceforge project.
  • RackCtls a collection of components with an "Hi-fi system" appearance.
  • Runge-Kutta a scientific component to integrate partial differential equations, using events.
  • TTreeListView is the combination of a TTreeView with a TListView, showing items in a tree with columns
  • UltraStar Deluxe has headers for the following libraries for Windows, Linux and Mac OS X (with a few exceptions):
    • portaudio
    • bass
    • ffmpeg
    • SDL
    • libpng
    • FreeImage
    • freetype
    • JEDI-SDL
    • Lua
    • midi
    • pcre
    • portmixer
    • projectM
    • samplerate
    • SQLite
    • zlib
    • fft
  • lazarus-zlib - library, contains simple functions for work with zlib-archives (it uses the original zlib source, compiled in obj-files).

Example programs

RTL, FLC and LCL Usage examples

See Also