Текстовые файлы предназначены для хранения текстовой информации, они связываются с файловыми переменными, принадлежащими стандартному типу TextFile. Текстовый файл трактуется в Delphi как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой. При создании текстового файла в конце каждой строки ставиться специальный признак EOLN (End of Line – конец строки), а в конце файла – EOF (End of File). При формировании текстовых файлов используются следующие соглашения:
- EOLN – последовательность кодов #13 (CR) и #10(LF);
- EOF – код #26.
Для работы с текстовыми файлами используются такие процедуры как Read, ReadLn, Write, WriteLn. Текстовый файл, находящийся на жёстком диске вашего компьютера, связывается с переменной при помощи процедуры AssignFile.
Функции и процедуры | Описание |
function Eoln | Проверяет признак конца строки и возращает True, если конец строки достигнут. |
function Read | Читает из текстового фала последовательность символьных переменных типа Char, String, а также любого целого или вещественного типа, игнорируя признаки EOLN. |
procedure ReadLn | Читает из текстового фала последовательность символьных переменных типа Char, String, а также любого целого или вещественного типа с учётом границ строк. |
function SeekEoln | пропускает все пробелы, признака табуляции до признака конца строки Eoln или до первого значащаго символа и возращает True, если признак обнаружен. |
function SeekEof | пропускает все пробелы, признака табуляции и признаки конца строки Eoln или до первого значащаго символа и возращает True, при EOF обнаружен. |
procedure Write | Записывает символьные представления параметров в текстовый файл. |
procedure WriteLn | Записывает символьные представления параметров и кризнак конца строки EOLN в текстовый файл. |
Внимание! Процедуру Read не рекомендуется использовать для переменных типа String, т.к. она читает только первую строку файла.
Пример кода Delphi, который выполняется при нажатии кнопки button. Этот код открывает текстовый файл “test.txt”, стихотворение А.С. Пушкина, и выводит его в текстовое поле Memo:
procedure TForm2.Button1Click(Sender: TObject);
var
F: TextFile;
S: String;
begin
Memo1.Clear;
AssignFile (F,’C:\Новая папка (2)\test.txt’);
Reset (F);
while not EOF (F) do
begin
ReadLn(F,S);
Memo1.Lines.Add(S);
end;
CloseFile(F);
end;
Одной из ошибок при открытии текстового файла может быть его неправильная кодировка:
Решить ее можно с помощью изменения кодировки текста файла на ANSI в программе BRED: