Components and Code examples/ru
From Free Pascal wiki
Jump to navigationJump to search
│
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) │
Компоненты из 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
- 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-приложениях (статья).