Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-11-21 | 343 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
При необходимости реорганизовать данные в последовательном файле потребуется сначала прочесть его, затем реорганизовать данные, а потом переписать файл на диске в соответствии с новой организацией. Файлы произвольного доступа предоставляют для этих целей дополнительную возможность – использование индекса, что позволяет реорганизовывать индекс, а не сам файл.
Чтобы создать индекс, вначале создается массив целых чисел, в котором каждый элемент содержит один (свой) номер записи файла произвольного доступа. Затем этот массив, позволяющий определить номер записи, используется для получения доступа к записи файла произвольного доступа. Такая организация хранения записи файла называется индексированные записи.
Например, если переменная I содержит номер требуемой записи, а переменная типа запись называется RecVar, то обычный доступ к файлу произвольного доступа обеспечивается следующим оператором Get:
Get #fileNum, I, RecVar
Если массив индексов называется theIndex(), то метод доступа изменяется таким образом:
Get #fileNum, theIndex(I), RecVar
Первоначально каждый элемент массива theIndex() содержит свой собственный номер:
TheIndex(1) = 1
TheIndex(2) = 2
TheIndex(3) = 3
Результат использования такого массива для доступа к записям файла идентичен прямому доступу к записям. Предположим, вам потребовалось упорядочить записи в алфавитном порядке, для чего необходимо поменять местами вторую и третью записи. Вы можете физически поменять местами записи на диске либо просто изменить значения в массиве индексов следующим образом:
TheIndex(1) = 1
TheIndex(2) = 3
TheIndex(3) = 2
Применяя массив индексов для доступа к файлу, вы будете получать записи в соответствии с указанным порядком, а не в порядке их физического расположения на диске.
|
Индексированные записи очень удобны для группирования и повторного использования удаленных записей. Для удаления записи переместите ее номер в конец массива индексов, а затем оставшиеся индексы переместите на один элемент вверх. Следующий индексный номер определяется на границе использованных и свободных записей. Если нужно записать новую запись, то, прежде чем ее разместить, следует проверить, имеет ли массив индексов записи, пригодные для повторного использования.
При работе с индексированными записями нужно решить, что делать с индексом. Его можно сохранить в отдельном последовательном файле или разместить в виде нескольких записей в начале файла произвольного доступа.
Создание пользовательских объектов
Определение пользовательского объекта
Программный пользовательский объект в Visual Basic привязан к модулю. Имя модуля является именем объекта, и применяется для доступа к свойствам объекта. Если объекты стандартные, то следует начинать с класса объекта, а затем, использовав порождающую функцию вроде метода ADD, можно создавать объекты этого класса. В Visual Basic класс создать нельзя: следовательно, необходимо создавать временный пользовательский объект. Однако после того, как вы его создадите, доступ к нему ничем не будет отличаться от доступа к любому другому объекту.
Для того чтобы создать пользовательский объект, начните с нового модуля. Не используйте существующий модуль, поскольку объединение обычных процедур с пользовательским объектом приведет к ошибке. Для присвоения модулю имени создаваемого пользовательского объекта воспользуйтесь директивой Edit/Sheet/Rename или дважды щелкните мышью на корешке модуля. Для объявления глобальных переменных модуля как частных используйте в заголовке модуля оператор Private, а не Dim. Таким образом, вы защитите все данные объекта от доступа внешних процедур. Единственным способом доступа к данным, сохраненным в модуле, является доступ к его свойствам и методам. Любые процедуры, входящие в состав этого модуля, могут использоваться только процедурами, входящими в его состав, и также должны быть объявлены как частные.
|
Кроме того, в заголовок процедуры можно поместить оператор Option Private Module, что сделает свойства и методы данного объекта доступными только из текущего проекта, но не из модулей и процедур, не входящих в данный проект.
|
|
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!