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

Всего материалов в каталоге: 14
Показано материалов: 1-12
Страницы: 1 2 »

Компонент RichMemo, входящий в Lazarus Code and Component Repository, значительно расширяет функционал многострочного редактора текста. Он позволяет гибко управлять:

  • • параметрами шрифтового оформления текста: название шрифта, размер, цвет, стиль и т.д.;
  • • выравниванием и метриками абзаца текста;
  • • возможность вставки в текст различных объектов.

Здесь описаны некоторые особенности работы в RichMemo с таблицами и ссылками в приложениях для ОС Windows.

Lazarus | Просмотров: 573 | Добавил: zoleg5763 | Дата: 01.04.2021 | Комментарии (0)

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

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

В этом году продолжил работу над серией программ, предназначенными для тренировки/тестирования старшего внука (см. Mathematics и Mathematics2). На этот раз настала очередь программы тестирования правописания словарных слов. Для подготовки файлов словарей пришлось предусмотреть простенький текстовый редактор, в котором, естественно, были реализованы операции работы с буфером обмена (clipboard) WindowsCopy, Cut и Paste.

Чтобы управлять доступностью операции Paste, пришлось реализовать мониторинг изменений буфера обмена Windows. Здесь приведены некоторые итоги моих попыток реализации мониторинга.

Lazarus | Просмотров: 497 | Добавил: zoleg5763 | Дата: 09.10.2019 | Комментарии (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)

В свое время при изучении модифицированного метода узловых потенциалов (ММУП) мне очень помогла книга: Влах И., Сингхал К. Машинные методы анализа и проектирования электронных схем. Особенно мне понравилась таблица, в которой было приведено представление идеальных элементов при составлении матриц ММУП.

В данном материале я привожу несколько доработанную таблицу, которая может помочь при составлении матриц ММУП.

На пальцах | Просмотров: 342 | Добавил: zoleg5763 | Дата: 09.02.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)

Изложены основные моменты определения параметров дискретных резистивных схем замещения нелинейных элементов при анализе динамических режимов электрических цепей. Предполагается применение BDF для анализа процесса во временной области и итеративного метода Ньютона–Рафсона на каждом шаге интегрирования. Рассмотрено применение формулы прогноза для определения начальных приближений итерационного процесса Ньютона–Рафсона.

На пальцах | Просмотров: 366 | Добавил: zoleg5763 | Дата: 14.06.2018 | Комментарии (0)

Описываются понятие дискретных резистивных схем замещения нелинейных элементов, которые получаются при приложении метода Ньютона–Рафсона для анализа нелинейных цепей постоянного тока.

На пальцах | Просмотров: 334 | Добавил: zoleg5763 | Дата: 14.06.2018 | Комментарии (0)

1-12 13-14