Описание |
Delphi процедура Read читает линейно данные из файла или консоли ( console ).
Версия 1
Используется, чтобы читать текстовые величины с консоли ( console ).
Версия 2
Используется, чтобы читать текстовые величины из текстового файла с данными.
Версия 3
Используется, чтобы читать данные из двоичного файла.
Вы должны использовать AssignFile, чтобы назначать файл для операций -
чтения / записи; и открыть файл до процедуры чтения.
Для текстовых файлов, каждая строка текста разбита на переменные. Эти переменные
могут быть текстовыми или числовыми типами.
Для строк ( string ), будет прочитана вся строка, если она не превышает размер
переменной.
При синтаксическом анализе чтения для чисел, символы интервала и концов строки
являются разделителями между различными переменными. Если величина числа
превышает возможность переменной, она выбрасывается в переменной не вызывая
исключение.
При чтении строк или символов, ReadLn должен быть выполнен, пока не
достигнут Eoln (конец линии). В противном случае, многократно возврат
вызовов последующего Чтения будет невозможно.
Для двоичных файлов, данные оцениваются Value1, Value2 и т.п.,
прочитаны из файла данных.
Если файл данных - типизированный файл (файл определён на содержимое конкретного
типа данных), тогда эти величины должны быть того же самого типа. Например, файл
типа - запись, значит переменные, которые будут прочтены из этого файла, тоже
должны быть такими же записями.
|
|
Примечания |
Вы не можете использовать Read, чтобы читать из нетипизированного двоичного файла (который объявлен как File без указанного типа).
Для чтения из нетипизированного двоичного файла, используйте BlockRead.
Read не использует буферизацию, поэтому BlockRead более эффективен.
Read также является директивой Delphi. Она используется с ключевым словом Property.
|
|
Похожие команды |
AssignFile Связывает дескриптор файла с бинарным или текстовым файлом
CloseFile Закрывает открытый файл
Eof Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset
Eoln Возвращает true, если позиция курсора находится в конце строки
File Определяет типизированный или нетипизированный файл
ReadLn Позволяет прочитать полную строку данных из текстового файла
Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи
TextFile Объявляет типа файл для того, чтобы сохранить строки текста
Write Записывает данные в бинарный или текстовый файл
WriteLn Записывает законченную строку данных в текстовый файл
| |
|
Пример кода : Чтение простых символов единовременно из текстового файла |
var
myFile : TextFile;
letter : char;
text : string;
begin // Попытка открыть файл Test.txt для записи в него
AssignFile(myFile, 'Test.txt');
ReWrite(myFile);
// Запись строки текста в файл
WriteLn(myFile, 'Hello');
WriteLn(myFile, 'To you');
// Закрытие файла
CloseFile(myFile);
// Переоткрытие файла только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Показ содержимого файла
while not Eof(myFile) do
begin // Процесс считывание одной строки
ShowMessage('Начало новой строки :');
while not Eoln(myFile) do
begin Read(myFile, letter); // Чтение и отображение одного символа
ShowMessage(letter);
end;
ReadLn(myFile, text);
end;
// Закрываем файл в последний раз
CloseFile(myFile);
end;
|
Начало новой строки :
H
e
l
l
o
Начало новой строки :
T
o
y
o
u
|
|
| Пример кода : Чтение word данных из типизированного двоичного файла |
var
myWord, myWord1, myWord2 : Word;
myFile : File of Word;
begin // Попытка открыть двоичный файл
Test.cus для записи
AssignFile(myFile, 'Test.cus');
ReWrite(myFile);
// Запись нескольких строк Word
данных в файл
myWord1 := 234;
myWord2 := 567;
Write(myFile, myWord1, myWord2);
// Закрываем файл
CloseFile(myFile);
// Переоткрываем файл в режиме только
для чтения
Reset(myFile);
// Показ содержимого файла
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Закрываем файл в последний раз
CloseFile(myFile);
end;
|
234
567
|
|