Главная » Статьи » FreePascal

В категории материалов: 7
Показано материалов: 1-7

Сортировать по: Дате · Названию · Рейтингу · Комментариям · Просмотрам

Дорабатывая программу Word_test, решил добавить проверку орфографии (spell checking) в редактор словарей. В данном материале описываю некоторые особенности реализации функционала проверки орфографии в FPC/Lazarus программах с использованием динамической C++/C библиотеки Hunspell в Windows.

FreePascal | Просмотров: 432 | Добавил: zoleg5763 | Дата: 11.09.2020 | Комментарии (0)

Во второй части было показано, что в текущей реализации невозможно использование классов–наследников TCustomComparer<T>. В данном материале описывается возможное исправление этой ситуации.

FreePascal | Просмотров: 258 | Добавил: zoleg5763 | Дата: 07.04.2019 | Комментарии (0)

В первой части было рассмотрено использование для построения функций хеширования интерфейсов IEqualityComparer<T> и IExtendedEqualityComparer<T>, реализованных в модуле Generics.Defaults, который входит в состав FreePascal Generics.Collections library.

В этой части будет описан опыт применения наследников класса TCustomComparer<T> для хеширования строковых данных. В ходе этой попытки было выяснено, что некоторые особенности реализации классов приводят к невозможности использования этих классов.

FreePascal | Просмотров: 202 | Добавил: zoleg5763 | Дата: 01.04.2019 | Комментарии (0)

Однажды мне понадобилось применить в некотором алгоритме хеш-функцию. Поиск в Интернете вывел меня на FreePascal Generics.Collections library, в которой предлагался целый набор таких функций. Кроме того имелся набор классов и интерфейсов для построения Compares, EqualityComparers и HashFactories. Все это было написано в виде generics с возможностью настройки для разных типов входных данных.

Я решил попробовать применить библиотеку в своей работе, и вот что у меня получилось.

FreePascal | Просмотров: 365 | Добавил: zoleg5763 | Дата: 26.03.2019 | Комментарии (0)

В продолжении предыдущего материала.

При подготовке справочного файла вдруг выяснил, что утилиты MAKESKEL и  FPDOC некорректно обрабатывают директивы IfDef и IfNDef при наличии каких-либо символов между условным идентификатором и закрывающей скобкой }.

Анализ показал, что это обусловлено ошибкой в реализации класса TPascalScanner, который входит в состав модуля PSCANNER - файл модуля: $(LazarusDir)\FPC\3.0.4\SOURCE\PACKAGES\FCL-PASSRC\src\pscanner.pp, который является частью Free Component Library.

По данной ошибке заведен запрос на FreePascal bugtracker'е: issue ID 0034711.

FreePascal | Просмотров: 183 | Добавил: zoleg5763 | Дата: 03.02.2019 | Комментарии (1)

Из-за особенностей реализации в языке FreePascal применение внутри других циклов цикла FOR … IN … DO для перечислимых классов может привести к увеличению времени выполнения программ

FreePascal | Просмотров: 236 | Добавил: zoleg5763 | Дата: 20.01.2019 | Комментарии (0)

При подготовке справочного файла формата CHM обнаружил ошибку в редакторе документации LazDE.

По данной ошибке заведен запрос на FreePascal bugtracker'е: issue ID 0034631.

FreePascal | Просмотров: 205 | Добавил: zoleg5763 | Дата: 24.11.2018 | Комментарии (1)