Difference between revisions of "Components and Code examples"

From Lazarus wiki
Jump to navigationJump to search
m (→‎See also: Bypass page redirect)
(removing https://gitlab.com/MarkAPaley/filey)
 
(27 intermediate revisions by 4 users not shown)
Line 13: Line 13:
 
{{Note|Please move ONLY the components/applications/programs in the Lazarus CCR repository from the list below into this list}}
 
{{Note|Please move ONLY the components/applications/programs in the Lazarus CCR repository from the list below into this list}}
  
===Archiving===
+
===Lazarus-CCR archiving===
* [[FreePascalArchivePackage]] - Conversion of TurboPower Software's Abbrevia library for the Free Pascal Compiler
+
* [[FreePascalArchivePackage]] - Conversion of TurboPower Software's Abbrevia library for Free Pascal.
  
===File formats===
+
===Lazarus-CCR file formats===
 
* [[CsvDocument]] - CSV files handling using parser or cell-based API similar to one of StringGrid component.
 
* [[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 (XLS, XLSX, Excel XML) and OpenOffice. It also supports these file types: CSV, HTML, Wikitables.
 
* [[FPSpreadsheet]] - A library for handling spreadsheet files. Supports the formats from MS Excel (XLS, XLSX, Excel XML) and OpenOffice. It also supports these file types: CSV, HTML, Wikitables.
 
* [[fpvectorial - Text Document Support]] - A library for handling text document files.  Currently supports exporting to .docx and .odt file formats only.
 
* [[fpvectorial - Text Document Support]] - A library for handling text document files.  Currently supports exporting to .docx and .odt file formats only.
  
===Tools===
+
===Lazarus-CCR tools===
* [[ExtraSyn]] - Additional highlighters for TSynEdit
+
* [[ExtraSyn]] - Additional highlighters for TSynEdit.
* [[LazBarcodes]] - Generate barcodes (QRCode, Aztec, DataMatrix, ...)
+
* [[LazBarcodes]] - Generate barcodes (QRCode, Aztec, DataMatrix etc).
  
===Visual components===
+
===Lazarus-CCR visual components===
  
* [[Flag component]] is a collection of flags.
+
* [[Flag component]] - A collection of country flags.
 
* [[Fshcomp]] - Edit components.
 
* [[Fshcomp]] - Edit components.
 
* [[HistoryFiles]] - A component for store the recent files list into an .ini file and show the result into a menu.
 
* [[HistoryFiles]] - A component for store the recent files list into an .ini file and show the result into a menu.
* [[LongTimer]] - Visual component based on TIdleTimer working with long intervals (Daily, Weekly or Monthly)
+
* [[LongTimer]] - Visual component based on TIdleTimer working with long intervals (daily, weekly or monthly).
* [[Poweredby]] - Visual drop-in component to show a 'Powered by Lazarus' splash screen for 1 second on form.create() Promote Lazarus/FPC!
+
* [[Poweredby]] - Visual drop-in component to show a 'Powered by Lazarus' splash screen for 1 second on TForm.Create to promote Lazarus/FPC.
* [[ScrollText]] - Visual component that displays up-scrolling text (like a Credits screen)
+
* [[ScrollText]] - Visual component that displays up-scrolling text (like a Credits screen).
* [[TPlaySound]] - Visual component to play WAV files in Windows and Linux
+
* [[TPlaySound]] - Visual component to play WAV files in Windows and Linux.
  
 
==Packages/Programs for FPC/Lazarus (not hosted here)==
 
==Packages/Programs for FPC/Lazarus (not hosted here)==
Line 39: Line 39:
 
===Uncategorized===
 
===Uncategorized===
  
* [[5dpo]] (5dpo Component Library - Sdpo) is a set of components released by the 5dpo Robotic Soccer Team.
+
* [[5dpo]] (5dpo Component Library - Sdpo) - A set of components released by the 5dpo Robotic Soccer Team.
* [[Brook Framework]] is the perfect Free Pascal framework for your web applications.
+
* [[Brook Framework]] - The perfect Free Pascal framework for your web applications.
* [http://cups4lazarus.sourceforge.net/ CUPS for Lazarus project] Common UNIX Printing System for FPC/Lazarus. NOTE: Obsolete. Replaced by Printer4Lazarus package included in current Lazarus versions.
+
* [http://cups4lazarus.sourceforge.net/ CUPS for Lazarus project] - Common UNIX Printing System for FPC/Lazarus. NOTE: obsolete. Replaced by Printer4Lazarus package included in current Lazarus versions.
* [[DateControls Package for Lazarus]] - superseded by [[DateTimeCtrls Package]] which is included in Lazarus since v1.4.
+
* [[DateControls Package for Lazarus]] - Superseded by [[DateTimeCtrls Package]] which is included in Lazarus since v1.4.
* [http://www.benibela.de/sources_en.html#diagram Diagram] a unit to draw a diagram using a model/view system
+
* [http://www.benibela.de/sources_en.html#diagram Diagram] - A unit to draw a diagram using a model/view system.
* [[DelphiWebScript]] Object-oriented scripting engine based on Object Pascal.
+
* [[DelphiWebScript]] - Object-oriented scripting engine based on Object Pascal.
 
* dfsSplitter: a Netscape look alike splitter. See [http://forum.lazarus.freepascal.org/index.php/topic,21445 forum thread].
 
* dfsSplitter: a Netscape look alike splitter. See [http://forum.lazarus.freepascal.org/index.php/topic,21445 forum thread].
* [http://www.tcoq.org/composants DrawObjectsExtended] a graphical component ported from Delphi to draw structured diagrams.
+
* [http://www.tcoq.org/composants DrawObjectsExtended] - A graphical component ported from Delphi to draw structured diagrams.
* [http://tcoq.free.fr/composants.html 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  
+
* [http://tcoq.free.fr/composants.html 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.
* [http://sourceforge.net/projects/fibl/ FIBL] FreeIBComponents library to access Firebird server.
+
* [http://sourceforge.net/projects/fibl/ FIBL] - FreeIBComponents library to access Firebird server.
* [http://breakoutbox.de/pascal/applications.html 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 macOS). PicViewer is a Example Application (Windows only) and shows basic usage of this DLL.
+
* [http://breakoutbox.de/pascal/applications.html FreeImage] - An open source library project which supports popular graphics image formats like PNG, BMP, JPEG, TIFF and others (works with Windows, Linux and macOS). PicViewer is a Example Application (Windows only) and shows basic usage of this DLL.
* [http://fundementals.sourceforge.net/ Fundamentals Code Library] includes libraries for Unicode, Strings, Data Structures, Sockets and Mathematics.
+
* [http://fundementals.sourceforge.net/ Fundamentals Code Library] - Libraries for Unicode, strings, data structures, sockets and mathematics.
* [[GolfmlClass]] A Lazarus/Free Pascal class to accept data via properties and write a well-formed golfml XML golf information exchange file
+
* [[GolfmlClass]] - A class to accept data via properties and write a well-formed golfml XML golf information exchange file.
* [https://github.com/mdbs99/Greyhound Greyhound Project] is a tiny ORM-ish for Free Pascal. You can use SQLdb, Zeos or whatever you want to connect to a DBMS.
+
* [https://github.com/mdbs99/Greyhound Greyhound Project] - A tiny ORM-ish for Free Pascal. You can use SQLdb, Zeos or whatever you want to connect to a DBMS.
* [http://www.icu4pas.org/ ICU4PAS] is an Object Pascal, cross platform, Direct Class Wrapper over the ICU libraries. ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.
+
* [http://www.icu4pas.org/ ICU4PAS] - An Object Pascal, cross platform, Direct Class Wrapper over the ICU libraries. ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.
 
* Indy  
 
* Indy  
 
** [http://indy4lazarus.sourceforge.net/ Indy for Lazarus] - 110+ components for internet work.
 
** [http://indy4lazarus.sourceforge.net/ Indy for Lazarus] - 110+ components for internet work.
** [[Indy with Lazarus]] - newer attempt, both Indy 9 and Indy 10.
+
** [[Indy with Lazarus]] - Newer attempt, both Indy 9 and Indy 10.
* [http://www.benibela.de/sources_en.html#internettools Internet Tools] are a set of units for webpage processing: There is a html/xml parser with sax/dom-like interface, XPath 2 / XQuery expressions engine, CSS 3 selectors, templates with xml pattern-matching and a http/s connection wrapper (around synapse and wininet)  
+
* [http://www.benibela.de/sources_en.html#internettools Internet Tools] - A set of units for webpage processing: HTML/XML parser with SAX/DOM-like interface, XPath 2 / XQuery expressions engine, CSS 3 selectors, templates with XML pattern-matching and a HTTP/HTTPS connection wrapper (around Synapse and WinInet).
* [[ioda]] is a fulltext search database: a word indexing and retrieving engine. It stores unique words from a file or database source in a btree and their repeaters in an flexible and highly space optimized list structure. Each stored word "knows" its source, position in the source and some (optional) info bytes. Written in FPC.
+
* [[ioda]] - A full-text search database: a word indexing and retrieving engine. It stores unique words from a file or database source in a btree and their repeaters in an flexible and highly space optimized list structure. Each stored word "knows" its source, position in the source and some (optional) info bytes.
* [https://sourceforge.net/projects/jedi-sdl/ JEDI-SDL] : Pascal headers for SDL
+
* [https://sourceforge.net/projects/jedi-sdl/ JEDI-SDL] - Pascal headers for SDL library.
* [http://code.google.com/p/lazarus-zlib/ lazarus-zlib] - library, contains simple functions for work with zlib-archives (it uses the original zlib source, compiled in obj-files).
+
* [http://code.google.com/p/lazarus-zlib/ lazarus-zlib] - Library with simple functions for work with zlib-archives (it uses the original zlib source, compiled in obj-files).
* [[LGenerics]] - containers, graphs, algorithms on graphs.
+
* [[LGenerics]] - Containers, graphs, algorithms on graphs.
* [[nixie]] - numerical display using images of nixie tubes.
+
* [[nixie]] - Numerical display using images of nixie tubes.
 
* [https://www.birtles.org.uk/programming/ Pascal LZMA SDK]
 
* [https://www.birtles.org.uk/programming/ Pascal LZMA SDK]
* [https://bitbucket.org/reiniero/notepad-pluginlazarus Notepad++ plugin template for Lazarus]: a demo template that should get you started quickly with writing your own plugin for the free (Windows only) Notepad++ text editor. Ported from the existing Delphi template.
+
* [https://bitbucket.org/reiniero/notepad-pluginlazarus Notepad++ plugin template for Lazarus] - A demo template that should get you started quickly with writing your own plugin for the free (Windows only) Notepad++ text editor. Ported from the existing Delphi template.
* [http://wiki.lazarus.freepascal.org/PascalSCADA 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).
+
* [http://wiki.lazarus.freepascal.org/PascalSCADA PascalSCADA] - A set of components to make easy the development of HMI/SCADA applications (applications that needs interact with PLC's and others industrial devices).
* Pascal Script [http://wiki.lazarus.freepascal.org/index.php/Pascal_Script Pascal Script] is a REMObjects Pascal Script interpreter. See [[Pascal Script]]. PascalScript is also used in the Lazarus IDE to provide scripting functionality.
+
* [http://wiki.lazarus.freepascal.org/index.php/Pascal_Script Pascal Script] is a RemObjects pascal script interpreter. See [[Pascal Script]]. It is also used in the Lazarus IDE to provide scripting functionality.
* [http://www.breakoutbox.de/pascal/pascal.html#PortAudio PortAudio] project is a portable cross-platform Audio API currently available for Windows, macOS, Unix (OSS/ALSA), SGI, and BeOS. It allows cross-platform compatible source code also in LAZARUS. The download 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.
+
* [http://www.breakoutbox.de/pascal/pascal.html#PortAudio PortAudio] - A portable cross-platform audio API currently available for Windows, macOS, Unix (OSS/ALSA), SGI, and BeOS. It allows cross-platform compatible source code also in LAZARUS. The download 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.
* [https://github.com/darekm/qrcode4fpc QRcode] : QRcode generator (bitwise and png)
+
* [https://github.com/darekm/qrcode4fpc QRcode] - QR-code generator (bitwise and PNG).
* [http://sourceforge.net/projects/qxotica/ qxotica] - tools for creating qooxdoo Web apps. Develop both the JavaScript qooxdoo-based client and the Pascal server app in Lazarus.
+
* [http://sourceforge.net/projects/qxotica/ qxotica] - Tools for creating qooxdoo Web apps. Develop both the JavaScript qooxdoo-based client and the Pascal server app in Lazarus.
* [[RackCtls]] a collection of components with a "Hi-fi system" appearance.
+
* [[RackCtls]] - A collection of components with a "Hi-Fi system" appearance.
* [http://sourceforge.net/projects/rtcsdk/ RealThinClient SDK] - components for building stable HTTP(S) Clients, Servers, Routers, Proxies, Load Balancers and ISAPIs with Delphi/Lazarus.
+
* [http://sourceforge.net/projects/rtcsdk/ RealThinClient SDK] - Components for building stable HTTP(S) clients, servers, routers, proxies, load balancers and ISAPIs with Delphi/Lazarus.
* [http://code.google.com/p/splashabout/ SplashAbout (non-visual)] is a simple object to drop in your app that creates a Splash screen and About dialog with the minimum of effort. (non-visual version)
+
* [http://code.google.com/p/splashabout/ SplashAbout] - A simple object to drop in your app that creates a splash screen and About dialog with the minimum of effort (non-visual version).
** Note: Use [[SplashAbout]] for a visual drop-in component version
+
** Note: Use [[SplashAbout]] for a visual drop-in component version.
* Starting with version 32,  Lucas Gebauer's outstanding [http://www.ararat.cz/synapse/ 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.
+
* [http://www.ararat.cz/synapse/ Synapse] - Starting with version 32, Lucas Gebauer's outstanding 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.
* [https://github.com/rnapoles/Synedit-Port Synedit-Port] Synedit 2.0.5 port - SynEdit is an advanced multi-line edit control.
+
* [https://github.com/rnapoles/Synedit-Port Synedit-Port] - SynEdit 2.0.5 port. SynEdit is an advanced multi-line edit control.
* [http://www.benibela.de/components_en.html#treelistview TTreeListView] is the combination of a TTreeView with a TListView, showing items in a tree with columns
+
* [http://www.benibela.de/components_en.html#treelistview TTreeListView] - The combination of a TTreeView with a TListView, showing items in a tree with columns.
* [http://sourceforge.net/projects/ultrastardx/ UltraStar Deluxe] has headers for the following libraries for Windows, Linux and macOS (with a few exceptions): portaudio, bass, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.
+
* [http://sourceforge.net/projects/ultrastardx/ UltraStar Deluxe] - Headers for the following libraries for Windows, Linux and macOS (with a few exceptions): portaudio, bass, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.
  
 
=== Archiving ===
 
=== Archiving ===
 
* [[bzip2lib]] - Stream classes for bzip2 compression and decompression.
 
* [[bzip2lib]] - Stream classes for bzip2 compression and decompression.
* [[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.
+
* [[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.
 
* [https://peazip.github.io/ PeaZip] - Cross-platform archive/zip/7z/etc manager similar to WinZip or 7zip Explorer. Written in Lazarus.
 
* [https://peazip.github.io/ PeaZip] - Cross-platform archive/zip/7z/etc manager similar to WinZip or 7zip Explorer. Written in Lazarus.
* [[ZipFile]] - Component that encapsulates a zipfile, you can read and write from it as if it's a filesystem
+
* [[ZipFile]] - Component that encapsulates a zipfile, you can read and write from it as if it's a filesystem.
* [[Zlibar]] - Objects to create and extract a zlib compressed archive containing multiple files
+
* [[Zlibar]] - Objects to create and extract a zlib compressed archive containing multiple files.
  
=== Database ===
+
=== Databases ===
* [[fb embedded2 Laz]] - Using a FireBird 2.0.3 server included in your executable with Lazarus by including the Firebird DLLs as a resource. Note: the word "embedded" does not mean [[Firebird embedded|regular embedded Firebird]] here
+
* [[fb embedded2 Laz]] - Using a FireBird server included in your executable with Lazarus by including the Firebird DLLs as a resource. Note: the word "embedded" does not mean [[Firebird embedded|regular embedded Firebird]] here.
* [[IBX]] - Component for direct connecting to FirebirdSQL
+
* [[IBX]] - Component for direct connecting to FirebirdSQL.
* [[ioda]] is a fulltext database: a word indexing and retrieving engine  
+
* [[ioda]] - A full-text database: a word indexing and retrieving engine.
* [[tiOPF]] - TechInsite Object Persistent Framework (Ver. 2)
+
* [[tiOPF]] - TechInsite Object Persistent Framework.
* [[TParadoxDataSet]] - A TDataSet implementation that can read Paradox files up to Version 7 (and up ??)
+
* [[TParadoxDataSet]] - A TDataSet implementation that can read Paradox files up to version 7 (and up?).
* [[TPSQL]] - Components for connecting to PostgreSQL database servers
+
* [[TPSQL]] - Components for connecting to PostgreSQL database servers.
* [[SQLitePass]] - Components for connecting to SQLite database
+
* [[SQLitePass]] - Components for connecting to SQLite database.
* [[ZeosDBO]] - Component for connecting to multiple database (Firebird, PostgreSQL, MySQL, Oracle)
+
* [[ZeosDBO]] - Component for connecting to multiple database (Firebird, PostgreSQL, MySQL, Oracle).
* [[ZMSQL]] - TBufDataset SQL enhanced in-memory database, storing data as delimited text files
+
* [[ZMSQL]] - TBufDataset SQL enhanced in-memory database, storing data as delimited text files.
  
 
===Graphics===
 
===Graphics===
* [http://www.kluug.net/delphitwain.php DelphiTwain] - Library that lets you scan documents using the TWAIN interface on Windows
+
* [http://www.kluug.net/delphitwain.php DelphiTwain] - Library that lets you scan documents using the TWAIN interface on Windows.
* [[Graphics libraries]] - here you can see the main graphic libraries you can use to develop.
+
* [[Graphics libraries]] - Main graphic libraries you can use to develop.
* [[pyramidtiff]] - a command line tool to create from an image file a tiff file with multiple resolutions usable with iipimage and other high resolution image viewers.
+
* [[pyramidtiff]] - A command line tool to create from an image file a TIFF file with multiple resolutions usable with iipimage and other high resolution image viewers.
  
 
'''2D Drawing'''
 
'''2D Drawing'''
* [[ZenGL]] - cross-platform game development library using OpenGL.
+
* [[ZenGL]] - Cross-platform game development library using OpenGL.
 
* [[BGRABitmap]] - Drawing shapes and bitmaps with transparency, direct access to pixels, etc.  
 
* [[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).
+
* [[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.  
+
* [[fpvectorial]] - Offers support to read, modify and write vectorial images.
 
* [[Double Gradient]] - Draw 'double gradient' & 'n gradient' bitmaps easy.
 
* [[Double Gradient]] - Draw 'double gradient' & 'n gradient' bitmaps easy.
 
* [[Gradient Filler]] - TGradientFiller is the best way to create custom n gradients in Lazarus.
 
* [[Gradient Filler]] - TGradientFiller is the best way to create custom n gradients in Lazarus.
* [[PascalMagick]] - an easy to use API for interfacing with [http://www.imagemagick.org ImageMagick], a multiplatform free software suite to create, edit, and compose bitmap images.
+
* [[PascalMagick]] - API for interfacing with [http://www.imagemagick.org ImageMagick], a multi-platform free software suite to create, edit, and compose bitmap images.
* [[Sample Graphics]] - graphics gallery created with Lazarus and drawing tools
+
* [[Sample Graphics]] - Graphics gallery created with Lazarus and drawing tools.
* [[Fast direct pixel access]] - speed comparison of some methods for direct bitmap pixel access
+
* [[Fast direct pixel access]] - Speed comparison of some methods for direct bitmap pixel access.
* [[SMNetGradient]] - A Gradient Fill component for Lazarus.
+
* [[SMNetGradient]] - A gradient fill component for Lazarus.
* [[TMetafile_/_TMetafileCanvas|TMetafile/TMetafileCanvas]] - EnhMetafile API implementation for Windows.
+
* [[TMetafile_/_TMetafileCanvas|TMetafile/TMetafileCanvas]] - Metafile API implementation for Windows.
  
 
'''3D Drawing'''
 
'''3D Drawing'''
  
* [[Castle Game Engine]], a 3D and 2D modern game engine with support for many data formats and graphic effects.
+
* [[Castle Game Engine]] - A 3D and 2D modern game engine with support for many data formats and graphic effects.
* [[GLScene]] - A port of the 3D visual OpenGL graphics Library [http://www.glscene.org GLScene]
+
* [[GLScene]] - A port of the 3D visual OpenGL graphics library [http://www.glscene.org GLScene].
 
* [[TOpenGLBox]] - A barebones OpenGL component for Lazarus that provides an OpenGL rendering area.
 
* [[TOpenGLBox]] - A barebones OpenGL component for Lazarus that provides an OpenGL rendering area.
  
 
'''Charts'''
 
'''Charts'''
  
* [[TAChart]] - Charting component for Lazarus
+
* [[TAChart]] - Charting component for Lazarus.
* [[PlotPanel]] - A plotting and charting component for animated graphs
+
* [[PlotPanel]] - A plotting and charting component for animated graphs.
 
* [[Perlin Noise]] - An article about using Perlin Noise on LCL applications.
 
* [[Perlin Noise]] - An article about using Perlin Noise on LCL applications.
  
 
===Multimedia===
 
===Multimedia===
* [[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.  
+
* [[ACS]] - Audio Component Suite, a collection of components to develop applications for audio playing/recording/processing. Can play wav/ogg/mp3/mp2/wma, can record from any recordable source, ripping and more.  
 
* [[Bluetooth]] - Accessing Bluetooth devices. For example the Wiimote.
 
* [[Bluetooth]] - Accessing Bluetooth devices. For example the Wiimote.
* [http://audorra.sourceforge.net/ Audorra] is a digital audio library for Delphi and Free pascal.
+
* [http://audorra.sourceforge.net/ Audorra] - A digital audio library for Delphi and Free Pascal.
* [http://www.breakoutbox.de/pascal/pascal.html#LibSndFile LibSndFile.dll] is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. The download also contains a GUI demo application written under Windows.
+
* [http://www.breakoutbox.de/pascal/pascal.html#LibSndFile LibSndFile.dll] - A C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. The download also contains a GUI demo application written under Windows.
* [http://www.breakoutbox.de/pascal/pascal.html#mpg123 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, macOS, 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 example code contains two wrapper files, tested under Windows 32bit only.
+
* [http://www.breakoutbox.de/pascal/pascal.html#mpg123 mpg123.dll] - 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, macOS, 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 example code contains two wrapper files, tested under Windows 32bit only.
* [https://github.com/fredvs/uos uos] (United Open-libraries of Sound) unifies the best open-source audio libraries. With uos you can: Listen to mp3, ogg, wav, flac, m4a, opus, cda ... audio files. Deal with 16, 32 integer or float 32 bit resolution. Do internet audio streaming of mp3 and opus files. Record all types of input into wav or ogg file with 16 or 32 bit resolution. Add DSP effects and filters, however many you want and record it. Listen to multiple input and output. Produce sound from built-in synthesizer.
+
* [https://github.com/fredvs/uos UOS] - (United Open-libraries of Sound) unifies the best open-source audio libraries. With uos you can: Listen to mp3, ogg, wav, flac, m4a, opus, cda ... audio files. Deal with 16, 32 integer or float 32 bit resolution. Do internet audio streaming of mp3 and opus files. Record all types of input into wav or ogg file with 16 or 32 bit resolution. Add DSP effects and filters, however many you want and record it. Listen to multiple input and output. Produce sound from built-in synthesizer.
  
 
=== Science and Technoloy ===
 
=== Science and Technoloy ===
* [[CyberUnits]]: A cross-platform class library for rapid programming of high-performance computer simulations in life sciences.
+
* [[CyberUnits]] - A cross-platform class library for rapid programming of high-performance computer simulations in life sciences.
* [[PUMA Repository]], a collection of Pascal units that support development of medical software with Lazarus and Free Pascal:
+
* [[PUMA Repository]] - A collection of Pascal units that support development of medical software with Lazarus and Free Pascal:
 
** PUMA Unit converter: Exports functionality to parse and convert measurement data consisting of a numeric value and a unit of measurement.  
 
** PUMA Unit converter: Exports functionality to parse and convert measurement data consisting of a numeric value and a unit of measurement.  
 
** PUMA HL7 engine: A collection of Pascal classes that support handling of HL7 messages.
 
** PUMA HL7 engine: A collection of Pascal classes that support handling of HL7 messages.
 
** PUMA EDFplus engine: A class library facilitating parsing, reading and writing European Data Format (EDF and EDF+) files
 
** PUMA EDFplus engine: A class library facilitating parsing, reading and writing European Data Format (EDF and EDF+) files
* [http://tcoq.free.fr/composants.html Runge-Kutta] a scientific component to integrate partial differential equations, using events.
+
* [http://tcoq.free.fr/composants.html Runge-Kutta] - A scientific component to integrate partial differential equations, using events.
  
 
===Tools===
 
===Tools===
* [[FpSystools]] - Conversion of TurboPower's Systools to Lazarus/FPC
+
* [[FpSystools]] - Conversion of TurboPower's Systools to Lazarus/FPC.
* [[DCPcrypt]] - DCPcrypt cryptographic component library
+
* [[DCPcrypt]] - DCPcrypt cryptographic component library.
* [[RXfpc]] - Some of the well known RXLib components converted to Lazarus
+
* [[RXfpc]] - Some of the well known RXLib components converted to Lazarus.
* [[MultiLog]] - A Log system designed for FPC/Lazarus
+
* [[MultiLog]] - A Log system designed for FPC/Lazarus.
* [[log4delphi]] - A Log system based on log4j
+
* [[log4delphi]] - A Log system based on log4j.
* [[OnGuard]] - A port of Turbo Power OnGuard
+
* [[OnGuard]] - A port of Turbo Power OnGuard.
* [[UniqueInstance]] - A component to force only one instance running at same time
+
* [[UniqueInstance]] - A component to force only one instance running at same time.
* [[XDev Toolkit]] - Cross-platform development tools
+
* [[XDev Toolkit]] - Cross-platform development tools.
* [[MouseAndKeyInput]] - Tool for cross-platform manipulation with mouse and keyboard input
+
* [[MouseAndKeyInput]] - Tool for cross-platform manipulation with mouse and keyboard input.
* [[PascalSane]] - Bindings for the libsane scanner API, with demo application
+
* [[PascalSane]] - Bindings for the libsane scanner API, with demo application.
* [[fppkggui]] - A simple GUI for [[fppkg]]
+
* [[fppkggui]] - A simple GUI for [[fppkg]].
* [[SymScan]] - Barcode scanner interface for Symbol/Motorola MC series handhelds
+
* [[SymScan]] - Barcode scanner interface for Symbol/Motorola MC series handhelds.
* [[UTF8 Tools]] - Handle UTF-8 code points, detect Unicode char classes
+
* [[UTF8 Tools]] - Handle UTF-8 code points, detect Unicode char classes.
* [[Delphi form to HTML converter]] - Convert Delphi forms to HTML
+
* [[Delphi form to HTML converter]] - Convert Delphi forms to HTML.
* [[InstantFPC]] - Run Pascal programs as Unix scripts
+
* [[InstantFPC]] - Allows to run Pascal programs as Unix scripts.
* [[LazProfiler]] - IDE addon for One-Click-Profiling of your project
+
* [[LazProfiler]] - IDE add-on for one-click profiling of your project.
  
 
===Edit controls and viewers===
 
===Edit controls and viewers===
* [[ATSynEdit]] - Editor control with syntax hiliting (alternative to SynEdit)
+
* [[ATSynEdit]] - Multi-line editor control with syntax highlighting, alternative to SynEdit.
* [[ATBinHex]] - Viewer-only for files of unlimited size (8Gb+)
+
* [[ATBinHex]] - Viewer-only component for files of unlimited size (doesn't load entire file to memory).
* [[SynEdit]] - Editor control with syntax hiliting, used in the Lazarus IDE
+
* [[SynEdit]] - Editor control with syntax highlighting, used in the Lazarus IDE.
* [[SynEdit/port]] - SynEdit 2.0.x port
+
* [[SynEdit/port]] - SynEdit 2.0.x port.
* [[PowerPDF]] - Port of the PowerPDF components for Lazarus
+
* [[PowerPDF]] - Port of the PowerPDF components for Lazarus.
* [[RichMemo]] - Rich-text editor and viewer (cross-platform)
+
* [[RichMemo]] - Rich-text editor and viewer (cross-platform).
* [[RichView]] - Port of the TRichView Freeware Edition components to Lazarus
+
* [[RichView]] - Port of the TRichView Freeware Edition components to Lazarus.
  
 
===Networking===
 
===Networking===
* [[BeepFp]] - BEEP Protocol framework
+
* [[BeepFp]] - BEEP Protocol framework.
* [[FPC_and_Apache_Modules|FPC and Apache Modules]] - Headers for creating Apache modules with fpc
+
* [[FPC_and_Apache_Modules|FPC and Apache Modules]] - Headers for creating Apache modules with FPC.
* [https://bitbucket.org/mararosas/fpctwit/src/default/ fpctwit] FreePascal OAuth v1 library using Synapse. Sample FPC plurk, twitter clients. Sample Lazarus twitter client.
+
* [[fpctwit]] - OAuth v1 library using Synapse. Sample Plurk, Twitter clients. Sample Lazarus Twitter client.
* [https://github.com/hprose/hprose-delphi Hprose] - Hprose is a High Performance Remote Object Service Engine. It is a fast serialize and RPC library for Delphi and FreePascal.
+
* [https://github.com/hprose/hprose-delphi Hprose] - High performance remote object service engine. It has fast serialize and RPC library for Delphi and Free Pascal.
 
* [[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.
 
* [[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.
* [[Sockets]] - TCP/IP Sockets components
+
* [[Sockets]] - TCP/IP sockets components.
* [[Web_Service_Toolkit|Web Services Toolkit]] - Web Services authoring and consumption
+
* [[Web_Service_Toolkit|Web Services Toolkit]] - Web Services authoring and consumption.
* [http://libtml.org TML Messaging Suite] A network messaging library for rapid development of extensible and scalable interfaces.
+
* [http://libtml.org TML Messaging Suite] - Network messaging library for rapid development of extensible and scalable interfaces.
 
 
===File formats===
 
* <strike>[[Xml/CSV/TxtSYMFONIA Parsers]] - Parsers components for XML/CSV/TXT(symfonia). Parser's is very quick for reading XML/CSV/TXTsymfonia Files.</strike>.  17-08-2018 https://github.com/SamuelAdama/parsery not found (Error 404).
 
  
 
===Containers===
 
===Containers===
* [https://github.com/hprose/hprose-delphi Hprose] - It provides a collection of Variant type containers, such as IList, IMap, TArrayList, THashedList, TCaseInsensitiveHashedList, THashMap, THashedMap, TCaseInsensitiveHashMap, TCaseInsensitiveHashedMap, TSmartObject, etc.
+
* [https://github.com/hprose/hprose-delphi Hprose] - A collection of Variant type containers, such as IList, IMap, TArrayList, THashedList, TCaseInsensitiveHashedList, THashMap, THashedMap, TCaseInsensitiveHashMap, TCaseInsensitiveHashedMap, TSmartObject, etc.
* [[StringHashMap]] - String -> Pointer associative map container. Fast and memory efficient.
+
* [[StringHashMap]] - String-to-pointer associative map container. Fast and memory efficient.
* [https://github.com/avk959/LGenerics LGenerics] - provides a wide range of generic containers.
+
* [[LGenerics]] - Library with wide range of generic containers.
  
 
===System===
 
===System===
Line 198: Line 195:
 
* [[TTDINotebook]] - A component that provides a Tabbed Document Interface ([http://en.wikipedia.org/wiki/Tabbed_document_interface TDI]).  
 
* [[TTDINotebook]] - A component that provides a Tabbed Document Interface ([http://en.wikipedia.org/wiki/Tabbed_document_interface TDI]).  
 
* [[Python4Delphi]] - A port of Python4Delphi that allows you to use Python scripts with Lazarus/FPC.
 
* [[Python4Delphi]] - A port of Python4Delphi that allows you to use Python scripts with Lazarus/FPC.
* [[TrayIcon]] - A multiplatform System Tray component
+
* [[TrayIcon]] - A multi-platform system tray component.
 
* [[TPopupNotifier]] - How to use TPopupNotifier to show "balloon help".
 
* [[TPopupNotifier]] - How to use TPopupNotifier to show "balloon help".
* [[Yet another Running Timer]] - A thread safe timer
+
* [[Yet another Running Timer]] - A thread-safe timer.
  
 
=== Visual components ===
 
=== Visual components ===
  
* [[ATButton]] - OS-independant flat button [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATButton]] - OS-independant flat button, part of [[ATFlatControls]].
* [[ATGroups]] - Six page-controls, each based on ATTabs [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATGroups]] - One-to-six page-controls, each based on ATTabs, part of [[ATFlatControls]].
* [[ATGauge]] - Replacement for Delphi's TGauge [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATGauge]] - Replacement for Delphi's TGauge, part of [[ATFlatControls]].
* [[ATLinkLabel]] - A label which shows a clickable URL [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATLinkLabel]] - A label which shows a clickable URL, part of [[ATFlatControls]].
* [[ATListbox]] - OS-independant Listbox, owner-drawn [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATListbox]] - OS-independant Listbox, owner-drawn, part of [[ATFlatControls]].
* [[ATScrollBar]] - Scrollbar, not OS-themed, owner-drawn [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATScrollBar]] - Scrollbar, not OS-themed, owner-drawn, part of [[ATFlatControls]].
* [[ATStatusBar]] - Statusbar, not OS-themed, owner-drawn [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATStatusBar]] - Statusbar, not OS-themed, owner-drawn, part of [[ATFlatControls]].
* [[ATTabs]] - Tab-control, not OS-themed, owner-drawn [https://github.com/Alexey-T/ATFlatControls ATFlatControls].
+
* [[ATTabs]] - Tab-control, not OS-themed, owner-drawn, part of [[ATFlatControls]].
 
* [[BGRAControls]] - Components which are using the power of the [[BGRABitmap]] package. BGRAImageList, BGRASpeedButton, BGRAButton, BGRAPanel.
 
* [[BGRAControls]] - Components which are using the power of the [[BGRABitmap]] package. BGRAImageList, BGRASpeedButton, BGRAButton, BGRAPanel.
* [[ChemText]] - a label which displays subscripts and superscripts in chemical formulas.
+
* [[ChemText]] - A label which displays subscripts and superscripts in chemical formulas.
* [[CmdLine]] - A Prompt as visual control.
+
* [[CmdLine]] - A command-line prompt as visual control.
 
* [[ColorBox]] - Color picker with preview.
 
* [[ColorBox]] - Color picker with preview.
 
* [[ColorPalette]] - A color palette grid with ability to use custom palette.
 
* [[ColorPalette]] - A color palette grid with ability to use custom palette.
Line 221: Line 218:
 
* [[FileMenuHandler]] - Handles recent files list and Open, Save, Save As, Exit Commands.
 
* [[FileMenuHandler]] - Handles recent files list and Open, Save, Save As, Exit Commands.
 
* [[GeckoPort]] - Lazarus port of Takanori Ito's Gecko SDK for Delphi, including TGeckoBrowser.
 
* [[GeckoPort]] - Lazarus port of Takanori Ito's Gecko SDK for Delphi, including TGeckoBrowser.
 +
* [[GridLayout]] - Component to arrange other components in a grid.
 
* [[jujiboutils]] - Set of components to input and validate different kinds of data, floats, dates, etc.
 
* [[jujiboutils]] - Set of components to input and validate different kinds of data, floats, dates, etc.
 
* [[JvXPBar]] - A port of [http://jvcl.sourceforge.net JVCL's] TJvXPBar control that can display an icon, a header and zero or more clickable items in its client area.
 
* [[JvXPBar]] - A port of [http://jvcl.sourceforge.net JVCL's] TJvXPBar control that can display an icon, a header and zero or more clickable items in its client area.
Line 238: Line 236:
 
* [[VirtualDBTreeEx]] - Checking interface built with data with checking rules, inherits [[VirtualTreeview]].
 
* [[VirtualDBTreeEx]] - Checking interface built with data with checking rules, inherits [[VirtualTreeview]].
 
* [[Wile64]] - Components for Lazarus: TGifAnim, TColorProgress, TLabelCut etc.
 
* [[Wile64]] - Components for Lazarus: TGifAnim, TColorProgress, TLabelCut etc.
* [[ZVDateTimeControls Package]] - This package contains TZVDateTimePicker (the clone of Delphi's TDateTimePicker) and TDBZVDatePicker (a data aware version of TZVDateTimePicker).
+
* [[ZVDateTimeControls Package]] - Package contains TZVDateTimePicker (the clone of Delphi's TDateTimePicker) and TDBZVDatePicker (a data aware version of TZVDateTimePicker).
  
 
=== Lazarus IDE Extensions ===  
 
=== Lazarus IDE Extensions ===  
 
* [[Manual Docker]] - The extension allows Messages window to dock to the source editor.
 
* [[Manual Docker]] - The extension allows Messages window to dock to the source editor.
* [[wndInspector_FF8S|wndInspector FF8S]] - IDE Window Inspector Find File & Select
+
* [[wndInspector_FF8S|wndInspector FF8S]] - IDE window inspector find file & select.
 
* See also [[:Category:Lazarus_IDE_plugins|Lazarus IDE plugins]].
 
* See also [[:Category:Lazarus_IDE_plugins|Lazarus IDE plugins]].
  
Line 258: Line 256:
  
 
==Commercial Packages for FPC/Lazarus==
 
==Commercial Packages for FPC/Lazarus==
* AnyDAC [http://www.da-soft.com/anydac/ AnyDAC] is a commercial data access library. It has been ported to Lazarus. AnyDAC supports Firebird, MySQL, Oracle, PostgreSQL, SQLite, Interbase, SQL Server, IBM DB2, SQL Anywhere and ODBC on Windows and Linux 32bit platforms. The MS Access and dbExpress are supported on Win32 platform only. In plans to add all drivers support on Win x64, Linux x64, MacOS 32bit and x64 platforms.
+
* [http://www.da-soft.com/anydac/ AnyDAC] - A commercial data access library, ported to Lazarus. Supports Firebird, MySQL, Oracle, PostgreSQL, SQLite, Interbase, SQL Server, IBM DB2, SQL Anywhere and ODBC on Windows and Linux 32bit platforms. The MS Access and dbExpress are supported on Win32 platform only. In plans to add all drivers support on Win x64, Linux x64, macOS 32-bit and x64 platforms.
  
*Devart PostgreSQL Data Access Components (PgDAC)  - http://www.devart.com/pgdac/ - PostgreSQL Components that use native wire protocol no libpq needed.
+
* [http://www.devart.com/pgdac/ Devart PostgreSQL Data Access Components (PgDAC)] - PostgreSQL components that use native wire protocol no libpq needed.
*Devart SecureBridge Components - http://www.devart.com/sbridge/ - SSH/SFTP/SSL components Easily create SSH tunnels and SFTP clients and much more.
+
* [http://www.devart.com/sbridge/ Devart SecureBridge Components] - SSH/SFTP/SSL components to easily create SSH tunnels and SFTP clients and much more.
*Devart Universal Data Access Components (UniDAC)  - https://www.devart.com/unidac/ - direct access to multiple databases
+
* [https://www.devart.com/unidac/ Devart Universal Data Access Components (UniDAC)] - Components for direct access to multiple databases.
  
*TMS FNC UI Pack - http://www.tmssoftware.com/site/tmsfncuipack.asp - UI controls for 3 frameworks and 5+ operating systems
+
* [http://www.tmssoftware.com/site/tmsfncuipack.asp TMS FNC UI Pack] - UI controls for 3 frameworks and 5+ operating systems.
*TMS FlexCel Studio for VCL/LCL - http://www.tmssoftware.com/site/flexcel.asp - A Spreadsheet component (only older component shown here? [http://www.tmssoftware.com/site/flexcelv3.asp]
+
* [http://www.tmssoftware.com/site/flexcel.asp TMS FlexCel Studio for VCL/LCL] - A spreadsheet component. Only older component is shown [http://www.tmssoftware.com/site/flexcelv3.asp here].
*TMS LCL Cloud Pack - http://www.tmssoftware.com/site/tmslclcloudpack.asp - Seamless access to cloud services
+
* [http://www.tmssoftware.com/site/tmslclcloudpack.asp TMS LCL Cloud Pack] - Seamless access to cloud services.
  
*IB Objects - http://www.ibobjects.com/ - for developing client and service applications for InterBase/Firebird
+
* [http://www.ibobjects.com/ IB Objects] - For developing client and service applications for InterBase/Firebird.
*FastReport for Lazarus beta - https://www.fast-report.com/en/product/fast-report-lazarus/ - reporting tool component
+
* [https://www.fast-report.com/en/product/fast-report-lazarus/ FastReport for Lazarus] - Reporting tool component.
  
*OptiVec for Lazarus - http://www.optivec.com/ - high-performance vector and matrix library: math, analysis, statistics, linear algebra, FFT, signal processing, curve-fitting etc. (Win64 only)
+
* [http://www.optivec.com/ OptiVec for Lazarus] - High-performance vector and matrix library: math, analysis, statistics, linear algebra, FFT, signal processing, curve-fitting etc. Windows 64-bit only.
  
 
==Example programs==
 
==Example programs==
Line 301: Line 299:
  
 
==RTL, FCL and LCL Usage examples==
 
==RTL, FCL and LCL Usage examples==
* [[Manager Worker Threads System]] - An example of how to design a Manager Worker Thread Application.
+
* [[Manager Worker Threads System]] - How to design a manager worker thread application.
* [[Dialog Examples]] - useful dialogs not found in the Component Palette
+
* [[Dialog Examples]] - Useful dialogs not found in the Component Palette.
* [[Howto Use TOpenDialog]] - How to use the FileOpen Dialog
+
* [[Howto Use TOpenDialog]] - How to use the File/Open dialog.
* [[Howto Use TSaveDialog]] - How to use the FileSave Dialog
+
* [[Howto Use TSaveDialog]] - How to use the File/Save dialog.
* [[ServiceManager]] - How to use the ServiceManager to handle running services
+
* [[ServiceManager]] - How to use the ServiceManager to handle running services.
  
 
==See Also==
 
==See Also==

Latest revision as of 08:32, 26 April 2022

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)

fpc source logo.png
lazarus source logo.png

Default components provided by Lazarus

The rest of this page covers components not delivered with Lazarus. For the default components provided with Lazarus, please see Lazarus Components Directory.

As Lazarus uses the FPC compiler, you can also use packages provided by FPC. See Package List.

Lazarus-CCR Released Components

Note-icon.png

Note: This list is not complete. A lot of components in Lazarus-CCR are mentioned under the not hosted here section

Note-icon.png

Note: Please move ONLY the components/applications/programs in the Lazarus CCR repository from the list below into this list

Lazarus-CCR archiving

Lazarus-CCR 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 (XLS, XLSX, Excel XML) and OpenOffice. It also supports these file types: CSV, HTML, Wikitables.
  • fpvectorial - Text Document Support - A library for handling text document files. Currently supports exporting to .docx and .odt file formats only.

Lazarus-CCR tools

  • ExtraSyn - Additional highlighters for TSynEdit.
  • LazBarcodes - Generate barcodes (QRCode, Aztec, DataMatrix etc).

Lazarus-CCR visual components

  • Flag component - A collection of country flags.
  • Fshcomp - Edit components.
  • HistoryFiles - A component for store the recent files list into an .ini file and show the result into a menu.
  • LongTimer - Visual component based on TIdleTimer working with long intervals (daily, weekly or monthly).
  • Poweredby - Visual drop-in component to show a 'Powered by Lazarus' splash screen for 1 second on TForm.Create to promote Lazarus/FPC.
  • ScrollText - Visual component that displays up-scrolling text (like a Credits screen).
  • TPlaySound - Visual component to play WAV files in Windows and Linux.

Packages/Programs for FPC/Lazarus (not hosted here)

Uncategorized

  • 5dpo (5dpo Component Library - Sdpo) - A set of components released by the 5dpo Robotic Soccer Team.
  • Brook Framework - The perfect Free Pascal framework for your web applications.
  • CUPS for Lazarus project - Common UNIX Printing System for FPC/Lazarus. NOTE: obsolete. Replaced by Printer4Lazarus package included in current Lazarus versions.
  • DateControls Package for Lazarus - Superseded by DateTimeCtrls Package which is included in Lazarus since v1.4.
  • Diagram - A unit to draw a diagram using a model/view system.
  • DelphiWebScript - Object-oriented scripting engine based on Object Pascal.
  • dfsSplitter: a Netscape look alike splitter. See forum thread.
  • 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 library to access Firebird server.
  • FreeImage - An open source library project which supports popular graphics image formats like PNG, BMP, JPEG, TIFF and others (works with Windows, Linux and macOS). PicViewer is a Example Application (Windows only) and shows basic usage of this DLL.
  • Fundamentals Code Library - Libraries for Unicode, strings, data structures, sockets and mathematics.
  • GolfmlClass - A class to accept data via properties and write a well-formed golfml XML golf information exchange file.
  • Greyhound Project - A tiny ORM-ish for Free Pascal. You can use SQLdb, Zeos or whatever you want to connect to a DBMS.
  • ICU4PAS - An Object Pascal, cross platform, Direct Class Wrapper over the ICU libraries. ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.
  • Indy
  • Internet Tools - A set of units for webpage processing: HTML/XML parser with SAX/DOM-like interface, XPath 2 / XQuery expressions engine, CSS 3 selectors, templates with XML pattern-matching and a HTTP/HTTPS connection wrapper (around Synapse and WinInet).
  • ioda - A full-text search database: a word indexing and retrieving engine. It stores unique words from a file or database source in a btree and their repeaters in an flexible and highly space optimized list structure. Each stored word "knows" its source, position in the source and some (optional) info bytes.
  • JEDI-SDL - Pascal headers for SDL library.
  • lazarus-zlib - Library with simple functions for work with zlib-archives (it uses the original zlib source, compiled in obj-files).
  • LGenerics - Containers, graphs, algorithms on graphs.
  • nixie - Numerical display using images of nixie tubes.
  • Pascal LZMA SDK
  • Notepad++ plugin template for Lazarus - A demo template that should get you started quickly with writing your own plugin for the free (Windows only) Notepad++ text editor. Ported from the existing Delphi template.
  • PascalSCADA - A set of components to make easy the development of HMI/SCADA applications (applications that needs interact with PLC's and others industrial devices).
  • Pascal Script is a RemObjects pascal script interpreter. See Pascal Script. It is also used in the Lazarus IDE to provide scripting functionality.
  • PortAudio - A portable cross-platform audio API currently available for Windows, macOS, Unix (OSS/ALSA), SGI, and BeOS. It allows cross-platform compatible source code also in LAZARUS. The download 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.
  • QRcode - QR-code generator (bitwise and PNG).
  • qxotica - Tools for creating qooxdoo Web apps. Develop both the JavaScript qooxdoo-based client and the Pascal server app in Lazarus.
  • RackCtls - A collection of components with a "Hi-Fi system" appearance.
  • RealThinClient SDK - Components for building stable HTTP(S) clients, servers, routers, proxies, load balancers and ISAPIs with Delphi/Lazarus.
  • SplashAbout - A simple object to drop in your app that creates a splash screen and About dialog with the minimum of effort (non-visual version).
    • Note: Use SplashAbout for a visual drop-in component version.
  • Synapse - Starting with version 32, Lucas Gebauer's outstanding 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.
  • Synedit-Port - SynEdit 2.0.5 port. SynEdit is an advanced multi-line edit control.
  • TTreeListView - The combination of a TTreeView with a TListView, showing items in a tree with columns.
  • UltraStar Deluxe - Headers for the following libraries for Windows, Linux and macOS (with a few exceptions): portaudio, bass, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.

Archiving

  • bzip2lib - Stream classes for bzip2 compression and decompression.
  • 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.
  • PeaZip - Cross-platform archive/zip/7z/etc manager similar to WinZip or 7zip Explorer. Written in Lazarus.
  • ZipFile - Component that encapsulates a zipfile, you can read and write from it as if it's a filesystem.
  • Zlibar - Objects to create and extract a zlib compressed archive containing multiple files.

Databases

  • fb embedded2 Laz - Using a FireBird server included in your executable with Lazarus by including the Firebird DLLs as a resource. Note: the word "embedded" does not mean regular embedded Firebird here.
  • IBX - Component for direct connecting to FirebirdSQL.
  • ioda - A full-text database: a word indexing and retrieving engine.
  • tiOPF - TechInsite Object Persistent Framework.
  • TParadoxDataSet - A TDataSet implementation that can read Paradox files up to version 7 (and up?).
  • TPSQL - Components for connecting to PostgreSQL database servers.
  • SQLitePass - Components for connecting to SQLite database.
  • ZeosDBO - Component for connecting to multiple database (Firebird, PostgreSQL, MySQL, Oracle).
  • ZMSQL - TBufDataset SQL enhanced in-memory database, storing data as delimited text files.

Graphics

  • DelphiTwain - Library that lets you scan documents using the TWAIN interface on Windows.
  • Graphics libraries - Main graphic libraries you can use to develop.
  • pyramidtiff - A command line tool to create from an image file a TIFF file with multiple resolutions usable with iipimage and other high resolution image viewers.

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 - API for interfacing with ImageMagick, a multi-platform 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 - Metafile API implementation for Windows.

3D Drawing

  • Castle Game Engine - A 3D and 2D modern game engine with support for many data formats and graphic effects.
  • GLScene - A port of the 3D visual OpenGL graphics library GLScene.
  • TOpenGLBox - A barebones OpenGL component for Lazarus that provides an OpenGL rendering area.

Charts

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

Multimedia

  • ACS - Audio Component Suite, a collection of components to develop applications for audio playing/recording/processing. Can play wav/ogg/mp3/mp2/wma, can record from any recordable source, ripping and more.
  • Bluetooth - Accessing Bluetooth devices. For example the Wiimote.
  • Audorra - A digital audio library for Delphi and Free Pascal.
  • LibSndFile.dll - A C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. The download also contains a GUI demo application written under Windows.
  • mpg123.dll - 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, macOS, 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 example code contains two wrapper files, tested under Windows 32bit only.
  • UOS - (United Open-libraries of Sound) unifies the best open-source audio libraries. With uos you can: Listen to mp3, ogg, wav, flac, m4a, opus, cda ... audio files. Deal with 16, 32 integer or float 32 bit resolution. Do internet audio streaming of mp3 and opus files. Record all types of input into wav or ogg file with 16 or 32 bit resolution. Add DSP effects and filters, however many you want and record it. Listen to multiple input and output. Produce sound from built-in synthesizer.

Science and Technoloy

  • CyberUnits - A cross-platform class library for rapid programming of high-performance computer simulations in life sciences.
  • PUMA Repository - A collection of Pascal units that support development of medical software with Lazarus and Free Pascal:
    • PUMA Unit converter: Exports functionality to parse and convert measurement data consisting of a numeric value and a unit of measurement.
    • PUMA HL7 engine: A collection of Pascal classes that support handling of HL7 messages.
    • PUMA EDFplus engine: A class library facilitating parsing, reading and writing European Data Format (EDF and EDF+) files
  • Runge-Kutta - A scientific component to integrate partial differential equations, using events.

Tools

  • FpSystools - Conversion of TurboPower's Systools to Lazarus/FPC.
  • DCPcrypt - DCPcrypt cryptographic component library.
  • RXfpc - Some of the well known RXLib components converted to Lazarus.
  • MultiLog - A Log system designed for FPC/Lazarus.
  • log4delphi - A Log system based on log4j.
  • 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 keyboard input.
  • PascalSane - Bindings for the libsane scanner API, with demo application.
  • fppkggui - A simple GUI for fppkg.
  • SymScan - Barcode scanner interface for Symbol/Motorola MC series handhelds.
  • UTF8 Tools - Handle UTF-8 code points, detect Unicode char classes.
  • Delphi form to HTML converter - Convert Delphi forms to HTML.
  • InstantFPC - Allows to run Pascal programs as Unix scripts.
  • LazProfiler - IDE add-on for one-click profiling of your project.

Edit controls and viewers

  • ATSynEdit - Multi-line editor control with syntax highlighting, alternative to SynEdit.
  • ATBinHex - Viewer-only component for files of unlimited size (doesn't load entire file to memory).
  • SynEdit - Editor control with syntax highlighting, used in the Lazarus IDE.
  • SynEdit/port - SynEdit 2.0.x port.
  • PowerPDF - Port of the PowerPDF components for Lazarus.
  • RichMemo - Rich-text editor and viewer (cross-platform).
  • RichView - Port of the TRichView Freeware Edition components to Lazarus.

Networking

  • BeepFp - BEEP Protocol framework.
  • FPC and Apache Modules - Headers for creating Apache modules with FPC.
  • fpctwit - OAuth v1 library using Synapse. Sample Plurk, Twitter clients. Sample Lazarus Twitter client.
  • Hprose - High performance remote object service engine. It has fast serialize and RPC library for Delphi and Free Pascal.
  • 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.
  • Sockets - TCP/IP sockets components.
  • Web Services Toolkit - Web Services authoring and consumption.
  • TML Messaging Suite - Network messaging library for rapid development of extensible and scalable interfaces.

Containers

  • Hprose - A collection of Variant type containers, such as IList, IMap, TArrayList, THashedList, TCaseInsensitiveHashedList, THashMap, THashedMap, TCaseInsensitiveHashMap, TCaseInsensitiveHashedMap, TSmartObject, etc.
  • StringHashMap - String-to-pointer associative map container. Fast and memory efficient.
  • LGenerics - Library with wide range of generic containers.

System

  • Bluetooth - Accessing Bluetooth devices.
  • EpikTimer - Precision timer component written specifically for Lazarus.
  • FileAssociation - Register file associations for all Windows versions. This includes Default Programs feature for Vista+.
  • Manager Worker Threads System - Manager Worker Thread system to process simultaneous data objects in real-time.
  • MDButtonsBar - ButtonsBar to MultiDoc Component.
  • MPICH - Bindings for the MPI - Message Passing Interface. Distributed computing.
  • MultiDoc - A component to write pseudo-MDI application with Lazarus.
  • TTDINotebook - A component that provides a Tabbed Document Interface (TDI).
  • Python4Delphi - A port of Python4Delphi that allows you to use Python scripts with Lazarus/FPC.
  • TrayIcon - A multi-platform system tray component.
  • TPopupNotifier - How to use TPopupNotifier to show "balloon help".
  • Yet another Running Timer - A thread-safe timer.

Visual components

  • ATButton - OS-independant flat button, part of ATFlatControls.
  • ATGroups - One-to-six page-controls, each based on ATTabs, part of ATFlatControls.
  • ATGauge - Replacement for Delphi's TGauge, part of ATFlatControls.
  • ATLinkLabel - A label which shows a clickable URL, part of ATFlatControls.
  • ATListbox - OS-independant Listbox, owner-drawn, part of ATFlatControls.
  • ATScrollBar - Scrollbar, not OS-themed, owner-drawn, part of ATFlatControls.
  • ATStatusBar - Statusbar, not OS-themed, owner-drawn, part of ATFlatControls.
  • ATTabs - Tab-control, not OS-themed, owner-drawn, part of ATFlatControls.
  • BGRAControls - Components which are using the power of the BGRABitmap package. BGRAImageList, BGRASpeedButton, BGRAButton, BGRAPanel.
  • ChemText - A label which displays subscripts and superscripts in chemical formulas.
  • CmdLine - A command-line prompt as visual control.
  • ColorBox - Color picker with preview.
  • ColorPalette - A color palette grid with ability to use custom palette.
  • Eye-Candy Controls - Package on more than twenty OS-themed controls incl. slider, ruler, button, multi-column checklistbox and many others.
  • Extended - A last level visual components package, which can manage a management software linked to data.
  • FileMenuHandler - Handles recent files list and Open, Save, Save As, Exit Commands.
  • GeckoPort - Lazarus port of Takanori Ito's Gecko SDK for Delphi, including TGeckoBrowser.
  • GridLayout - Component to arrange other components in a grid.
  • jujiboutils - Set of components to input and validate different kinds of data, floats, dates, etc.
  • 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.
  • Lui Controls - A set of visual controls (TToggleLabel, TMenuButton).
  • OrphPort - Subset of TurboPower's Orpheus controls.
  • RingChart and AnalogWatch - Another Elliptical Chart and an Analogic Watch for Lazarus and FPC.
  • SplashAbout - Splash and About dialogs from a visual drop-in component.
  • Spook's Panel Components - A collection of panel components.
  • TSubForm - A Data-Aware SubForm that replicates controls based on records in a dataset.
  • Turbopower Visual PlanIt - A port of the Planner Components.
  • TGradButton - A good looking button component.
  • TMyRollOut and ExpandPanel - A collapsable panel with a button (like TJvRollOut).
  • THtmlPort - Lazarus port of Dave Baldwin's HTML Components (THtmlViewer, TFrameViewer, TFrameBrowser).
  • TRepeatButton is a descendent of TSpeedButton with a repeat property. So, if you keep the mouse pressed on the button, it will repeat the code from the onClick event, until the mouse is released.
  • uE Controls - A set of instrumentation controls for Lazarus and Free Pascal, compilable under Windows and Linux.
  • VirtualTreeview - Port of VirtualTreeview from Soft-Gems.
  • VirtualDBTreeEx - Checking interface built with data with checking rules, inherits VirtualTreeview.
  • Wile64 - Components for Lazarus: TGifAnim, TColorProgress, TLabelCut etc.
  • ZVDateTimeControls Package - Package contains TZVDateTimePicker (the clone of Delphi's TDateTimePicker) and TDBZVDatePicker (a data aware version of TZVDateTimePicker).

Lazarus IDE Extensions

Hardware Access


National Instruments PCI,PCI-e,PXI,PXI-e measurement (DAQ) cards

National Instruments PCI,PCI-e,PXI,PXI-e oscilloscope/digitizer cards cards

Commercial Packages for FPC/Lazarus

  • AnyDAC - A commercial data access library, ported to Lazarus. Supports Firebird, MySQL, Oracle, PostgreSQL, SQLite, Interbase, SQL Server, IBM DB2, SQL Anywhere and ODBC on Windows and Linux 32bit platforms. The MS Access and dbExpress are supported on Win32 platform only. In plans to add all drivers support on Win x64, Linux x64, macOS 32-bit and x64 platforms.
  • OptiVec for Lazarus - High-performance vector and matrix library: math, analysis, statistics, linear algebra, FFT, signal processing, curve-fitting etc. Windows 64-bit only.

Example programs

There are a LOT of example programs in the examples directory of your Lazarus installation.

See also:

Example programs not supplied with Lazarus:

  • Contacts Database - An expanded version of the address book example with reports.
  • Creating LCL Control From Libraries - Shows you how to create and manage LCL UI controls in an application from plug-ins (dll/so/dynlib).
  • Dependency Calculator Dependency Calculator: demonstrates topological sort algorithm to sort dependencies (directory dependencycalculator)
  • JCSV (Jans CSV Components) - Working Example of TJansCSV Component Set
  • IniEdit - Iniedit: a small application/form that shows how to use Synmemo to show syntax-highlighted ini file editing, as well as using a timer and controls to simultaneously edit another part of the ini (directory iniedit)
  • How To Use Interfaces - Working Example of Interfaces and generics.
  • Kaldemonia - Google Searcher shows simple threading, using Synapse networking library.
  • Libview - Views all exported function names of a given library.
  • LRS_Explorer - A little software to add some pictures, music, etc.. into a Lazarus resource (lrs) file.
  • Micro-mainframe Transmission Command Generator for IBM Mainframes
  • OpenGL Tutorial - Example code for the OpenGL tutorial
  • Robot - The Game - Very easy written sample for beginners
  • SSHClient - SSHClient: complete Windows demo of Synapse+encryption units that implement an SSH terminal. Includes required DLLs. (directory SSHClient)
  • Sudoku - A Sudoku solver.
  • SysRec - Video Capturing and Recording application, you can download it here.
  • Synapse - The Synapse page has an SSH/Telnet client unit and example program that demonstrates running commands on servers. See also SSHClient above.
  • TSqlite3 Master Detail Example - Working Master Detail Example using 3 small tables and sqlite components.
  • LDBase - A Database agent to create and to modify tables dbf

RTL, FCL and LCL Usage examples

See Also