Components and Code examples/ru

From Free Pascal wiki

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 X) и 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-приложениях (статья).

См. также