ibase
You can use Free Pascal to access an Interbase or Firebird database server from Linux and Windows.
- Library
- Lazarus

30,057 projects in the catalog.
Free Pascal, Lazarus and Delphi components, libraries and programs from GitHub, SourceForge, Codeberg, GitLab and more. Rate them, mark what looks interesting, and talk about them on their benches.
You can use Free Pascal to access an Interbase or Firebird database server from Linux and Windows.
file:tparadoxdataset_150.png TParadoxDataSet is a TDataSet that can read ( but not write! ) Paradox files up to Version 7.
UniqueInstance provides an easy way to force only one instance per application running at same time. To install this component on your component palette, the easiest way is to use the Lazarus Online Package Manager . Supports Windows and Linux (macOS prevents multiple instances by default).
The 5dpo Component Library (Sdpo) is a set of components released by the [http://www.fe.up.pt/~robosoc 5dpo Robotic Soccer Team] when we ported our robots' software from Kylix to Lazarus. It also includes units that are not components like the SdpoDynmatrix unit that implements a general propose matrix with the standard operations overloaded.
ACS ( Audio Components Suite ) is a freeware cross-platform set of components designed to perform different sound-processing tasks. It supports reading the audio data from CD, different file formats, for example wav,mp3,wma,ogg,mac and others, output to soundcard and files is also possible. Between input and output you can work with the data, different converters, mixers and processors are available.
The Amigalib package provides pascal units and includes for interfacing with the Classic Amiga Operating System (version 2.04 or later).
Ascii85, also called Base85, is a form of binary-to-text encoding developed by Paul E. Rutter for the “btoa” utility. By using five ASCII characters to represent four bytes of binary data (making the encoded size ¹⁄₄ larger than the original, assuming eight bits per ASCII character), it is more efficient than uuencode or Base64, which use four characters to represent three bytes of data (¹⁄₃ increase, assuming eight bits per ASCII character).
ATBinHex is a control that implements the quick file (stream) viewer. Only visible part of file (or stream) is loaded into viewer, so it's suitable to show files of unlimited size.
ATButton is OS-independant button component, flat look. Button as usual has Caption, OnClick.
ATExtendedDialogs is a package of units with extended dialogs. Currently only font dialog in the ATFontDialog unit.
ATFileNotif is simple component which detects file change. It uses timer, timer checks are file props (file exists; file size; file age) changed or not. It calls OnChanged.
ATFlatControls is a package of several Lazarus visual components, they are used in the CudaText project UI. These components have separate Wiki pages:
ATFlatToolbar is component which creates row of ATButton 's on it, this looks like toolbar.
ATGauge is OS-independant progress indicator component. It's like Delphi TGauge. The same properties (with some additions) but totally new code (it's smaller than Delphi 7 code). It has class name and properties compatible with the Delphi 7 version, but different unit name.
This is TScrollBox with embedded TImage. Control can auto position image inside, using options:
ATListbox is OS-independant listbox control. It's made for dialog like Sublime Text's command list. If OnDrawItem is set, listbox is fully owner-drawn: you must not set items, just set ItemCount, ItemIndex.
ATScrollBar is a scrollbar component for Delphi and Lazarus. It's not replacement for standard control, but is alternative one, it has different API. It paints itself OS-indenendant, using custom drawing on canvas.
ATShapeLine is a component which paints line (directions: left-right, up-down, diagonals), with or without arrows at both sides. Options: line width, line color, arrow size, arrow color, show arrows. It is Lazarus port of Delphi component TLine (renamed since TLine id is busy with TAChart).
ATShellTreeview is Lazarus component, descendant of TreeView, which provides treeview somewhat similar to VS Code editor. It gives "Folder" property which loads the folder to the root of treeview. Only first level of folder is read initially. All sub-folders are read on demand, on unfolding tree nodes. It gives event OnShellItemClick which allows to detect click and double-click on nodes (giving full file path).
ATStatusBar is a statusbar component for Delphi and Lazarus. It's not replacement for standard control, but is alternative one, it has different API. It paints itself OS-indenendant, using custom drawing on canvas.
ATSynEdit is the multi-line editor control.
BeepFp is a Free Pascal componentset to allow development of custom protocols using BEEP in native Object Pascal.
BGRABitmap is a set of units designed to modify and create images with transparency (alpha channel). Direct pixel access allows fast image processing. The library has been tested on Windows, Ubuntu and macOS, with widgetsets win32, gtk1, gtk2, Carbon (32 bit) and Cocoa (64 bit).
XYZ is a colorspace that stores the actual stimulation of the average eye, relative to a max luminance (Y=1) considered as white. Fluorescent colors or light sources may have greater values for X/Y/Z so in this case you would rather use TXYZABitmap floating-point format to avoid saturation. Otherwise, for most use cases, when the image represents an object reflecting daylight, TWordXYZABitmap is sufficient.
Use the Online Package Manager to get BGRABitmap and BGRAControls.
BGRASpriteAnimation is a graphic control developed with the BGRABitmap library. It is part of the BGRAControls package. This control is usefull to create animations from bitmaps.
There are several Pascal libraries for BigInteger (and Big Decimals, like 1.23) functionality. The C-based GMP library can also be used in Free Pascal, it's not listed here.
The bluetoothlaz package provides bindings and functions to access bluetooth devices under various platforms.
Brook Framework is a cross-platform microframework which helps to develop web Pascal applications built by Delphi or Lazarus IDE and Free Pascal. Its core has been developed using [https://risoflora.github.io/libsagui libsagui], a cross-platform C library incorporating GNU libmicrohttpd, uthash, PCRE2, ZLib and GnuTLS.
bzip2lib provides stream classes for bzip2 compression and decompression. It uses external bzip2 libraries.
One of the weaknesses of Pascal compared to the C language, is a lower number of existing libraries. The reason for that is the much greater popularity of the C language compared to Pascal. Rather than rewrite the existing C libraries in Pascal, an easier alternative is to use the C libraries from Pascal.
[https://castle-engine.io/ Castle Game Engine] is a cross-platform 3D and 2D game engine .
CDDB is a simple unit for accessing CD track information from CDDB/FreeDB. There is little documentation but sample code is provided below.
The cdrom package contains some routines to read the table of contents (TOC) of a CD-ROM. From this TOC a DISC ID can be computed which can be used to query a CDDB server such as the one on freecddb.org. This unit is compatible with Linux (only tested on x86) and Windows (only tested on 32-bit)
right|ChemText demo TChemText is a TCustomLabel descendant which can display chemical formulas and reaction equations with automatically placed subscripts and superscripts.
The FPC CHM package is a set of units distributed with FPC 2.2.2+ that allow to read/write .chm compressed HTML help files on multiple platforms.
CmdLine is a prompt component, which has a few extra features to fit better into a VCL environment.
CmdLineCfg is a component that allows to create describe of a command-line parameters for any console application. As a product of the description, it's capable of generating graphic user-interface for it.
The Cocoa Interfaces. The Widgetset class API (winApi-style) is implemented here.
Codetools is a Lazarus package providing tools to parse, explore, edit and refactor Pascal sources. The codetools have been packaged in their own module and are licensed under GPL. Many examples showing how to use the codetools in your own programs can be found under components/codetools/examples.
ColorBox is a component that lets you select any predefined color with preview. There are two predefined palettes available:
right|ColorPalette ColorPalette is a cross-platform color palette grid with ability to select a color from a palette. The OnMouseColorPick event is fired when the user clicks onto a color.
This page contains a brief comparison of properties and methods between (trunk version of) Lazarus TAChart package and TeeChart Standard package which comes with Delphi XE2.
* Screenshot of Test/Demo app File:latest_testcryptini.jpg
CsvDocument library is a unit contaning set of classes for [http://en.wikipedia.org/wiki/Comma-separated_values CSV files] handling. The library was created to exchange data with OpenOffice Calc / MS Office Excel using CSV as intermediate format.
DateControls package contains two controls:
The DateTimeCtrls package contains two controls:
DCPcrypt is a collection of cryptographic components for the Lazarus.
Official documentation: doc:fcl/dbugintf
Delphi Form to HTML Converter component (F2H) is a Lazarus version of a new component, originally developed for Delphi 3.
DWScript is an object-oriented scripting engine for Delphi based on the Delphi language, with extensions borrowed from other Pascal languages (FreePascal, Prism, etc.). It introduces a few Pascal language extensions of its own as well. DWScript is licensed under Mozilla Public License v 1.1 .
DMath is a mathematical library for Delphi and Free Pascal, written natively in Pascal.
DomExt unit extends FPC implementation of XML DOM API with set of functions to simplify XML node manipulation. Its functionality is inspired by [http://www.torry.ru/authorsmore.php?id=4012 SimpleXML Library by Michael Vlasov]
Lazarus dxGetText is a conversion of the dxGetText project (http://dybdahl.dk/dxgettext/). From the dxGetTest website: "Initially, this project used a Windows port of the GNU gettext library, but has made it much further and today it is a complete reimplementation of the GNU gettext library with many enhancements".
Emmet is mostly used by web-developers to simplify and speed up editing. Emmet can take an abbreviation and expand it into a structured code block. Standard Emmet is written in JavaScript and available in many text editors or web development tools. Emmet for Delphi and Free Pascal is written from scratch in Delphi and is used in RJ TextEd and CudaText .
EncConv is a package which gives unit EncConv, to convert text to/from UTF8. It was based on LazUtils' unit LConvEncoding , but API was changed and simplified. The list of supported encodings is the same as in LConvEncoding.
EpikTimer is a programmer's stopwatch that is capable of measuring very short events with traceably high precision over long periods of time. It's simple to use, consumes virtually no CPU and requires only 25 bytes of ram to implement a timer instance. The component provides a single internal timer... but unlimited numbers can be declared externally and linked to a single EpikTimer component on the form.
The Everett interpretation of quantum mechanics ("Many Worlds") is that when an interaction is made with an elementary wave function (such as an electron or photon etc) the universe bifurcates. ref: [https://en.wikipedia.org/wiki/Many-worlds_interpretation Wikipedia Many Worlds page]
The Extended Components are part of a Very Rapid Applications Development framework . Management components to manipulate a lot of libraries on Delphi 2006, XE3, XE5 and Lazarus. Every control has special colors while focusing and editing. There are also a lot of buttons in two versions with centralized glyphs.
FasmOnDelphi is a Free Pascal/Delphi library for using Flat Assembler in any OS (can use FASM.DLL on Windows). It is a cross platform (Flat Assembler can work only on i386 compatible platforms) library for using FASM in runtime. In contrast to Fasm4Delphi, it does not depend on operating system and bit type.