Алгоритмические языки и программирование. Аксенова Л.И - 9 стр.

UptoLike

9
Для ускорения обмена информацией, в случае большого объема, можно
изменить размер буфера. Для этого используется стандартная процедура:
SETTEXTBUF( <файловая переменная>,<переменная, задающая
размер буфера>);
Обращение к процедуре SETTEXTBUF производится после процедуры
ASSIGN до открытия файла.
Переменная, задающая размер буфера, должна быть предварительно
описана в разделе VAR как массив данных типа Byte или Char, например
:
VAR
Buf: Array[1..1024] of Byte; {Для буфера отводится память до 1Кб.}
F:TEXT;
. . .
ASSIN(F,’file.dan’);
SETTEXTBUF(F,Buf);
. . .
Кроме того, при работе с текстовыми файлами могут оказаться полезными
еще три стандартные логические функции:
EOLN( <файловая переменная>) - возвращает значение TRUE, если во
входном текстовом файле достигнут маркер конца строки.
SEEKEOLN( <файловая переменная>) - пропускает все пробелы и знаки
табуляции до маркера конца строки EOLN или до
первого значащего
символа и возвращает значение TRUE, если маркер EOLN обнаружен.
SEEKEOF( <файловая переменная>) - пропускает все пробелы, знаки
табуляции и маркеры конца строки до маркера конца файла EOF или до
значащего символа и возвращает значение TRUE, если маркер обнаружен.
Примеры работы с текстовыми файлами
Пример 1
Дан текстовый файл с именем Matr.dan, содержащий прямоугольную
матрицу целых чисел, и расположенный в текущем каталоге. Каждая строка
файла содержит одну строку матрицы. Необходимо ввести матрицу в
двумерный массив, определив при этом число строк и столбцов в заданной
матрице. Определить сумму элементов в каждой строке матрицы, записать
результат в
файл с именем Sum.dan и вывести на экран.
  Для ускорения обмена информацией, в случае большого объема, можно
изменить размер буфера. Для этого используется стандартная процедура:
SETTEXTBUF( <файловая переменная>,<переменная, задающая
                                        размер буфера>);
  Обращение к процедуре SETTEXTBUF производится после процедуры
ASSIGN до открытия файла.
  Переменная, задающая размер буфера, должна быть предварительно
описана в разделе VAR как массив данных типа Byte или Char, например:
   VAR
     Buf: Array[1..1024] of Byte; {Для буфера отводится память до 1Кб.}
     F:TEXT;
     ...

     ASSIN(F,’file.dan’);
     SETTEXTBUF(F,Buf);
     ...
   Кроме того, при работе с текстовыми файлами могут оказаться полезными
еще три стандартные логические функции:
EOLN( <файловая переменная>) - возвращает значение TRUE, если во
входном текстовом файле достигнут маркер конца строки.
SEEKEOLN( <файловая переменная>) - пропускает все пробелы и знаки
табуляции до маркера конца строки EOLN или до первого значащего
символа и возвращает значение TRUE, если маркер EOLN обнаружен.
SEEKEOF( <файловая переменная>) - пропускает все пробелы, знаки
табуляции и маркеры конца строки до маркера конца файла EOF или до
значащего символа и возвращает значение TRUE, если маркер обнаружен.

               Примеры работы с текстовыми файлами

                                Пример 1
   Дан текстовый файл с именем Matr.dan, содержащий прямоугольную
матрицу целых чисел, и расположенный в текущем каталоге. Каждая строка
файла содержит одну строку матрицы. Необходимо ввести матрицу в
двумерный массив, определив при этом число строк и столбцов в заданной
матрице. Определить сумму элементов в каждой строке матрицы, записать
результат в файл с именем Sum.dan и вывести на экран.


                                   9