Процедура BlockWrite

Записывает одну или большее количество записей из переменной в файл.

Объявление:

Procedure BlockWrite(Var F : File; Var Buf; Count : Word [; Var Result : Word]);
Где:
F - нетипизированная файловая переменная 
Buf - любая переменная Count  выражение типа Word
Result - переменная типа Word 
 

Режим: 

Замечания:

Процедура BlockWrite записывает Count или меньшее количество записей в файл F из блока памяти, начинающегося с первого байта, занятого переменной Buf. Реальное количество записанных записей (меньшее или равное Count) возвращается в необязательном параметре Result. Если параметр Result не определен, то в случае, когда количество прочитанных записей не равно параметру Count, происходит ошибка ввода/вывода.

Весь записанный блок занимает максимум Count * RecSize байт, где RecSize - размер записи, определяемый при открытии файла (или 128 байт, если размер записи не был определен). Если Count * RecSize больше, чем 64Кб, то происходит ошибка.

Параметр Result является необязательным. Если весь запрошенный блок был записан, то Result будет равно Count. Иначе, в случае, если Result меньше, чем Count, то диск заполнился до завершения записи блока. В таком случае, если параметр RecSize был больше 1, то Result вернет количество целиком записанных записей.

Указатель текущей позиции файла перемещается на количество записей, равное значению параметра Result.

В режиме {$I-} функция IOResult вернет нуль, если операция была успешной, иначе она вернет отличный от нуля код ошибки.

Файл должен быть открыт.

Пример программы: blockrd.pas

См. также:  BlockRead