Difference between revisions of "Components and Code examples/ru"

From Lazarus wiki
Jump to navigationJump to search
 
(bypass redirect Theodp → UTF8 Tools)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
#REDIRECT [[Компоненты и примеры кода]]
+
{{Components and Code examples}}
 +
 
 +
[[File:fpc source logo.png|right]]
 +
[[File:lazarus source logo.png|right]]
 +
 
 +
==Компоненты из Lazarus-CCR==
 +
 
 +
===Мультимедиа===
 +
* [[ACS | ACS (Audio Component Suite)]] - коллекция компонентов для разработки приложений, работающих с аудио-данными (воспроизведение/запись/обработка). Может воспроизводить wav, ogg, mp3, mp2, wma и другие форматы, записывать звук с любого источника, "грабить" и много другое. См. [http://acs.ullihome.de/ ACS].
 +
* [[Bluetooth]] - доступ к Bluetooth-устройствам (например, Wiimote).
 +
 
 +
===Графика===
 +
* [[GLScene]] - полноценная библиотека 3D-графики, использующая для рендеринга OpenGL. Позволяет редактировать 3D-сцены непосредственно из IDE. См. также [http://www.glscene.org официальный сайт] GLScene.
 +
* [[TOpenGLBox]] - каркасный OpenGL-компонент для Lazarus, реализующий область рендеринга OpenGL.
 +
* [[SMNetGradient]] - градиентная заливка для Lazarus.
 +
* [[TAChart]] - удобные и функциональные диаграммы для Lazarus.
 +
* [[PlotPanel]] - компоненты для отрисовки диаграмм и графиков.
 +
* [[LazRGBGraphics]] - пакет для быстрой обработки изображений и манипуляции пикселями (такими как scan line) в памяти.
 +
* [[TMetafile_/_TMetafileCanvas|TMetafile/TMetafileCanvas]] - реализация EnhMetafile API для Windows.
 +
* [[ZenGL]] - кросс-платформенная библиотека для разработки игр, использующая OpenGL.
 +
* [[BGRABitmap]] - отрисовка фигур и изображений с прозрачностью, прямым доступом к пикселям и др.
 +
* [[Double Gradient]] - компонент для простой отрисовки 'двойного градиента' и 'n-градиента'.
 +
* [[Gradient Filler]] одно из лучших решений для создания произвольных n-градиентов в Lazarus.
 +
* [[PascalMagick]] - простой в использовании API для взаимодействия с [http://www.imagemagick.org ImageMagick], а также кросс-платформенное ПО для создания, редактирования и компоновки пиксельных (bitmap) изображений.
 +
 
 +
===Инструменты===
 +
* [[FpSystools]] - адаптация Kylix-пакета TurboPower Systools для Lazarus/FPC.
 +
* [[DCPcrypt]] - библиотека криптографических компонентов DCPcrypt.
 +
* [[RXfpc/ru|RXfpc]] - некоторые из компонентов RXlib, конвертированные на Lazarus.
 +
* [[MultiLog]] - система ведения логов, разработанная для FPC-Lazarus.
 +
* [[OnGuard]] - порт Turbo Power OnGuard
 +
* [[UniqueInstance]] - компонент, блокирующий запуск более чем одной копии приложения.
 +
* [[XDev Toolkit]] - кросс-платформенный пакет инструментов для разработчиков.
 +
* [[MouseAndKeyInput]] - юнит для платформо-независимого управления вводом посредством мыши и клавиш.
 +
* [[PascalSane]] - бинд API для сканера (libsane) с примером использования.
 +
* [[log4delphi]] - система ведения логов, основанная на log4j.
 +
* [[fppkggui]] - простой gui для [[fppkg]].
 +
* [[SymScan]] - интерфейс сканера штрих-кодов для устройств серий Symbol/Motorolla MC.
 +
* [[UTF8 Tools|Theodp]] - инструменты для работы с UTF-8.
 +
* [[Delphi form to HTML converter]] - Lazarus-версия компонента Delphi Form to HTML (F2H).
 +
 
 +
===Архивация===
 +
* [[Zlibar]] - объекты для создания и распаковки архивов zlib, содержащих несколько файлов.
 +
* [[FreePascalArchivePackage]] - адаптация библиотеки TurboPower Software Abbrevia для Free Pascal Compiler.
 +
* [[ZipFile]] - компонент для инкапсуляции zip-файлов (с архивом можно работать как с обычной файловой системой).
 +
* [[libtar]] - класс для работы с .TAR-архивами от Stefan Heymann; может использоваться совместно с zstream для создания файлов .tar.gz.
 +
* [[bzip2lib]] - потоковые классы для сжатия и распаковки bzip2.
 +
* [[paszlib]] - преобразованая стандартная библиотека Zlib для Pascal (без зависимостей).
 +
 
 +
===Редактирование и просмотр===
 +
* [[PowerPDF]] - порт визуальных компонентов PowerPDF для Lazarus.
 +
* [[RichView]] - порт freeware-редакции компонента TRichView для Lazarus.
 +
* [[RichMemo/ru|RichMemo]] - кросс-платформенная реализация редактора и просмотрщика Rich Text.
 +
* [[SynEdit]] - компоненты типа TMemo с подсветкой синтаксиса и другими функциями (используются IDE).
 +
* [[THtmlPort]] - порт компонентов HTML Components (THtmlViewer, TFrameViewer, TFrameBrowser) от Dave Baldwin для Lazarus.
 +
* [[GeckoPort]] - порт Gecko SDK for Delphi от Takanori Ito для Lazarus, включающий TGeckoBrowser.
 +
* [[Fshcomp]] - компоненты Edit.
 +
 
 +
===Сети===
 +
* [[BeepFp]] - framework для протокола BEEP.
 +
* [[Sockets]] - компоненты для работы с сокетами TCP/IP.
 +
* [[lNet]] - набор компонентов, обеспечивающих простую, однопотоковую управляемую событиями реализацию протоколов, начиная с TCP и UDP, и заканчивая SMTP и HTTP. lNet не использует никаких внешних библиотек и очень легко портируется на новые платформы.
 +
* [[FPC_and_Apache_Modules|FPC and Apache Modules]] - заголовочные файлы для создания модулей к Apache на FPC.
 +
* [[Web_Service_Toolkit|Web Services Toolkit]] - пакет для работы с веб-сервисами.
 +
 
 +
===Базы данных===
 +
* [[fb embedded2 Laz]] - использование встраиваемой (embedded) версии FireBird 3 в Lazarus.
 +
* [[TPSQL]] - компоненты для подключения к базам данных PostgreSQL.
 +
* [[tiOPF]] - TechInsite Object Persistent Framework (версия 2).
 +
* [[TParadoxDataSet]] - реализация TDataSet, позволяющая читать файлы Paradox до версии 7 (возможно и выше).
 +
* [[ZeosDBO]] - набор компонентов для работы с различными базами данных (Firebird, PostgreSQL, MySQL, Oracle, SQLite и другие).
 +
* [[SQLitePass]] - компоненты для подключения к базам SQLite.
 +
* [[MS Access]] - работа с использованием TODBCConnection через FILEDSN
 +
 
 +
===Форматы файлов===
 +
* [[CsvDocument/ru|CsvDocument]] - работа с CSV файлами с использованием парсера или "клеточного" интерфейса наподобие того, что используется в компоненте StringGrid.
 +
 
 +
===Контейнеры===
 +
* [[StringHashMap]] - контейнер String -> Pointer. Быстрый и расходующий минимум памяти.
 +
 
 +
===Система===
 +
* [[EpikTimer]] - точный таймер, написанный специально для Lazarus.
 +
* [[Manager Worker Threads System]] - менеджер потоков, позволяющий обрабатывать многочисленные объекты и данные в реальном времени.
 +
* [[TrayIcon]] - кросс-платформенный компонент для создания значка приложения в системном трее.
 +
* [[TPopupNotifier]] - компонент, показывающий подсказки в виде облака (balloon).
 +
* [[MultiDoc]] - компонент для написания псевдо-MDI приложений в Lazarus.
 +
* [[MDButtonsBar]] - ButtonsBar для компонента MultiDoc.
 +
* [[MPICH]] - биндинги для MPI (Message Passing Interface).
 +
* [[Bluetooth]] - доступ к Bluetooth-устройствам.
 +
 
 +
===Визуальные компоненты===
 +
* [[VirtualTreeview]] - порт быстрого компонента virtual treeview от [http://www.soft-gems.net/index.php?option=com_content&task=view&id=12&Itemid=33 SoftGems].
 +
* [[Turbopower Visual PlanIt]] - порт компонентов для планирования Visual PlanIt для Lazarus.
 +
* [[RingChart and AnalogWatch]] - ещё одна эллиптическая диаграмма, а также аналоговые часы для Lazarus и FPC.
 +
* [[ColorBox]] - "пипетка" (сolor-picker) с предварительным просмотром.
 +
* [[Spook's Panel Components]] - коллекция компонентов-панелей.
 +
* [[HistoryFiles]] - компонент для хранения списка "последних файлов" в .ini-файле и отображения его в меню.
 +
* [[ColorPalette]] - цветовая палитра, позволяющая использовать произвольные наборы цветов.
 +
* [[OrphPort]] - реализация контролов TurboPower Orpheus для Lazarus.
 +
* [[TSubForm]] - Data-Aware компоненты SubForm, основанные на записях и датасетах (dataset).
 +
* [[Lui Controls]] - набор визуальных компонентов (TToggleLabel, TMenuButton).
 +
* [[JvXPBar]] - порт контрола TJvXPBar из состава [http://jvcl.sourceforge.net JVCL's], отображающего иконку, заголовок и ноль или более кликабельных объектов в своей клиентской области.
 +
* [[CmdLine]] - строка запроса команды.
 +
* [[Wile64]] - набор компонентов для Lazarus (TGifAnim, TColorProgress, TLabelCut и другие).
 +
* [[TGradButton]] - кнопка с улучшенным внешним видом.
 +
* [[TMyRollOut and ExpandPanel]] - сворачивающиеся блоки (аналог TJvRollOut); могут быть размещены на скрывающейся панели.
 +
* [[FileMenuHandler]] - сохранение списка "последних файлов" и реализация команд "Открыть", "Сохранить", "Сохранить как" и "Выход".
 +
* [[ZVDateTimeControls Package]] - пакет, включающий TZVDateTimePicker (клон TDateTimePicker из Delphi) и TDBZVDatePicker (data-aware версия TZVDateTimePicker).
 +
* [[BGRAControls]] - набор компонентов, основанных на пакете [[BGRABitmap]] (включает BGRAImageList, BGRASpeedButton, BGRAButton и BGRAPanel).
 +
 
 +
=== Расширения Lazarus IDE ===
 +
* [[Manual Docker]] - расширение, позволяющее "приклеить" окно с сообщениями компилятора к редактору кода.
 +
* Список других расширение можно посмотреть на страничке [[:Category:Lazarus_IDE_plugins|Lazarus IDE plugins]].
 +
 
 +
=== Доступ к "железу" ===
 +
* [http://forum.lazarus.freepascal.org/index.php/topic,7894.0.html NIDAQmxBase and NIDAQmx] - модуль для использования устройств National Instruments с помощью библиотеки NI-DAQmxBase(Linux, Windows, macOS) и NI-DAQmx(Windows и NIDAQmx 8.0.2 для Linux).
 +
* Примеры на Паскале [http://wiki.freepascal.org/NI-DAQmx_and_NI-DAQmx_Base_examples]
 +
 
 +
==Пакеты для FPC/Lazarus, размещённые на сайтах разработчиков==
 +
====Архивация====
 +
* [http://code.google.com/p/lazarus-zlib/ lazarus-zlib] - простой в использовании класс-обёртка для zlib.
 +
 
 +
====Графика и игры====
 +
* [http://graphics32.org Graphics32] - набор компонент для работы с графикой. Включает более функциональную реализацию TImage (TImage32).
 +
* [[Castle Game Engine]] - движок 3D-игры, ориентированный прежде всего на форматы VRML/X3D.
 +
* [http://www.benibela.de/sources_de.html#diagram Diagram] - модуль для отрисовки диаграмм с использованием системы моделей/просмотров.
 +
* [http://www.tcoq.org/composants DrawObjectsExtended]  - графический компонент для отрисовки структурных диаграмм, портированный из Delphi.
 +
* [http://www.breakoutbox.de/pascal/pascal.html#mpg123 mpg123.dll] - кросс-платформенный декодер форматов MPEG layers 1, 2 и 3 (MP3 протестирован плохо); прилагаемый пример содержит два враппера, протестированных только под Win32.
 +
* [http://breakoutbox.de/pascal/applications.html FreeImage] - открытая библиотека, обеспечивающая поддержку популярных графических форматов, таких как PNG, BMP, JPEG, TIFF и др. (работает в Windows, Linux и Mac OS X). Включает PicViewer - пример приложения (только для Windows), показывающего изображения с использованием данной библиотеки (DLL).
 +
 
 +
====Мультимедиа====
 +
* [http://www.breakoutbox.de/pascal/pascal.html#PortAudio PortAudio] - проект кросс-платформенного Audio API, доступный для Windows, Mac OS X, Unix (OSS/ALSA), SGI и BeOS. Содержит врапперы, позволяющие работать с C-библиотеками, а также примеры использования PortAudio DLL в Lazarus LCL под Windows. Враппер для portaudio.dll взят из Sourceforge-проекта UltraStar.
 +
* [http://sourceforge.net/projects/ultrastardx/ UltraStar Deluxe] - заголовочные файлы к различным библиотекам для Windows, Linux и Mac OS X (с некоторыми сокращениями): portaudio, BASS, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.
 +
* [[RackCtls]] - коллекция компонентов для работы с "Hi-fi-системами".
 +
====Графика и интерфейс====
 +
* [http://code.google.com/p/thtmlviewer/ HTML Viewer Components] - ещё одна попытка реанимировать HTMLView от Dave Baldwin. Заявлена совместимость с Delphi и Lazarus, но поддержка Lazarus находится в стадии alfa-тестирования.
 +
* [http://www.benibela.de/components_en.html#treelistview TTreeListView] - комбинация TTreeView и TListView, отображающая ветви дерева с дополнительными колонками.
 +
* [http://www.tcoq.org/composants ExcelInterfaces] - компонент для работы с таблицами Excel из программ на FPC и Lazarus. Он также демонстрирует использование интерфейсов COM на платформе Windows.
 +
* [http://keit.co/mapviewer.zip TMapViewer] - компонент для работы с популярными картографическими сервисами Google Maps и OpenStreet. Использует только стандартные графические контролы. Есть версия для Windows (только стандартные средства) и Linux (требуется библотека Synapse).
 +
 
 +
====Сеть и устройства====
 +
* [http://wiki.lazarus.freepascal.org/PascalSCADA PascalSCADA] - набор компонентов для упрощения разработки приложений HMI/SCADA, взаимодействующих с PLC или другими промышленными устройствами.
 +
* [http://www.icu4pas.org/ ICU4PAS] - кросс-платформенные классы на Object Pascal для Direct Class Wrapper с использованием библиотек ICU.
 +
* [http://www.benibela.de/sources_de.html#internettools Internet Tools] - класс для получения и парсинга html-страниц, а также автообновления.
 +
* [http://cups4lazarus.sourceforge.net/ CUPS for Lazarus project] - реализация Common UNIX Printing System для FPC/Lazarus.
 +
* [http://tcoq.free.fr/composants.html Runge-Kutta] - научный компонент для интегрирования дифференциальных уравнений с использованием событий.
 +
* [http://www.bpdx.com/ Brain Patchwork DX, LLC.] - порт визуальной и невизуальной реализации клиента и сервера TCP/UDP для Lazarus 0.9.22/FPC 2.0.4.
 +
* [http://www.ararat.cz/synapse/ Synapse] - библиотека для работы с протоколом TCP/IP.
 +
* Indy
 +
** [http://indy4lazarus.sourceforge.net/ Indy for Lazarus project] - 119 компонентов Indy для for FPC/Lazarus (проект заморожен).
 +
** [[Indy with Lazarus]] - адаптация Indy9 и Indy10 для Lazarus (ещё одна попытка).
 +
* [http://sourceforge.net/projects/rtcsdk/ RealThinClient SDK] - компоненты для создания стабильных HTTP(S) клиентных и серверных приложений.
 +
 
 +
====Базы данных====
 +
* [http://sourceforge.net/projects/fibl/ FIBL] - порт пакета FreeIBComponents для Lazarus.
 +
* [http://petrochenko.ru/lazarus/lazarus-sqlite.html SQLite for Lazarus] - класс-обёртка для работы с базами данных SQLite через нативную SQLite.dll.
 +
 
 +
==Примеры программ==
 +
* [[SysRec]] - приложения для захвата и записи видео; может быть скачано [http://sourceforge.net/project/showfiles.php?group_id=92177 здесь].
 +
* [[Micro-mainframe Transmission Command Generator for IBM Mainframes | Micro-mainframe Transmission Command Generator для IBM Mainframes]].
 +
* [[Sudoku]] - решатель судоку.
 +
* [[Libview]] - просмотр списка экспортируемых функций для выбранной библиотеки.
 +
* [[Contacts Database]] - расширенная версия примера адресной книги с функцией отчётов.
 +
* [[OpenGL Tutorial]] - пример кода для учебника OpenGL.
 +
* [[Robot - The Game]] - очень простой пример написания игры (для начинающих).
 +
* [[Kaldemonia]] - использование возможностей Google Searcher (с применением библиотеки Synapse).
 +
* [[TSqlite3 Master Detail Example]] - пример работы с SQLite, использующий 3 небольшие таблицы и компонент sqlite.
 +
* [[JCSV (Jans CSV Components)]] - пример использования набора компонентов TJansCSV.
 +
* [[How To Use Interfaces]] - пример работы с интерфейсами и дженериками (generics).
 +
* [http://sourceforge.net/project/showfiles.php?group_id=240460 LRS_Explorer] - небольшая программа для добавления изображений, музыки и т.п. в файл ресурсов Lazarus (lrs).
 +
* [[Creating LCL Control From Libraries]] - демонстрирует создание и управление контролами LCL UI в приложении их плагинов (dll/so/dynlib).
 +
 
 +
==Примеры использования RTL, FLC и LCLs==
 +
*[[Manager Worker Threads System]] - пример разработки менеджера потоков.
 +
*[[Dialog Examples]] - использование диалогов, отсутствующих в Палитре компонентов.
 +
*[[Howto Use TOpenDialog]] - как использовать FileOpen Dialog.
 +
*[[Howto Use TSaveDialog/ru]] - как использовать FileSave Dialog.
 +
 
 +
==Статьи==
 +
* [[Sample Graphics]] - галерея графики, созданной с помощью средств Lazarus.
 +
* [[Fast direct pixel access]] - быстрое сравнение некоторых методов прямого доступа к пикселям.
 +
* [[Perlin Noise]] - использование Perlin Noise в LCL-приложениях (статья).
 +
 
 +
==См. также==
 +
* [[Projects using Lazarus | Проекты, использующие Lazarus]]
 +
* [[Operating Systems written in FPC | Операционные системы, написанные на FPC]]
 +
* [[Using the Lazarus-ccr SVN repository | Использование SVN-репозитория Lazarus-ccr]]

Latest revision as of 17:07, 25 January 2023

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-CCR

Мультимедиа

  • ACS (Audio Component Suite) - коллекция компонентов для разработки приложений, работающих с аудио-данными (воспроизведение/запись/обработка). Может воспроизводить wav, ogg, mp3, mp2, wma и другие форматы, записывать звук с любого источника, "грабить" и много другое. См. ACS.
  • Bluetooth - доступ к Bluetooth-устройствам (например, Wiimote).

Графика

  • GLScene - полноценная библиотека 3D-графики, использующая для рендеринга OpenGL. Позволяет редактировать 3D-сцены непосредственно из IDE. См. также официальный сайт GLScene.
  • TOpenGLBox - каркасный OpenGL-компонент для Lazarus, реализующий область рендеринга OpenGL.
  • SMNetGradient - градиентная заливка для Lazarus.
  • TAChart - удобные и функциональные диаграммы для Lazarus.
  • PlotPanel - компоненты для отрисовки диаграмм и графиков.
  • LazRGBGraphics - пакет для быстрой обработки изображений и манипуляции пикселями (такими как scan line) в памяти.
  • TMetafile/TMetafileCanvas - реализация EnhMetafile API для Windows.
  • ZenGL - кросс-платформенная библиотека для разработки игр, использующая OpenGL.
  • BGRABitmap - отрисовка фигур и изображений с прозрачностью, прямым доступом к пикселям и др.
  • Double Gradient - компонент для простой отрисовки 'двойного градиента' и 'n-градиента'.
  • Gradient Filler одно из лучших решений для создания произвольных n-градиентов в Lazarus.
  • PascalMagick - простой в использовании API для взаимодействия с ImageMagick, а также кросс-платформенное ПО для создания, редактирования и компоновки пиксельных (bitmap) изображений.

Инструменты

  • FpSystools - адаптация Kylix-пакета TurboPower Systools для Lazarus/FPC.
  • DCPcrypt - библиотека криптографических компонентов DCPcrypt.
  • RXfpc - некоторые из компонентов RXlib, конвертированные на Lazarus.
  • MultiLog - система ведения логов, разработанная для FPC-Lazarus.
  • OnGuard - порт Turbo Power OnGuard
  • UniqueInstance - компонент, блокирующий запуск более чем одной копии приложения.
  • XDev Toolkit - кросс-платформенный пакет инструментов для разработчиков.
  • MouseAndKeyInput - юнит для платформо-независимого управления вводом посредством мыши и клавиш.
  • PascalSane - бинд API для сканера (libsane) с примером использования.
  • log4delphi - система ведения логов, основанная на log4j.
  • fppkggui - простой gui для fppkg.
  • SymScan - интерфейс сканера штрих-кодов для устройств серий Symbol/Motorolla MC.
  • Theodp - инструменты для работы с UTF-8.
  • Delphi form to HTML converter - Lazarus-версия компонента Delphi Form to HTML (F2H).

Архивация

  • Zlibar - объекты для создания и распаковки архивов zlib, содержащих несколько файлов.
  • FreePascalArchivePackage - адаптация библиотеки TurboPower Software Abbrevia для Free Pascal Compiler.
  • ZipFile - компонент для инкапсуляции zip-файлов (с архивом можно работать как с обычной файловой системой).
  • libtar - класс для работы с .TAR-архивами от Stefan Heymann; может использоваться совместно с zstream для создания файлов .tar.gz.
  • bzip2lib - потоковые классы для сжатия и распаковки bzip2.
  • paszlib - преобразованая стандартная библиотека Zlib для Pascal (без зависимостей).

Редактирование и просмотр

  • PowerPDF - порт визуальных компонентов PowerPDF для Lazarus.
  • RichView - порт freeware-редакции компонента TRichView для Lazarus.
  • RichMemo - кросс-платформенная реализация редактора и просмотрщика Rich Text.
  • SynEdit - компоненты типа TMemo с подсветкой синтаксиса и другими функциями (используются IDE).
  • THtmlPort - порт компонентов HTML Components (THtmlViewer, TFrameViewer, TFrameBrowser) от Dave Baldwin для Lazarus.
  • GeckoPort - порт Gecko SDK for Delphi от Takanori Ito для Lazarus, включающий TGeckoBrowser.
  • Fshcomp - компоненты Edit.

Сети

  • BeepFp - framework для протокола BEEP.
  • Sockets - компоненты для работы с сокетами TCP/IP.
  • lNet - набор компонентов, обеспечивающих простую, однопотоковую управляемую событиями реализацию протоколов, начиная с TCP и UDP, и заканчивая SMTP и HTTP. lNet не использует никаких внешних библиотек и очень легко портируется на новые платформы.
  • FPC and Apache Modules - заголовочные файлы для создания модулей к Apache на FPC.
  • Web Services Toolkit - пакет для работы с веб-сервисами.

Базы данных

  • fb embedded2 Laz - использование встраиваемой (embedded) версии FireBird 3 в Lazarus.
  • TPSQL - компоненты для подключения к базам данных PostgreSQL.
  • tiOPF - TechInsite Object Persistent Framework (версия 2).
  • TParadoxDataSet - реализация TDataSet, позволяющая читать файлы Paradox до версии 7 (возможно и выше).
  • ZeosDBO - набор компонентов для работы с различными базами данных (Firebird, PostgreSQL, MySQL, Oracle, SQLite и другие).
  • SQLitePass - компоненты для подключения к базам SQLite.
  • MS Access - работа с использованием TODBCConnection через FILEDSN

Форматы файлов

  • CsvDocument - работа с CSV файлами с использованием парсера или "клеточного" интерфейса наподобие того, что используется в компоненте StringGrid.

Контейнеры

  • StringHashMap - контейнер String -> Pointer. Быстрый и расходующий минимум памяти.

Система

  • EpikTimer - точный таймер, написанный специально для Lazarus.
  • Manager Worker Threads System - менеджер потоков, позволяющий обрабатывать многочисленные объекты и данные в реальном времени.
  • TrayIcon - кросс-платформенный компонент для создания значка приложения в системном трее.
  • TPopupNotifier - компонент, показывающий подсказки в виде облака (balloon).
  • MultiDoc - компонент для написания псевдо-MDI приложений в Lazarus.
  • MDButtonsBar - ButtonsBar для компонента MultiDoc.
  • MPICH - биндинги для MPI (Message Passing Interface).
  • Bluetooth - доступ к Bluetooth-устройствам.

Визуальные компоненты

  • VirtualTreeview - порт быстрого компонента virtual treeview от SoftGems.
  • Turbopower Visual PlanIt - порт компонентов для планирования Visual PlanIt для Lazarus.
  • RingChart and AnalogWatch - ещё одна эллиптическая диаграмма, а также аналоговые часы для Lazarus и FPC.
  • ColorBox - "пипетка" (сolor-picker) с предварительным просмотром.
  • Spook's Panel Components - коллекция компонентов-панелей.
  • HistoryFiles - компонент для хранения списка "последних файлов" в .ini-файле и отображения его в меню.
  • ColorPalette - цветовая палитра, позволяющая использовать произвольные наборы цветов.
  • OrphPort - реализация контролов TurboPower Orpheus для Lazarus.
  • TSubForm - Data-Aware компоненты SubForm, основанные на записях и датасетах (dataset).
  • Lui Controls - набор визуальных компонентов (TToggleLabel, TMenuButton).
  • JvXPBar - порт контрола TJvXPBar из состава JVCL's, отображающего иконку, заголовок и ноль или более кликабельных объектов в своей клиентской области.
  • CmdLine - строка запроса команды.
  • Wile64 - набор компонентов для Lazarus (TGifAnim, TColorProgress, TLabelCut и другие).
  • TGradButton - кнопка с улучшенным внешним видом.
  • TMyRollOut and ExpandPanel - сворачивающиеся блоки (аналог TJvRollOut); могут быть размещены на скрывающейся панели.
  • FileMenuHandler - сохранение списка "последних файлов" и реализация команд "Открыть", "Сохранить", "Сохранить как" и "Выход".
  • ZVDateTimeControls Package - пакет, включающий TZVDateTimePicker (клон TDateTimePicker из Delphi) и TDBZVDatePicker (data-aware версия TZVDateTimePicker).
  • BGRAControls - набор компонентов, основанных на пакете BGRABitmap (включает BGRAImageList, BGRASpeedButton, BGRAButton и BGRAPanel).

Расширения Lazarus IDE

  • Manual Docker - расширение, позволяющее "приклеить" окно с сообщениями компилятора к редактору кода.
  • Список других расширение можно посмотреть на страничке Lazarus IDE plugins.

Доступ к "железу"

  • NIDAQmxBase and NIDAQmx - модуль для использования устройств National Instruments с помощью библиотеки NI-DAQmxBase(Linux, Windows, macOS) и NI-DAQmx(Windows и NIDAQmx 8.0.2 для Linux).
  • Примеры на Паскале [1]

Пакеты для FPC/Lazarus, размещённые на сайтах разработчиков

Архивация

  • lazarus-zlib - простой в использовании класс-обёртка для zlib.

Графика и игры

  • Graphics32 - набор компонент для работы с графикой. Включает более функциональную реализацию TImage (TImage32).
  • Castle Game Engine - движок 3D-игры, ориентированный прежде всего на форматы VRML/X3D.
  • Diagram - модуль для отрисовки диаграмм с использованием системы моделей/просмотров.
  • DrawObjectsExtended - графический компонент для отрисовки структурных диаграмм, портированный из Delphi.
  • mpg123.dll - кросс-платформенный декодер форматов MPEG layers 1, 2 и 3 (MP3 протестирован плохо); прилагаемый пример содержит два враппера, протестированных только под Win32.
  • FreeImage - открытая библиотека, обеспечивающая поддержку популярных графических форматов, таких как PNG, BMP, JPEG, TIFF и др. (работает в Windows, Linux и Mac OS X). Включает PicViewer - пример приложения (только для Windows), показывающего изображения с использованием данной библиотеки (DLL).

Мультимедиа

  • PortAudio - проект кросс-платформенного Audio API, доступный для Windows, Mac OS X, Unix (OSS/ALSA), SGI и BeOS. Содержит врапперы, позволяющие работать с C-библиотеками, а также примеры использования PortAudio DLL в Lazarus LCL под Windows. Враппер для portaudio.dll взят из Sourceforge-проекта UltraStar.
  • UltraStar Deluxe - заголовочные файлы к различным библиотекам для Windows, Linux и Mac OS X (с некоторыми сокращениями): portaudio, BASS, ffmpeg, SDL, libpng, FreeImage, freetype, JEDI-SDL, Lua, midi, pcre, portmixer, projectM, samplerate, SQLite, zlib, fft.
  • RackCtls - коллекция компонентов для работы с "Hi-fi-системами".

Графика и интерфейс

  • HTML Viewer Components - ещё одна попытка реанимировать HTMLView от Dave Baldwin. Заявлена совместимость с Delphi и Lazarus, но поддержка Lazarus находится в стадии alfa-тестирования.
  • TTreeListView - комбинация TTreeView и TListView, отображающая ветви дерева с дополнительными колонками.
  • ExcelInterfaces - компонент для работы с таблицами Excel из программ на FPC и Lazarus. Он также демонстрирует использование интерфейсов COM на платформе Windows.
  • TMapViewer - компонент для работы с популярными картографическими сервисами Google Maps и OpenStreet. Использует только стандартные графические контролы. Есть версия для Windows (только стандартные средства) и Linux (требуется библотека Synapse).

Сеть и устройства

  • PascalSCADA - набор компонентов для упрощения разработки приложений HMI/SCADA, взаимодействующих с PLC или другими промышленными устройствами.
  • ICU4PAS - кросс-платформенные классы на Object Pascal для Direct Class Wrapper с использованием библиотек ICU.
  • Internet Tools - класс для получения и парсинга html-страниц, а также автообновления.
  • CUPS for Lazarus project - реализация Common UNIX Printing System для FPC/Lazarus.
  • Runge-Kutta - научный компонент для интегрирования дифференциальных уравнений с использованием событий.
  • Brain Patchwork DX, LLC. - порт визуальной и невизуальной реализации клиента и сервера TCP/UDP для Lazarus 0.9.22/FPC 2.0.4.
  • Synapse - библиотека для работы с протоколом TCP/IP.
  • Indy
    • Indy for Lazarus project - 119 компонентов Indy для for FPC/Lazarus (проект заморожен).
    • Indy with Lazarus - адаптация Indy9 и Indy10 для Lazarus (ещё одна попытка).
  • RealThinClient SDK - компоненты для создания стабильных HTTP(S) клиентных и серверных приложений.

Базы данных

  • FIBL - порт пакета FreeIBComponents для Lazarus.
  • SQLite for Lazarus - класс-обёртка для работы с базами данных SQLite через нативную SQLite.dll.

Примеры программ

  • SysRec - приложения для захвата и записи видео; может быть скачано здесь.
  • Micro-mainframe Transmission Command Generator для IBM Mainframes.
  • Sudoku - решатель судоку.
  • Libview - просмотр списка экспортируемых функций для выбранной библиотеки.
  • Contacts Database - расширенная версия примера адресной книги с функцией отчётов.
  • OpenGL Tutorial - пример кода для учебника OpenGL.
  • Robot - The Game - очень простой пример написания игры (для начинающих).
  • Kaldemonia - использование возможностей Google Searcher (с применением библиотеки Synapse).
  • TSqlite3 Master Detail Example - пример работы с SQLite, использующий 3 небольшие таблицы и компонент sqlite.
  • JCSV (Jans CSV Components) - пример использования набора компонентов TJansCSV.
  • How To Use Interfaces - пример работы с интерфейсами и дженериками (generics).
  • LRS_Explorer - небольшая программа для добавления изображений, музыки и т.п. в файл ресурсов Lazarus (lrs).
  • Creating LCL Control From Libraries - демонстрирует создание и управление контролами LCL UI в приложении их плагинов (dll/so/dynlib).

Примеры использования RTL, FLC и LCLs

Статьи

  • Sample Graphics - галерея графики, созданной с помощью средств Lazarus.
  • Fast direct pixel access - быстрое сравнение некоторых методов прямого доступа к пикселям.
  • Perlin Noise - использование Perlin Noise в LCL-приложениях (статья).

См. также