Справочник функций и процедур Delphi: Read

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

Read
Процедура
Позволяет прочитать данные из двоичного или текстового файла System unit
  
1 procedure Read ( var Value1 {,var Value2 ...}; ) ;

2 procedure Read ( var FileHandle : TextFile; var Value1 {,var Value2 ...}; ) ;

3 procedure Read ( var FileHandle : File; var Value1 {,var Value2 ...}; ) ;

Google  
 
Описание
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
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook