Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



Read

позволяет прочитать данные из двоичного или текстового файла

|| 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 ...}; ) ;

Описание:

    Delphi процедура Read читает линейно данные из файла или консоли ( console ).

     Версия 1

     Используется, чтобы читать текстовые величины с консоли ( console ).

     Версия 2

     Используется, чтобы читать текстовые величины из текстового файла с данными.

     Версия 3

     Используется, чтобы читать данные из двоичного файла.

     Вы должны использовать AssignFile, чтобы назначать файл для операций - чтения / записи; и открыть файл до процедуры чтения.

     Для текстовых файлов, каждая строка текста разбита на переменные. Эти переменные могут быть текстовыми или числовыми типами.

     Для строк ( string ), будет прочитана вся строка, если она не превышает размер переменной.

     При синтаксическом анализе чтения для чисел, символы интервала и концов строки являются разделителями между различными переменными. Если величина числа превышает возможность переменной, она выбрасывается в переменной не вызывая исключение.

     При чтении строк или символов, ReadLn должен быть выполнен, пока не достигнут Eoln (конец линии). В противном случае, многократно возврат вызовов последующего Чтения будет невозможно.

     Для двоичных файлов, данные оцениваются Value1, Value2 и т.п., прочитаны из файла данных.

     Если файл данных - типизированный файл (файл определён на содержимое конкретного типа данных), тогда эти величины должны быть того же самого типа. Например, файл типа - запись, значит переменные, которые будут прочтены из этого файла, тоже должны быть такими же записями.

Пример кода:

var
   myFile : TextFile;
   letter : char;
   text : string;

begin
   // Try to open the Test.txt file for writing to
   AssignFile(myFile, 'Test.txt');
   ReWrite(myFile);

   // Write lines of text to the file
   WriteLn(myFile, 'Hello');
   WriteLn(myFile, 'To you');

   // Close the file
   CloseFile(myFile);

   // Reopen the file for reading only
   FileMode := fmOpenRead;
   Reset(myFile);

   // Display the file contents
   while not Eof(myFile) do
   begin
      // Proces one line at a time
      ShowMessage('Start of a new line :');
      while not Eoln(myFile) do
      begin
        Read(myFile, letter); // Read and display one letter at a time
        ShowMessage(letter);
      end;
      ReadLn(myFile, text);
   end;

   // Close the file for the last time
   CloseFile(myFile);
end;

Результат выполнения:

Start of a new line :
   H
   e
   l
   l
   o
   Start of a new line :
   T
   o

   y
   o
   u

Пример кода:

var
   myWord, myWord1, myWord2 : Word;
   myFile : File of Word;

begin
   // Try to open the Test.cus binary file for writing to
   AssignFile(myFile, 'Test.cus');
   ReWrite(myFile);

   // Write a couple of lines of Word data to the file
   myWord1 := 234;
   myWord2 := 567;
   Write(myFile, myWord1, myWord2);

   // Close the file
   CloseFile(myFile);

   // Reopen the file in read only mode
   Reset(myFile);

   // Display the file contents
   while not Eof(myFile) do
   begin
     Read(myFile, myWord);
     ShowMessage(IntToStr(myWord));
   end;

   // Close the file for the last time
   CloseFile(myFile);
end;

Результат выполнения:

234
567