Components and Code examples/ru

From Free Pascal wiki
Jump to: navigation, 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)

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

См. также