Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Типизированный файл





Типизированный файл - это файл, в котором записаны идентичные структуры. Типизированный файл можно создать только программным путем. Он состоит из записей фиксированной длины. Содержимое файла - это машинное представление данных. Типизированные файлы так же называют двоичными т.к. они содержат информацию в двоичном коде. С каждым типизированным файлом связана переменная - указатель. Указатель определяет смещение от начала файла в количестве прочитанных или записанных записей. При открытии файла значение указателя равно нулю, т.е. не выполнено ни одной операции ввода/вывода. Если только одна запись записана или прочитана, то значение указателя равно единице.

Формат объявление файловой переменной

Var

Имя ф.п.: file of Тип записи файла;

Тип записи это любой тип языка Pascal кроме файлового.

Операции над типизированным файлом

1) Назначение файловой переменной физического файла

Это связывание файловой переменной с файлом. Осуществляется аналогично связыванию для текстовых файлов. Связь файловой переменной с файлом устанавливается с помощью процедуры Assingfile.

Формат процедуры:

Assingfile(файловая переменная, имя файла);

2) Создание файла

Создание типизированного файла осуществляется процедурой Rewrite(Ф.п.).

Пример

Var

F: file of integer;

Begin

Assignfile(F,’A.Dat’);

Rewrite(F);

End.

После выполнения программы в текущей папке появится файл A.dat. При открытии существующего файла процедурой Rewrite (файловая переменная) файл удаляется. Открытый этой процедурой файл допускает выполнение операции чтения и записи.

3) Открыть существующий для чтения и записи

При открытии типизированного файла процедурой Reset(Ф.п.) данные файла доступны для чтения, но открытый таким образом файл допускает выполнение операции записи в файл.

4) Чтение данных из файла

Осуществляется процедурой

Read(Ф.п., Список переменных);

Переменные в списке должны быть того же типа что и тип файла.

Пример использования процедуры read

Var

F: file of integer;

A:integer;

B:real;

Begin

Assignfile(F,’A.Dat’);

Reset(F);

Read(F,A);

Read(F,B); //Это будет ошибка т.к. тип переменной и файла различен.

End.

 

5) Записать в файл

Осуществляется процедурой

Write(ф.п., список переменных);

Переменные в списке должны быть того же типа что и тип файла

Пример

Var

F: file of integer;

A:integer;

B:real;

Begin

Assignfile(F,’A.Dat’);

Rewrite(F);

A:=5;

Write(F,A);

End.

6) Закрытие файла

Осуществляет процедура Closefile(Ф.п.). После выполнения этой операции доступ к данным файла невозможен, но связь файловой переменной и с физическим файлом сохраняется.

7) Определение кол-во записей в файле.

. В типизированных файлах не рекомендуется использовать функцию Eof. При обработке всех записей файла, следует использовать функцию Filesize(ф.п.):Longint, которая возвращает количество записей в файле.

Пример

Прочитать и вывести все записи файла.

Var

F: file of integer;

A,i:integer;

Begin

Assignfile(F,’A.Dat’);

Reset(F);

For I:=1 to filesize(F)-1 do

Begin

Read(F,A);

Write(A,’ ‘)

End;

End.

8)Определение позиции в типизированном файле

Осуществляет процедура filepos(Ф.п.):longint. Она возвращает номер записи в файле, к которой будет применяться операция ввода/вывода.

Пример

Var

F: file of integer;

A:integer;

Begin

Assignfile(F,’A.Dat’);

Reset(F);

Read(F,A);

Write(Filepos(F)); //результат равен 1(позиция первая)

End.

 

9) Организация прямого доступа

В типизированных файлах можно выполнять операции чтения и записи к записям с произвольным номером, не выходящим за количество записей файла. Эту операцию выполняет процедура Seek(Ф.п.,N). Ее действие: осуществляет перемещение указателя в позицию N. N - это значение целого типа.

Примеры использования процедуры

Seek(F,0); //Указатель перемещается в положение 0 т.е. доступна первая запись файла

Seek(F,Filesize(F)); //Переместит указатель в конец файла (за последнюю запись)

Seek(F,5); //Указатель установится перед пятой записью.







Дата добавления: 2015-10-01; просмотров: 380. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия