Настройка TRichEdit «виртуально», чтобы отображаемый текст извлекался при необходимости - PullRequest
0 голосов
/ 19 февраля 2019

Я генерирую отчеты (в виде простого текста) и впоследствии стараюсь отображать их в элементе управления TRichEdit для быстрого предварительного просмотра.Создается файл * .txt, а затем файл загружается в элемент управления TRichEdit (Edit->Lines->LoadFromFile(FileName) ;)

В последнее время я генерирую «огромные» отчеты в десятки мегабайт (или более), и я заметил, чтоэлемент управления TRichEdit «дросселирует» его.

Мне было интересно, можно ли настроить элемент управления виртуальным способом?А именно, он извлекает данные из файла по запросу, в зависимости от того, какие строки нужно отобразить?Возможно, после некоторой предварительной обработки (подсчет строк и т. Д.)

Текстовые файлы создаются самостоятельно, поэтому я могу контролировать их содержимое, кодирование и т. Д. Я был бы весьма рад написать небольшой класс синтаксического анализатора, который открывает файлподсчитывает строки (если не указано иное) и т. д., чтобы как-то помочь элементу управления TRichEdit.

Я должен признать, что я скептически отношусь к этому вопросу, или, скорее, к возможности сделать это сам, ноЯ должен спросить.
Если это невозможно, возможно, комментарии оставят меня на правильном пути.

Скептически, потому что элементу управления потребуется смещение байта в файле на строку (может быть исправлено путем отслеживанияэтого в массиве. Это «дешевле» с точки зрения памяти, чем хранение всех строк в памяти, если именно поэтому элемент управления «дросселирует»)

Скептически, потому что в теории кто-то может изменить содержимое в элементе управления редактированием,например, добавьте строку в целях печати, и очевидно, что изменение не будет отражено в исходном файле.

Ваше мнениетс?PS.Пока я не буду использовать сторонние компоненты для решения этой задачи.

...