ВУЗ:
Составители:
Рубрика:
39
Исходный файл : 14 8 -23 59 0 -18 31 67 24 52 -98 -45 -110
-37 -5 16 0 48 20 7
3.6 Нетипизированные файлы
С точки зрения Object Pascal, нетипизированный файл представля -
ет собой последовательность байтов, содержащих данные произвольно-
го типа и структуры . Основное назначение нетипизированных файлов
– обеспечение совместимости с любыми типами файлов и организа -
ция высокоскоростного обмена данными между внешними запоми-
нающими устройствами и оперативной памятью . Описание нетипизи -
рованного файла f имеет вид :
var f : file;
В процедурах reset и rewrite для нетипизированных файлов ука -
зывается дополнительный параметр RecSize, чтобы задать размер за -
писи, используемой при передаче файла :
procedure reset (var f : file {; RecSize : word});
procedure rewrite (var f : file {; RecSize : word});
Если параметр RecSize не указан, то принимаемая по умолчанию
длина записи равна 128 байтам. Длина записи измеряется в байтах и
может быть задана произвольным целым числом – от 1 байта до 2
Гбайт . Если задать длину записи, кратную 512 байт , то это позволит
выполнять операции чтения -записи для нетипизированного файла с
максимальной скоростью .
За исключением процедур read и write для нетипизированных
файлов можно использовать все стандартные процедуры , которые до-
пускается использовать для типизированных файлов. Вместо процедур
read и write используются процедуры blockread и blockwrite, позво-
ляющие пересылать данные с высокой скоростью :
procedure blockread( var f : file; var buf; count : integer; {var at : integer});
procedure blockwrite( var f : file; var buf; count : integer; {var at : integer});
Здесь f – имя файловой переменной, связанной с нетипизирован-
ным файлом , buf – переменная, в которую будут помещаться данные
при чтении из файла или из которой будут извлекаться данные при
записи в файл . Count – параметр целого типа , указывающий, какое
39 И сход н ый ф а йл: 14 8 -23 59 0 -18 31 67 24 52 -98 -45 -110 -37 -5 16 0 48 20 7 3.6 Н етипизированные ф айлы С т очки зрен ия Object Pascal, н етипизирова н н ый ф а йл пред ст а вля - ет соб ой послед ова т ельн ост ь б а йтов, сод ерж а щих д а н н ые произвольн о- го т ипа и стру кт у ры. Осн овн ое н а зн а чен ие н ет ипизирова н н ых ф а йлов – об еспечен ие совм естим ости с лю б ым и т ипа м и ф а йлов и орга н иза - ция высокоскоростн ого об м ен а д а н н ым и м еж д у вн еш н им и за пом и- н а ю щим и у ст ройства м и и опера т ивн ой па м я т ью . Описа н ие н етипизи- рова н н ого ф а йла f им еет вид : var f : file; В процед у ра х reset и rewrite д ля н ет ипизирова н н ых ф а йлов у ка - зыва ется д ополн ительн ый па ра м етр RecSize, чт об ы за д а т ь ра зм ер за - писи, использу ем ой при перед а че ф а йла : procedure reset (var f : file {; RecSize : word}); procedure rewrite (var f : file {; RecSize : word}); Е сли па ра м етр RecSize н е у ка за н , то прин им а ем а я по у м олча н ию д лин а за писи ра вн а 128 б а йт а м . Длин а за писи изм еря ет ся в б а йт а х и м ож ет б ыт ь за д а н а произвольн ым целым числом – от 1 б а йт а д о 2 Гб а йт. Е сли за д а т ь д лин у за писи, кра т н у ю 512 б а йт, то э т о позволит выполн я т ь опера ции чтен ия -за писи д ля н ет ипизирова н н ого ф а йла с м а ксим а льн ой скорост ью . За исклю чен ием процед у р read и write д ля н етипизирова н н ых ф а йлов м ож н о использова т ь все ст а н д а рт н ые процед у ры, кот орые д о- пу ска ет ся использова т ь д ля т ипизирова н н ых ф а йлов. В м есто процед у р read и write использу ю т ся процед у ры blockread и blockwrite, позво- ля ю щие пересыла ть д а н н ые с высокой скорост ью : procedure blockread( var f : file; var buf; count : integer; {var at : integer}); procedure blockwrite( var f : file; var buf; count : integer; {var at : integer}); Зд есь f – им я ф а йловой перем ен н ой, свя за н н ой с н ет ипизирова н - н ым ф а йлом , buf – перем ен н а я , в кот ору ю б у д у т пом еща т ься д а н н ые при чтен ии из ф а йла или из которой б у д у т извлека т ься д а н н ые при за писи в ф а йл. Count – па ра м ет р целого т ипа , у ка зыва ю щий, ка кое
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »