Как создать файл в TEXT из Delphi / C++Builder / Lazarus?

04.06.2020

Файл формата TXT хранит в себе текстовые документы, информация в которых организована в виде строк. В современных системах строки разделяются разделителями строк, в прошлом же применялось хранение строк в виде записей постоянной или переменной длины. Иногда конец текстового файла, особенно если в файловой системе не хранится информация о размере файла, также отмечается одним или более специальными знаками, известными как маркеры конца файла. Важно отметить, текстовой файл может содержать как форматированный, так и неформатированный текст (иногда свойства плотности-жирности-наклонности шрифта регулируется специальными esc-последовательностями - управляющими символами).

Сегодня мы привыкли, что практически к любому символу может применяться форматирование шрифта, элементов начертания, а также определенных размеров по пользовательским предпочтениям. Существуют и более специализированные форматы, в которые входят XML, PHP, CSV и CHM, в их структуру заложен рассматриваемый тип файла TXT в качестве основы.

Открыть файл TXT можно не только на компьютере, но и на разнообразных мобильных телефонах, смартфонах, планшетах и специальных ридерах. Работать с Text File можно на всевозможных версиях платформ Microsoft Windows, Mac OS, Linux, iOS, Android и Windows Mobile.

Чтобы открыть TXT, большинство пользователей системы Майкрософт используют штатный Блокнот или популярный программный комплекс Microsoft Office, а вот пользователи Mac OS используют стандартную утилиту TextEditor.

Для чего нам может быть нужен “просто текст”? Мощные высокопродуктивные печатающие устройства в банках, например, по сей день печатают “обычный текст” (да, форматированный - но текст). Да и с точки зрения компактности хранения информации без дополнительного сжатия с ним вряд ли что сравнится. Корпоративный сектор любит “обычный TXT”.

Создаём TEXT в Delphi без единой строчки кода!

Прежде всего сборка проекта, после внедрение FastReport c компонентом “экспорт в Text file”, реализовываем отчёт, запускаем, нажимаем в предпросмотре “сохранить” и вызываем экспорт из предпросмотра (ниже покажу, как реализовать запись в TEXT с помощью кода Delphi). Появляется окошко настроек экспорта в TEXT.

TXT настройки  TXT настройки

Какие страницы нашего документа отправить в Excel, диапазон или только определённые страницы.

Настройки экспорта – переносить ли из отчёта разрывы страниц, делать ли рамку для отчета , добавлять ли пустые строки (после каждой строки отчета), использование OEM кодировки (по умолчанию используется Windows кодировка).

Как и всегда можно указать, куда отправить TEXT-файл (локально в файл, на электронную почту, FTP или поместить в облако).

Открыть после экспорта – результирующий файл будет открыт сразу же после экспорта программой, которая стоит по умолчанию для открытия TEXT-документов (Блокнот, TextEditor).

Код для сохранения в RTF сразу из Delphi / Lazarus

Сохранение в TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TForm1.Button1Click(Sender: TObject);
begin
 {Формируем отчёт. Перед экспортом отчёт необходимо обязательно сформировать}
 frxReport1.PrepareReport();
 {Устанавливаем диапазон экспортируемых страниц. По умолчанию экспортируются все страницы сформированного отчёта}
 frxSimpleTextExport1.PageNumbers := '2-3';
 {Устанавливаем, нужно ли экспортировать с разрывами страниц}
 frxSimpleTextExport1.PageBreaks := True;
 {Устанавливаем, нужно ли экспортировать рамки объектов сформированного отчёта символами псевдографики}
 frxSimpleTextExport1.Frames := False;
 {Устанавливаем, нужно ли экспортировать пустые линии}
 frxSimpleTextExport1.EmptyLines := False;
 {Устанавливаем, нужно ли экспортировать текст в OEM кодировке или в кодировке Windows}
 frxSimpleTextExport1.OEMCodepage := False;
 {Устанавливаем, нужно ли открывать результирующий файл после экспорта}
 frxSimpleTextExport1.OpenAfterExport := False;
 {Устанавливаем, нужно ли отображать прогресс экспорта
  (показывать, какая страница в данный момент экспортируется)}
 frxSimpleTextExport1.ShowProgress := False;
 {Устанавливаем, нужно ли отображать окно диалога с настройками фильтра экспорта}
 frxSimpleTextExport1.ShowDialog := False;
 {Устанавливаем имя результирующего файла.} 
 {Обратите внимание на то, что если не установить имя файла и отключить показ диалогового окна фильтра экспорта,} 
 {То всё равно будет отображён диалог выбора имени файла}
 frxSimpleTextExport1.FileName := 'C:\Output\test.txt';
 {Экспортируем отчёт}
 frxReport1.Export(frxSimpleTextExport1);
end;

Теперь мы умеем сохранять сложные документы в обычный TXT-файл! Кстати, это не единственный способ делать сложные, но целиком TXT-документы. Обратите внимание - при выборе в дизайнере отчётов FastReport File - New… (именно с многоточием) появится окно выбора “что именно новое делать хотите”.

Новый элемент

Выбираем “Dot-Matrix Report” - и перейдём в режим создания исключительно TXT-отчёта. Но подробнее об этом в другой раз.

VCL Экспорты Lazarus FastReport Delphi VCL Экспорты Lazarus FastReport Delphi
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»