Программирование в ACCESS 2000, страница 23

Последние аргументы - <0ptions>, <UserName>,<Password> — определяют несколько дополнительных параметров, идентификатор и пароль пользователя соответственно. Объект Record имеет методы, которые позволяют копировать, перемещать на другое место или удалять,представляемые им объекты: файлы или каталоги. Это методы CopyRecord, MoveRecord и DeleteRecord соответственно. Еще один метод -GetChild - позволяет получить все подчиненные объекты, если Record представ^ ляет промежуточный узел в дереве. Этот метод возвращает объект Recordset, строки которого представляют файлы и подкаталоги. Синтаксис этого метода следующий:

Set <recordset> = <record>.GetChildren.

У объекта Record есть семейство Fields, содержащее те же объекты Field, что и Recordset, строку которого представляет объект Record. Кроме того, в этом семействе могут быть поля, добавляемые провайдером данных. Они являются дополнительными характеристиками объекта. Семейство Fields имеет метод Append, с помощью которого можно добавлять поля в семейство. Вы можете добавлять и удалять добавленные вами поля, но не имеете возможности удалить поля, которые существовали в Recordset или добавлены провайдером.

Если объект Record открыт из источника, указанного URL, то семейство Fields содержит только поля, создаваемые провайдером. Обычно это поля, описывающие создаваемый объект, например абсолютный URL, из которого объект создан, характеристики документа, если это документ. Одно из полей может представлять собой ссылку на объект Stream, связанный с данным объектом Record.

Stream представляет собой набор двоичных или текстовых данных. Как и другие объекты, его можно создать с помощью метода Open. Метод Open позволяет создать три типа объектов Stream:

·  объект ассоциирован с уже открытым объектом Record и представляет собой содержимое файла, на который ссылается объект Record;

·  объект не ассоциирован с объектом Record, и при его открытии указывается URL файла, содержащего нужные данные;

·  объект вообще не имеет источника, создается пустым и заполняется программно.

·  Объект Stream имеет следующие свойства:

·  Туре — определяет тип данных объекта: текстовый, двоичный;

·  State — определяет текущее состояние объекта: открыт, закрыт;

·  Mode — указывает режим доступа. По умолчанию объект Stream наследует значение этого свойства от объекта Record, с которым он связан, или (если он не связан с объектом Record) имеет значение adReadOnly (только для чтения);

·  Size — определяет число байт в объекте (если объект Stream не связан с источником данных, после его открытия Size=0);

·  Position — указывает текущую позицию в массиве данных. Позиция всегда указывается в байтах;

·  LineSeparator — определяет символ, который является разделителем строк в текстовых данных (по умолчанию CRLF);

·  EOS — имеет значение True, когда текущая позиция указывает в конец массива данных.

Читать содержимое объекта Stream можно с помощью методов Read (читает заданное количество байт) и ReadText (читает заданное количество символов). Чтение выполняется начиная с текущей позиции. При чтении текстовых данных можно использовать метод SkipLirie, который позволяет пропустить строку текста (разделитель строки определяется свойством LineSeparator). Аналогичные методы (Write и WriteText) используются для записи данных в объект Stream. Данные пишутся начиная с текущей позиции, и после того, как они запишутся, текущая позиция перемещается и устанавливается после последнего записанного символа. Если нужно записывать данные в конец массива, установите перед этим текущую позицию в конец массива с помощью метода SetEOS.

Метод СоруТо позволяет скопировать нужное количество байт из одного объекта Stream в другой.

Два метода — LoadFromFile и WriteToFHe — позволяют заполнить открытый объект Stream данными из заданного файла и сохранить содержимое объекта Stream в файл соответственно. Если перед загрузкой данных из файла объект Stream содержал какие-то данные, они будут затерты. Аналогично при записи данных в существующий файл все его содержимое будет заменено новыми данными. После вызова того и другого метода текущая позиция устанавливается в начало массива данных объекта Stream (Position=0).