Буфер - файл - Большая Энциклопедия Нефти и Газа, статья, страница 1
Оригинальность - это искусство скрывать свои источники. Законы Мерфи (еще...)

Буфер - файл

Cтраница 1


Буфера файлов будут содержать по меньшей мере 512 слов.  [1]

Доступ к буферу файла осуществляется посредством операции buffer, которая предоставляется программисту в виде специального выражения ( см. разд.  [2]

Операция gek присваивает буферу файла компонент файла с указанным значением ключа; если компонент с таким ключом не существует, вызывается аварийная функция key error. Функция put error вызывается процедурой put при попытке помещения в файл компонента с дублирующим значением ключа. Остальные операции ключевого файла имеют тот же смысл, что и соответствующие операции последовательного файла.  [3]

Данные для записи накапливаются в буфере файла и только после полного его заполнения записываются в физический файл. Процедура Flush принудительно записывает данные из буфера в файл независимо от степени его заполнения. Когда буфер имеет большую емкость, его содержимое может не попасть в физический файл, если программа внезапно прервется в процессе счета.  [4]

Логический файл при этом считается закрытым, а размер буфера файла - неопределенным.  [5]

Каждая переменная-файл с компонентами типа Т снабжается атрибутом-переменной типа Т, называемым буфером файла. Для файла с именем / этот буфер изображается f и используется процедурами файла для работы с его компонентами.  [6]

НАЧАЛО г f: к; put ( г) КОНЕЦ; КОНСТ ietchelem ФУНК ( г: АДР; к: гип комп / ключ) тип коми:: НАЧАЛО gek ( г, к); ВОЗВРАТ г f КОНЕЦ; % для упрощения не анализируется случай отсутствия элемента с указанным ключом % КОНСТ modelem ПРОЦ ( г: АДР):: reput ( г); % возвращение в отношение ( файл) текущего элемента ( хранящегося в буфере файла) % КОНСТ select ФУНК ( г: Гч уел: ТЕКСТ ( тип.  [7]

Операция create создает пустой файл. С каждой созданной переменной-файлом связываются два атрибута: буфер файла и стрелка файла, указывающая текущий элемент файла. В то время как файл целиком располагается во внешней памяти, эти два атрибута являются его представителями в оперативной памяти программы.  [8]

Использование операторов READ с опцией INTO и WRITE с опцией FROM связано с пересылкой записей между буфером файла и внутренней переменной. В некоторых случаях для ускорения работы и экономии памяти возможна обработка записи непосредственно в буфере файла с помощью наложения на запись соответствующей базированной переменной.  [9]

Примечания: Параметр f является файловой переменной текстового типа. Когда текстовый файл открывается для вывода с помощью процедур Rewrite или Append, обращение к процедуре Flush позволяет очистить буфер файла. Это обеспечивает то, что все символы, записанные в это время в файл, будут, действительно. Для файлов, открытых для ввода, данная процедура никаких дейстий не выполняет.  [10]

Процедура Flush не закрывает файл и не влияет на последовательность вывода. При работе с ними данным незачем отстаиваться в буфере, и процедура Flush, поставленная после Write, снимет эффект задержки буфера файла.  [11]

Прямой доступ означает возможность позиционировать внутри файла указатель на интересующую нас запись. В случае типизированных файлов запись в файле - это компонент файла, а в случае бестиповых - блок, равный по размеру буферу файла.  [12]

Компоненты файла снабжаются уникальными указателями ( натурального типа) и располагаются в порядке, определяемом последовательностью работы процедур put, putaft, putbef, reput и erase. Компонент, к которому программа обращалась в последний раз, называется текущим компонентом файла. Операция set устанавливает текущим первый компонент файла и присваивает его значение буферу файла. Операция get устанавливает текущим следующий компонент файла и присваивает его значение буферу файла. Операция gep по значению указателя текущего компонента файла вырабатывает значение этого компонента, которое присваивается буферу файла. Процедуры put, putaft и putbef помещают значение, хранящееся в буфере файла, соответственно в конец файла, после и перед текущим компонентом файла, длина файла увеличивается на единицу, помещенный компонент становится текущим. Процедура reput замещает значением буфера файла содержимое текущего компонента файла. Процедура erase удаляет текущий компонент файла, сокращая его длину на единицу, текущим становится следующий компонент файла. Предикат eof вырабатывает значение ИСТИНА, когда файл оказывается в положении конец файла. Процедура rewrite уничтожает содержимое файла, оставляя его в пустом состоянии. Операция length вырабатывает значение текущей длины файла.  [13]

Использование операторов READ с опцией INTO и WRITE с опцией FROM связано с пересылкой записей между буфером файла и внутренней переменной. В некоторых случаях для ускорения работы и экономии памяти возможна обработка записи непосредственно в буфере файла с помощью наложения на запись соответствующей базированной переменной.  [14]

Изображения переменных обозначают либо всю ( полную) пере менную, либо компоненту переменной. Полная переменная изобра жается своим идентификатором. Компонентные переменные подраз деляются, как и в Паскале, на переменные с индексом, указател1 полей и буферы файлов.  [15]



Страницы:      1    2