Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog

30,081 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.

Register (package)

A Lazarus package that is intended to be installed needs a Register procedure which declares * all the package components and corresponding files * the tab on which the component s are to be located.

  • Other
  • Lazarus

Learning and Examples

Releasing units without source code

It can be useful to release a FreePascal unit without publishing its source code: * The source code contains proprietary information. * In teaching, because you want to force students to use a unit by its interface (contract) only, and not by looking at its implementation.

  • Other
  • Lazarus

Learning and Examples

REXX

REXX is a programming language originally developed by IBM and over time included in all IBM operating systems (e.g. OS/2, AIX and PC DOS). In addition to this, various IBM and non-IBM implementations have been made available for most operating systems/environments (including free implementations for Win32/Win64, Linux, Mac OS X, Solaris and many others - e.g. Regina, Open Object Rexx). This interface unit makes it possible to inter-mix code written in Pascal with REXX.

  • Library
  • Lazarus

Language Tools

RichView

"RichView is a suite of native Delphi/C++Builder components for displaying, editing (not demonstrated by demo/not in freeware version*) and printing hypertext documents. Components support various character attributes (fonts, subscripts/superscripts, colored text background, custom drawn)." This package contains a port of the freeware version.

  • Library
  • Delphi

Edit and Memos

RingChart and AnalogWatch

TRingChart component is an elliptic Sectors Chart that we can consider a twin of the LCL TChart Component in the sense that has the same structure, particularly for the data input structure, but the rest is original.

  • Library
  • Lazarus

Charts and Graphs

RXfpc

* [http://alexs75.narod.ru/fpc/rxfpc/ RxLib] for Lazarus is a set of components that support building of flexible and robust user interfaces. It contains some of the components of the well known RxLib for Delphi.

  • Library
  • Lazarus

Data controls

ScrollingText

TScrollingText is a visual component for Lazarus/fpc by minesadorada@charcodelvalle.com

  • Library
  • Lazarus

Labels

SimpleBaseLib4Pascal

SimpleBaseLib4Pascal as the name implies is a simple to use Base Encoding Package for Delphi/FreePascal Compilers that provides at the moment support for encoding and decoding various bases such as Base16, Base32 (various variants), Base58 (various variants) and Base64 (various variants) and Base85 (various variants).

  • Library
  • Lazarus and Delphi

Other

SimpleIPC Library

SimpleIPC are units for Freepascal that allow client and server to send interprocess communication messages between processes. SimpleIPC-Lib is a library (DLL) that allows SimpleIPC to be used in any program, written in any language.

  • Library
  • Lazarus

System

SMNetGradient

A gradient fill like in the new Netscape Communicator Options Box.

  • Library
  • Lazarus

Graphics

Sockets

Sockets is a modified-LGPL package for Lazarus. It defines the TSocketClient component for connecting applications to generic server sockets over TCP/IP networks.

  • Library
  • Lazarus

Networking

SplashAbout

SplashAbout is a Lazarus visual component. It installs on the 'Additional' component palette.

  • Library
  • Lazarus

Dialogs

Spook's Panel Components

TSpkExpandPanel and TSpkRollPanel. TSpkExpandPanel is the classic panel with option to expand or collapse to the edge of the form (works only with align set to alTop, alBottom, alLeft or alRight). TRollPanel looks like Windows XP’s panels used in Windows Explorer. Both components are animated

  • Library
  • Lazarus

Panels

STAX

S ingle T hreaded A synchronous E X ecution framework (STAX for short) enables async/await style co-routines for Free Pascal.

  • Library
  • Lazarus

System

svgalib

Under Linux/BSD, you can use libvga to access the graphical screen from the console. Free Pascal has a unit which makes linking to the libvga possible. You can find the unit, as well as a makefile and some test programs here. You just need to compile it, put a reference to it in your program or unit, and that is it. There are 2 units in this package:

  • Library
  • Lazarus

Bindings

SvnClasses

SvnClasses is a Lazarus package to help writing applications that interact with a Subversion (svn) repository. It requires an installed command line svn executable for accessing a svn repository and/or a working directory. I used these classes for writing a tool to mirror the Lazarus svn repository to Sourceforge.

  • Library
  • Lazarus

Other

SymScan

SymScan provides an Barcode scanning component and API link to the barcode scanner module in Symbol/Motorola MC series Windows CE based barcode scanners.

  • Library
  • Lazarus

System

SynEdit

SynEdit is a syntax highlighting edit/memo package available on the SynEdit tab with support for many languages/syntaxes.

  • Library
  • Lazarus

Edit and Memos

SynFacilSyn

SynFacilSyn is a Lazarus cross-platform library that includes a SynEdit highlighter that also can work as a lexer because of its flexible syntax definition file. It's well documented and has been used in several projects as both a highlighter and a lexer.

  • Library
  • Lazarus

Edit and Memos

syslog

The systemlog contains a translation of the (Posix/Unix) system log interface. It contains routines to add system logging to your application, and links to the C library for the implementation of these routines.

  • Library
  • Lazarus

Bindings

TAChart

TAChart is the principal component of a TeeChart-like charting framework for Lazarus offered under an LGPL licence. TeeChart is the charting component installed with recent Delphi versions.

  • Library
  • Lazarus

Charts and Graphs

TAChart Demos

TAChart is Lazarus' powerful charting library. It consists of numerous classes and declarations distributed over some 50 units. New users may be overwhelmed by the complexity of usage, and even experienced charters still find gems from time to time.

  • Other
  • Lazarus

Charts and Graphs

TAChart Tutorial: Multiple Panes in one Chart

This tutorial shows how to create a chart with multiple series in their own panes and with their own left axes and one common bottom axis. It was created while checking out the nice "Panes demo" which you can find in the folder components/tachart/demo/panes of your Lazarus installation. Since a second topic is included in this sample project it may be a bit difficult to catch the basic idea. So here we explain how you can do this from scratch.

  • Other
  • Lazarus

Charts and Graphs

tcl

The tcl package contains the interface for the tcl/tk interpreter library. This unit allows to integrate Tcl/Tk code into your program, which allows to quickly develop a user interface.

  • Library
  • Lazarus

Bindings

TCustomPlot

TCustomPlot is a custom plotting component. It allows you to plot a series of points connected with line.

  • Library
  • Lazarus

Charts and Graphs

TECGrid

TECGrid File:ecgrid.png is a lightweight grid component. It does not contain any strings, it has no DataSource connection and its is not possible to custom-draw each cell. Therefore it's not alternative to TStringGrid , TDBGrid nor TDrawGrid . It is designed to show content of any data structure and all displayed strings are taken from OnGetHeaderText and OnGetDataCellText events. It features bi-directional mode, fixed columns, fixed rows, column moving, column sizing, various fixed-cell styles and many others, described below.

  • Library
  • Lazarus

Grids

TECTabCtrl

TECTabCtrl File:tectabctrl.png is advanced alternative TTabControl . It allows tab stacking, tabs in multiple rows, top/bottom/left/right orientation, reversed and right-to-left bi-directional mode, dragging tabs to move or fold them and many others.

  • Library
  • Lazarus

Tabbed Components

TGradButton

Part of GradControls . TGradButton is a TCustomControl descendant that paints a cool looking gradient. You can choose the BaseColor, NormalBlendColor and the OverBlendColor. Or which Borders should be painted. This component is a good replacement for the TButton on Windows, cause with TGradButton you can change the Buttons-Color.

  • Library
  • Lazarus

Other

TGradPageControl

Part of GradControls . TGradPageControl is a TCustomControl descendant. This TGradPageControl should be like or better than the normal TPageControl.

  • Library
  • Lazarus

Tabbed Components

Theme library

The Theme manager was originally created by Mike Lischke (see http://www.soft-gems.net/) to enable Windows XP theme painting in Borland Delphi and Borland C++ Builder applications.

  • Library
  • Lazarus

Graphics

THtmlPort

THtmlPort is a Lazarus/Free Pascal version of Dave Baldwin's HTML Components, including THtmlViewer, TFrameViewer and TFrameBrowser. The ported code retains full compatibility with Delphi.

  • Library
  • Lazarus

Networking

TJvNavigationPane

JVCL's TJvNavigationPane conversion to lazarus. Still not ready but almost, just wait a few days.

  • Library
  • Lazarus

GUI containers

TML Messaging Suite

Establishing asynchronous, multithreaded, bidirectional communication without blocking messages can be time consuming and error prone. Using libTML allows you to implement asynchronous message exchange on top of the IETF standard protocol BEEP (Blocks Extensible Exchange Protocol) without the need to fiddle around with the basics of message processing. All your work can be put into the features of the application instead of taming a TCP/IP socket.

  • Library
  • Lazarus

Networking

TMyRollOut and ExpandPanel

The package contains two components. The visual TMyRollOut and the non-visual ExpandPanels. TMyRollOut is a collapsable panel. Two or more TMyRollOut's can be automatically put beneath each other with ExpandPanels.

  • Library
  • Lazarus

Panels

TOpenGLBox

TOpenGLBox is a barebones OpenGL component. It provides an OpenGL rendering area to be used with forms designed in Lazarus.

  • Library
  • Lazarus

Graphics

TPlaySound

TPlaySound is a component to play WAV files in Windows and Linux.

  • Library
  • Lazarus

Multimedia

TPSQL

TPSQL is a modified-LGPL postgres database package for Lazarus. It defines two components, TPSQLDatabase and TPSQLDataset, allowing applications to connect to PostgreSQL database servers over TCP/IP networks.

  • Library
  • Lazarus

Database

Transparent

Transparency is an often needed property for components. However, most components do not support transparency by default.

  • Library
  • Lazarus

Graphics

TreeviewDialog

TTreeviewDlg is a dialog descended from TCommonDialog using the Treeview component that is populated from a dataset or a file.

  • Library
  • Lazarus

Dialogs

TSQLExporter

TSQLExporter image:tsqlexporter.png is a database export component for use with a TDataSet . It may be found on the Data Export tab of the Component Palette once you have installed the lazdbexport package. To export the contents of a TDataSet (for instance the result of a TSQLQuery correctly setup to link with a TSQLConnector and TSQLTransaction ) also FormatSettings.TableName need be provided.

  • Library
  • Lazarus

Database

TSubForm

This component is exactly what it sounds like - a subform component. Use it as you would a TPanel - drop components on it, assign a DataSource and at runtime the magic begins.

  • Library
  • Lazarus

GUI containers

TSynCppSyn

TSynCppSyn image:tsyncppsyn.png is a component that provides the C++-language syntaxchecking-part of syntax-highlighting editing. It is part of the SynEdit package and is available under the SynEdit tab of the Component Palette .

  • Library
  • Lazarus

Edit and Memos

TXMLConfig

There is existing documentation for this component in the xmlconf wiki. Please refer to that page for current information.

  • Library
  • Lazarus

Files and Drives

uE Controls

uE Controls is a open source set of instrumentation controls for Lazarus and Free Pascal, compilable under Windows and Linux. It uses the excellent graphic library BGRABitmap .

  • Library
  • Lazarus

Indicators and Gauges

univint

The univint package contains Pascal translations of various macOS framework headers.

  • Library
  • Lazarus

Bindings

unzip

The unzip and zip package contains several routines to unzip or zip files on every Lazarus supported platforms. There are 4 units:

  • Library
  • Lazarus

Files and Drives

uos

uos (United OpenLib of Sound) is a multi-platform package of audio handling routines that unifies the best open-source audio libraries.

  • Library
  • Lazarus

Multimedia

utmp

This package provides access to the utmp file on a linux/unix system. This file provides information about who is logged in on the system currently. There is only one unit in this package:

  • Library
  • Lazarus

System

Video Playback Libraries

Several libraries are available for embedding video playback within Lazarus applications. These range from simple to complex.

  • Other
  • Lazarus

Multimedia

VirtualDBTreeEx

VirtualDBTreeEx is a treeview component, with checkboxes and "rules", controlled by DB data. You can edit it with TDBGroupView from [http://extended.liberlog.fr Extended] package.

  • Library
  • Lazarus

ListViews and TreeViews

WCHTTPServer

WCHTTPServer is an HTTP/2 + HTTP 1.1 + WebSocket server written in Free Pascal. right|300px|WCHTTPServer logo

  • Application
  • Lazarus

Networking

WebView4Delphi

[https://github.com/salvadordf/WebView4Delphi WebView4Delphi] allows to embed Chromium-based web browsers in your Delphi or Lazarus applications using the WebView2 runtime. It uses many of the tricks from CEF4Delphi and you will notice many similarities if you used it. There are a few things pending like the "windowless mode".

  • Library
  • Delphi

Networking

Wile64

It is visual components for Lazarus. License: LGPL.

  • Library
  • Lazarus

Other