Описание |
Delphi процедура ReadLn читает полную строку данных из текстового файла или до консоли (console).
Версия 1
Используется, чтобы читать из консоли (console).
Версия 2
Используется, чтобы читать строку текста из текстового файла с данными.
Вы должны использовать AssignFile, чтобы назначать файл для операций - чтения / записи; и открыть файл до процедуры чтения.
ReadLn прочтёт только одну строку, а так как указатель чтения из файла мы не передвигали, то эта строка будет первой строкой текстового файла.
Для прочтения всего текстового файла удобно использовать цикл.
|
|
Примечания |
ReadLn не буферизует записи, так что его выполнение ухудшено. BlockRead более эффективен, но приспособлен для записи в двоичные файлы.
|
|
Похожие команды |
AssignFile Связывает дескриптор файла с бинарным или текстовым файлом
BlockRead Читает блок записей данных из нетипизированного двоичного файла
BlockWrite Записывает блок записей данных в нетипизированный двоичный файл
Eof Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset
File Определяет типизированный или нетипизированный файл
Read Позволяет прочитать данные из двоичного или текстового файла
ReadLn Позволяет прочитать полную строку данных из текстового файла
Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи
TextFile Объявляет типа файл для того, чтобы сохранить строки текста
Write Записывает данные в бинарный или текстовый файл
WriteLn Записывает законченную строку данных в текстовый файл
| |
|
Пример кода : Чтение каждой текстовой строки как набор 4 чисел |
var
myFile : TextFile;
n1, n2, n3 : Integer;
begin // Попытка открыть файл Test.txt
для записи
AssignFile(myFile, 'Test.txt');
ReWrite(myFile);
// Запись чисел в строку WriteLn(myFile, '1 2 3 4'); //
Обратите внимание, что 4 будут проигнорирована
// Запись чисел как отдельные
параметры
WriteLn(myFile, 5, ' ', 6, ' ', 7);
// Запись чисел как отдельные
параметры WriteLn(myFile, '8 9'); //
Отсутствие чисел будет замечено 0
// Закрытие фала
CloseFile(myFile);
// Переоткрытие фала для чтения
Reset(myFile);
// Показ содержимого фала
while not Eof(myFile) do
begin
ReadLn(myFile, n1, n2, n3);
ShowMessage(IntToStr(n1)+' '+
IntToStr(n2)+' '+
IntToStr(n3));
end;
// Закрытие фала в последний раз
CloseFile(myFile);
end;
|
1 2 3
5 6 7
8 9 0
|
|