Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Файлы без типа




ТИПИЗИРОВАННЫЕ ФАЙЛЫ

Файловая переменная для этого типа объявляется следующим образом: Var F: file of <тип элементов>,-. Тип элементов может быть любым, за исключением файлового типа и указательного. Например, Var f: file of Double;.

Как и в случае текстовых файлов, для работы с типизированными фай­лами необходимо файловую переменную связать с конкретным файлом, за­тем указать режим работы с этим файлом и по окончании закрыть его, на­пример,

AssignFile(F, 'c:\a.dat');

Reset(F); {или Rewrite(F)}

………….

CloseFile(F);.

Процедура Rewrite, как и в случае текстовых файлов, открывает новый типизированный файл для записи информации. Однако процедура Reset работает не так, как с текстовыми файлами, - она устанавливает доступ и на чтение, и на запись информации. Чтение и запись осуществляются следую­щими процедурами:

Read((<ф.п.><список>); Write(<ф.п.>, <список>);.

Так как данный файл является файлом прямого доступа, можно устанав­ливать файловый указатель на любую запись файла. Для этой цели исполь­зуется процедура Seek{<ф.п.>,<номер записи>); {отсчет от 0}.


Найденную запись можно прочитать или снова перезаписать. В отличие от текстовых файлов, при записи информации в типизированный файл нель­зя использовать выражения в процедуре Write.

В данном случае файловая переменная указывается так: Var F: file;.

Связывание файловой переменной с конкретным файлом и закрытие файла осуществляют так же, как и для типизированных файлов. Однако за­дание режима работы с файлом отличается от аналогичной операции, при­меняемой к типизированному файлу:

Reset(<ф.п.>, Size);

Rewrite(<ф.п.>, Size);.

Добавляется дополнительный параметр size - размер элементов в фай­ле. Величину Size можно устанавливать равной 1. Можно не указывать Size, тогда система по умолчанию примет величину 128. Чтение и запись производятся процедурами:

BlockRead(<ф.п.>, Buffer,N, Result);

BlockWrite(<ф.п.>, Buffer, N, Result);.

Здесь Buffer обычно задается описанием Array... of Char или Array... of Byte, N - число элементов, которое требуется прочитать или запи­сать; Result - конкретное число элементов, которое было прочитано или записано.

Если пользователь знает, какая информация записана в файле, то можно задавать конкретный размер записи. Например, если необходимо работать со структурами данных, то, используя функцию SizeOf, можно определить размер записи, кратный полученному с помощью SizeOf числу. Использо­вание процедур BlockRead и BlockWrite в этом случае значительно уско­рят работу с файлами.




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 296; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.