Difference between revisions of "Components and Code examples/zh CN"

From Lazarus wiki
Line 186: Line 186:
* [[Bluetooth]] - Accessing Bluetooth devices.
* [[Bluetooth]] - 访问蓝牙设备
* [[EpikTimer]] - Precision timer component written specifically for Lazarus.
* [[EpikTimer]] - Precision timer component written specifically for Lazarus.
* [[FileAssociation]] - Register file associations for all Windows versions. This includes Default Programs feature for Vista+.
* [[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.
* [[Manager Worker Threads System]] - Manager Worker Thread system to process simultaneous data objects in real-time.
* [[MDButtonsBar]] - ButtonsBar to MultiDoc Component.
* [[MDButtonsBar]] - ButtonsBar to MultiDoc Component.
* [[MPICH]] - Bindings for the MPI - Message Passing Interface. Distributed computing.
* [[MPICH]] - 针对MPI的绑定 - Message Passing Interface. Distributed computing.
* [[MultiDoc]] - A component to write pseudo-MDI application with Lazarus.
* [[MultiDoc]] - A component to write pseudo-MDI application with Lazarus.
* [[TTDINotebook]] - A component that provides a Tabbed Document Interface ([http://en.wikipedia.org/wiki/Tabbed_document_interface TDI]).  
* [[TTDINotebook]] - 一个组件,提供一个选项卡式文档界面([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]] - Python4Delphi的一个端口,允许你和Lazarus/FPC一起使用Python脚本。
* [[TrayIcon]] - A multiplatform System Tray component
* [[TrayIcon]] - 一个多平台系统托盘组件
* [[TPopupNotifier]] - How to use TPopupNotifier to show "balloon help".
* [[TPopupNotifier]] - 如何使用TPopupNotifier来显示"balloon help".
* [[Yet another Running Timer]] - A thread safe timer
* [[Yet another Running Timer]] - 一个线程安全计时器
=== 可视化组件 ===
=== 可视化组件 ===

Revision as of 02:08, 30 November 2021

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


这个页面的剩余部分也包含非Lazarus分发的组件。针对Lazarus提供的默认的组件,请查看 Lazarus组件目录


Lazarus-CCR 发布的组件


Note: 这份列表不是完整的。A lot of components in Lazarus-CCR are mentioned under the not hosted here section


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



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


  • ExtraSyn - 针对TSynEdit的附加高亮提示
  • LazBarcodes - 生成条形码(QRCode, Aztec, DataMatrix, ...)


  • Flag component is a collection of 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 form.create() 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



  • 5dpo (5dpo组件库- Sdpo) is a set of components released by the 5dpo Robotic Soccer Team.
  • Brook Framework is 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 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.
  • Fundamentals Code Library includes 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
  • Greyhound Project is a tiny ORM-ish for Free Pascal. You can use SQLdb, Zeos or whatever you want to connect to a DBMS.
  • ICU4PAS 是一个Object Pascal,跨平台,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 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)
  • 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.
  • JEDI-SDL : 针对SDL的Pascal头文件
  • lazarus-zlib - 库,包含用于处理zlib档案文件的简单函数(它使用原始的zlib源文件,在obj文件中编译)。
  • LGenerics - 容器,曲线图,关于曲线图的算法。
  • 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 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).
  • 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.
  • PortAudio 工程是一个可移植的跨平台的音频API,当前在Windows, macOS, Unix (OSS/ALSA), SGI,和BeOS下可用。在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 : QRcode生成器(bitwise和png)
  • qxotica - 创建qooxdoo网页应用程序的工具。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 (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)
    • Note: Use SplashAbout for a visual drop-in component version
  • Starting with version 32, Lucas Gebauer's outstanding Synapse TCP/IP library is now compatible with Free Pascal and Lazarus. Lucas has also just released version 12 of his Synaser serial port communications suite that also runs under Free Pascal.
  • Synedit-Port Synedit 2.0.5 port - SynEdit is an advanced multi-line edit control.
  • TTreeListView is the combination of a TTreeView with a TListView, showing items in a tree with columns
  • UltraStar Deluxe has headers for the following libraries for Windows, Linux and macOS (with a few exceptions): portaudio, bass, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.


  • 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


  • 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 regular embedded Firebird here
  • IBX - Component for direct connecting to FirebirdSQL
  • ioda is a fulltext database: a word indexing and retrieving engine
  • tiOPF - TechInsite Object Persistent Framework (Ver. 2)
  • 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


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


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


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


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


  • ACS - 音频组件套件,a collection of components to develop applications for audio playing/recording/processing. 可以播放wav,ogg,mp3,mp2,wma ... record from any recordable source, do everything simultan, ripping and more.
  • Bluetooth - 访问蓝牙设备。例如Wiimote.
  • Audorra 是Delphi和FreePascal的一个数字音频库。
  • LibSndFile.dll是一个C库 for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. 下载的文件也包含一个在windows下编写的GUI演示程序
  • 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.
  • 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.


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


  • FpSystools - Conversion of TurboPower's Systools to Lazarus/FPC
  • DCPcrypt - DCPcrypt 加密组件库
  • RXfpc - 一些著名的RXLib组件转换到Lazarus
  • MultiLog - A Log system designed for FPC/Lazarus
  • log4delphi - 一个基于Alog4j的日志系统
  • OnGuard - Turbo Power OnGuard的一个端口
  • UniqueInstance - A component to force only one instance running at same time
  • XDev Toolkit - 跨平台开发工具
  • MouseAndKeyInput - Tool for cross-platform manipulation with mouse and keyboard input
  • PascalSane - libsane scanner API的绑定,带有演示应用程序
  • fppkggui - 一个针对fppkg的简单GUI
  • 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 - 转换Delphi的forms文件为HTML文件
  • InstantFPC - 像Unix脚本一样运行Pascal程序
  • LazProfiler - IDE addon for One-Click-Profiling of your project


  • ATSynEdit - Editor control with syntax hiliting (alternative to SynEdit)
  • ATBinHex - Viewer-only for files of unlimited size (8Gb+)
  • SynEdit - Editor control with syntax hiliting, 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


  • BeepFp - BEEP Protocol framework
  • FPC and Apache Modules - Headers for creating Apache modules with fpc
  • fpctwit FreePascal OAuth v1 library using Synapse. Sample FPC plurk, twitter clients. Sample Lazarus twitter client.
  • Hprose - Hprose is a High Performance Remote Object Service Engine. It is a fast serialize and RPC library for Delphi and FreePascal.
  • 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 A network messaging library for rapid development of extensible and scalable interfaces.


  • Hprose - It provides 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.
  • LGenerics - provides a wide range of generic containers.


  • Bluetooth - 访问蓝牙设备
  • 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 - 针对MPI的绑定 - Message Passing Interface. Distributed computing.
  • MultiDoc - A component to write pseudo-MDI application with Lazarus.
  • TTDINotebook - 一个组件,提供一个选项卡式文档界面(TDI).
  • Python4Delphi - Python4Delphi的一个端口,允许你和Lazarus/FPC一起使用Python脚本。
  • TrayIcon - 一个多平台系统托盘组件
  • TPopupNotifier - 如何使用TPopupNotifier来显示"balloon help".
  • Yet another Running Timer - 一个线程安全计时器


  • ATButton - OS-independant flat button ATFlatControls.
  • ATGroups - Six page-controls, each based on ATTabs ATFlatControls.
  • ATGauge - Replacement for Delphi's TGauge ATFlatControls.
  • ATLinkLabel - A label which shows a clickable URL ATFlatControls.
  • ATListbox - OS-independant Listbox, owner-drawn ATFlatControls.
  • ATScrollBar - Scrollbar, not OS-themed, owner-drawn ATFlatControls.
  • ATStatusBar - Statusbar, not OS-themed, owner-drawn ATFlatControls.
  • ATTabs - Tab-control, not OS-themed, owner-drawn 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 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.
  • 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 - This package contains TZVDateTimePicker (the clone of Delphi's TDateTimePicker) and TDBZVDatePicker (a data aware version of TZVDateTimePicker).

Lazarus IDE 扩展


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

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


  • 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.
  • Devart PostgreSQL Data Access Components (PgDAC) - http://www.devart .com/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.
  • Devart Universal Data Access Components (UniDAC) - https://www.devart .com/unidac/ - direct access to multiple databases
  • 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)





  • 联系人数据库 - 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)
  • 如何使用接口 - 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