Параметры номерФайла: Обязательный. Любой допустимый номер файла. НомерЗаписи: Необязательный. Номер записи (режим Random) или номер байта (режим Binary), с которого следует начать запись. ИмяПеременной: Обязательный. Имя переменной, содержащей данные, которые следует записать в файл.
Замечания Данные, записанные с помощью инструкции Put, обычно считываются из файла с помощью инструкции Get. Первой записи (или байту) файла соответствует номер 1, второй 2 и т.п. Если аргумент номерЗаписи опущен, записывается запись (или байт), на которую указатель был установлен после выполнения последней инструкции Get или Put переведен с помощью функции Seek. Наличие запятых-разделителей является обязательным, например:
Put #4,,FileBuffer
Для файлов, открытых в режиме Random, применимы следующие правила: Даже если длина данных, подлежащих записи, меньше длины записи, указанной в предложении Len инструкции Open, инструкция Put начинает запись каждой следующей записи с начала этой записи. Пространство между концом одной записи и началом следующей записи заполняется текущим содержимым буфера файла. Поскольку объем данных, используемых для заполнения, не может быть определен с достаточной степенью уверенности, рекомендуется, чтобы длина записи совпадала с длиной читаемых данных. Если длина данных, подлежащих записи, больше длины записи, указанной в предложении Len инструкции Open, возникает ошибка. При записи строки переменной длины инструкция Put сначала записывает 2-байтовый дескриптор, содержащий длину строки, а затем содержимое этой переменной. Таким образом, длина записи, указанная в предложении Len инструкции Open, должна по крайней мере на 2 байта превышать фактическую длину этой строки. При записи переменной Variant числового типа инструкция Put сначала записывает 2 байта, указывающие подтип (VarType) типа Variant, а затем содержимое этой переменной. Например, при чтении переменной Variant подтипа VarType 3, инструкция Put записывает 6 байт: 2 байта, указывающие тип переменной Variant как VarType 3 (Long), и 4 байта, содержащие значение типа Long. Длина записи, указанная в предложении Len инструкции Open, должна по крайней мере на 2 байта превышать фактическое число байт, необходимое для размещения этой переменной. С помощью инструкции Put можно записать массив типа Variant на диск, однако, нельзя записать скаляр типа Variant, содержащий массив. Кроме того, инструкцию Put нельзя использовать для записи объектов на диск. При записи переменной Variant подтипа VarType 8 (String) инструкция Put сначала записывает 2 байта, указывающие VarType, потом 2 байта, указывающие длину строки, а затем содержимое строки. Длина записи, указанная в предложении Len инструкции Open, должна крайней мере на 4 байта превышать фактическую длину этой строки. При записи динамического массива инструкция Put сначала записывает дескриптор, длина которого равняется (2 + 8 * числоРазмерностей) байт. Длина записи, указанная в предложении Len инструкции Open, должна быть больше либо равна сумме всех байтов, необходимых для размещения массива данных и дескриптора массива. Например, для размещения описанного ниже массива требуется 118 байт:
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление