ВУЗ:
Составители:
Рубрика:
25
3.5 Типизированные файлы
Типизированный файл содержит элементы одного типа . Тип эле-
ментов может быть любым, кроме файлового. Создать и просмотреть
такой файл при помощи текстового редактора как текстовый файл
нельзя . Поэтому обработка таких файлов должна осуществляться про -
граммным путём . Напомним, что описание файловой переменной, со-
ответствующей типизированному файлу имеет вид :
var <имя файловой переменной> : file of <тип>;
Для чтения данных из типизированного файла применяется про -
цедура read. Список ввода процедуры read должен содержать пере -
менные того же типа , что и элементы файла . Для записи в типизи -
рованный файл используется процедура write, список вывода которой
должен содержать переменные того же типа , что и элементы файла .
Процедуры readln и writeln для типизированных файлов не приме-
няются .
Доступ к текстовым файлам возможен только последовательно, то
есть, когда элемент считывается или записывается , указатель файла
перемещается к следующему по порядку элементу файла . К типизи -
рованным файлам можно организовать прямой доступ с помощью
стандартной процедуры
procedure seek( var f; n:longint);
которая перемещает файловый указатель в типизированном файле,
связанном с файловой переменной f, на элемент с номером n. Нуме-
рация элементов в файле начинается с нуля . Для определения теку -
щей позиции в файле используется функция
function filepos( var f):longint;
Для определения размера файла используется функция
function filesize( var f):integer;
25 3.5 Т ипизированные ф айлы Т ипизирова н н ый ф а йл сод ерж ит э лем ен ты од н ого типа . Тип э ле- м ен тов м ож ет б ыть лю б ым , кром е ф а йлового. Созд а ть и просм отрет ь т а кой ф а йл при пом ощи т екст ового ред а кт ора ка к т екст овый ф а йл н ельзя . П оэ том у об ра б отка т а ких ф а йлов д олж н а осу ществля т ься про- гра м м н ым пу т ём . На пом н им , что описа н ие ф а йловой перем ен н ой, со- от вет ст ву ю щей типизирова н н ом у ф а йлу им еет вид : var <им я ф а йловой перем ен н ой> : file of <тип>; Для чт ен ия д а н н ых из типизирова н н ого ф а йла прим ен я ет ся про- цед у ра read. Список ввод а процед у ры read д олж ен сод ерж а т ь пере- м ен н ые т ого ж е типа , что и э лем ен т ы ф а йла . Для за писи в т ипизи- рова н н ый ф а йл использу ет ся процед у ра write, список вывод а которой д олж ен сод ерж а т ь перем ен н ые того ж е т ипа , что и э лем ен ты ф а йла . П роцед у ры readln и writeln д ля типизирова н н ых ф а йлов н е прим е- н я ю т ся . Дост у п к т екст овым ф а йла м возм ож ен только послед ова т ельн о, то ест ь, когд а э лем ен т считыва ет ся или за писыва ет ся , у ка за т ель ф а йла перем еща ет ся к след у ю щем у по поря д ку э лем ен т у ф а йла . К типизи- рова н н ым ф а йла м м ож н о орга н изова т ь пря м ой д ост у п с пом ощью ст а н д а рт н ой процед у ры procedure seek( var f; n:longint); кот ора я перем еща ет ф а йловый у ка за т ель в т ипизирова н н ом ф а йле, свя за н н ом с ф а йловой перем ен н ой f, н а э лем ен т с н ом ером n. Ну м е- ра ция э лем ен тов в ф а йле н а чин а ет ся с н у ля . Для опред елен ия т еку - щей позиции в ф а йле использу ет ся ф у н кция function filepos( var f):longint; Для опред елен ия ра зм ера ф а йла использу ет ся ф у н кция function filesize( var f):integer;
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »