HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail | |||
| |||
|
Turbo Pascal Documentation |
Процедура SetTextBufФункция: Назначает для текстового файла буфер ввода-вывода. Описание: SetTextBuf(var f: text; var буфер [; размер: word ]) Примечания: Параметр f представляет собой файловую пе- ременную, соответствующую текстовому файлу. Параметр "буфер" - любая переменная, а параметр "размер" - необязательное вы- ражение длиной в слово. Каждая файловая переменная для текстового файла имеет внутренний буфер размером в 128 байтов, что по умолчанию используется для буферизации операций чтения и записи. Этот буфер подходит для использования во многих прикладных задачах, однако программы, выполняю- щие много операций ввода-вывода (например, задачи, выполняю- щие копирование или преобразование текстовых файлов) будут лучше работать с буфером большего размера, поскольку это уменьшает перемещение головки по поверхности диска и избы- точное использование файловой системы. Процедура SetTextBuf переназначает буфер, используемый для текстового файла f: вместо внутреннего буфера файла f используется буфер, заданный параметром "буфер". Параметр "размер" задает размер буфера в байтах. Если этот параметр опущен, то подразумевается использование SizeOf(буфер), то есть по умолчанию в качестве буфера используется вся область памяти, занятая буфером. Новый буфер действует до тех пор, пока для f вновь не выполняется процедура Assign. Ограничения: Данная процедура никогда не должна приме- няться для открытого файла, хотя вызывать ее можно немедлен- но вслед за обращением к процедурам Reset, Rewrite и Аppеnd. Вызов процедуры SetTextBuf для открытого файла во время вы- полнения операций ввода-вывода может из-за смены буфера при- вести к потере данных. Турбо-Паскаль не обеспечивает существование буфера на все время выполнения операций ввода-вывода для файла. Общей ошибкой, в частности, является введение качестве буфера ло- кальной переменной и затем использование файла вне процеду- ры, в которой описывается буфер. Отличия: В версии 3.0 Турбо-Паскаля использовался другой синтаксис - var f:text[2048]. Пример: var f : text; ch : char; buf : char; { буфер 10 К } begin { назначить для файла считывание из командной строки } Assign(f, ParamStr(1)); { ввести для более быстрого чтения буфер большего размера } SetTextBuffer(f, buf); Reset(f); { вывести текстовый файл на экран } while not Eof(f) do begin Read(f, ch); Write(ch); end; end. |
HOME |