Работа с составными типами данных в системе Turbo Pascal. Батхин А.Б - 27 стр.

UptoLike

Составители: 

При инициализации нетипизированного файла можно указать для него длину f_l
записи (выражение типа word) в байтах, например:
const
f_l = 512;
var
f1 : file;
.. . . . . . . . . . . .
Assign(f1,'a:123.321');
Reset(f1,f_l);
.. . . . . . . . . . . .
Если длина не указана, она принимается равной 128 байтам. Рекомендуется в качестве
длины записи указывать числа, кратные 512.
При работе с нетипизированными файлами могут применяться всепроцедуры и
функции, определенные для типизированных файлов, кроме Read и Write. Две послед
-
ние процедуры заменены блочными аналогами BlockRead(<файловая перемен-
ная>,<буфер>,<счетчик>[,<результат>]) и BlockWrite(<файловая переменная>, <бу-
фер>, <счетчик> [,<результат>]), обеспечивающими высокоскоростной обмен данными.
Здесь
"буфер" – переменная (аналог списка ввода или вывода);
"счетчик" – количество N записей (выражение типа word), которые должны быть
прочитаны или записаны за одно обращение к диску;
"результат" – необязательный параметр
количество фактически обработанных
записей (word).
За одно обращение к процедурам может быть передано (N * f_l) байт.
Процедурой Seek и функциями FileSize и FilePos обеспечивается доступ к любой
записи файла.
6.6. Примеры программ
Пример 1 (работа с текстовым файлом)
program VVOD_VYVOD;
const n=1000;
var
vector : array[1..n] of integer; s : array[1..n] of real; i : integer;
n, m : string;
f1,f2 : text;
begin
writeln('полное имя исходного файла ...');
readln(n);
writeln('файл для записи результатов обработки ...'); readln(m);
         При инициализации нетипизированного файла можно указать для него длину f_l
записи (выражение типа word) в байтах, например:
         const
               f_l = 512;
         var
               f1 : file;
        .. . . . . . . . . . . .
               Assign(f1,'a:123.321');
               Reset(f1,f_l);
        .. . . . . . . . . . . .
Если длина не указана, она принимается равной 128 байтам. Рекомендуется в качестве
длины записи указывать числа, кратные 512.
        При работе с нетипизированными файлами могут применяться всепроцедуры и
функции, определенные для типизированных файлов, кроме Read и Write. Две послед-
ние     процедуры                  заменены   блочными        аналогами        BlockRead(<файловая   перемен-
ная>,<буфер>,<счетчик>[,<результат>]) и BlockWrite(<файловая переменная>, <бу-
фер>, <счетчик> [,<результат>]), обеспечивающими высокоскоростной обмен данными.
Здесь
         "буфер" – переменная (аналог списка ввода или вывода);
         "счетчик" – количество N записей (выражение типа word), которые должны быть
прочитаны или записаны за одно обращение к диску;
         "результат" – необязательный параметр – количество фактически обработанных
записей (word).
         За одно обращение к процедурам может быть передано (N * f_l) байт.
         Процедурой Seek и функциями FileSize и FilePos обеспечивается доступ к любой
записи файла.


                                                6.6. Примеры программ
Пример 1 (работа с текстовым файлом)


         program VVOD_VYVOD;
               const n=1000;
               var
                     vector : array[1..n] of integer; s : array[1..n] of real; i : integer;
                     n, m : string;
                     f1,f2 : text;
               begin
               writeln('полное имя исходного файла ...');
                     readln(n);
                     writeln('файл для записи результатов обработки ...'); readln(m);