Я генерирую отчеты (в виде простого текста) и впоследствии стараюсь отображать их в элементе управления TRichEdit для быстрого предварительного просмотра.Создается файл * .txt, а затем файл загружается в элемент управления TRichEdit (Edit->Lines->LoadFromFile(FileName) ;
)
В последнее время я генерирую «огромные» отчеты в десятки мегабайт (или более), и я заметил, чтоэлемент управления TRichEdit «дросселирует» его.
Мне было интересно, можно ли настроить элемент управления виртуальным способом?А именно, он извлекает данные из файла по запросу, в зависимости от того, какие строки нужно отобразить?Возможно, после некоторой предварительной обработки (подсчет строк и т. Д.)
Текстовые файлы создаются самостоятельно, поэтому я могу контролировать их содержимое, кодирование и т. Д. Я был бы весьма рад написать небольшой класс синтаксического анализатора, который открывает файлподсчитывает строки (если не указано иное) и т. д., чтобы как-то помочь элементу управления TRichEdit.
Я должен признать, что я скептически отношусь к этому вопросу, или, скорее, к возможности сделать это сам, ноЯ должен спросить.
Если это невозможно, возможно, комментарии оставят меня на правильном пути.
Скептически, потому что элементу управления потребуется смещение байта в файле на строку (может быть исправлено путем отслеживанияэтого в массиве. Это «дешевле» с точки зрения памяти, чем хранение всех строк в памяти, если именно поэтому элемент управления «дросселирует»)
Скептически, потому что в теории кто-то может изменить содержимое в элементе управления редактированием,например, добавьте строку в целях печати, и очевидно, что изменение не будет отражено в исходном файле.
Ваше мнениетс?PS.Пока я не буду использовать сторонние компоненты для решения этой задачи.