Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Type. Шаг 33 - Инструкции Lock и Unlock




ID As Integer

...

Шаг 33 - Инструкции Lock и Unlock

End Sub

UserForm2.Show

End Sub

UserForm2.Hide

 

' Событие "Нажатие кнопки" (Click) для формы UserForm1

Private Sub UserForm_Click()

 

 

Управляют доступом других процессов ко всему файлу, открытому с помощью инструкции Open, или к его части.

Lock [#]номерФайла[, диапазонЗаписей]

Unlock [#]номерФайла[, диапазонЗаписей]

Параметры
номерФайла: Обязательный. Любой допустимый номер файла.
ДиапазонЗаписей: Необязательный. Диапазон записей, которые следует заблокировать или разблокировать.

· номерЗаписи - Номер записи (режим Random) или номер байта (режим Binary), с которого следует начать установку или снятие блокировки.

· начало - Номер первой записи (или байта), которую следует заблокировать или разблокировать.

· конец - Номер последней записи (или байта), которую следует заблокировать или разблокировать.

Замечания
Инструкции Lock и Unlock используются в средах, в которых нескольким процессам может понадобиться доступ к одному и тому же файлу.
Инструкции Lock и Unlock всегда используются парами. Аргументы инструкций Lock и Unlock, образующих пару, должны полностью совпадать.
Первой записи (или байту) файла соответствует номер 1, второй 2 и т.п. Если указана только одна запись, то блокируется или разблокируется только одна эта запись. Если диапазон записей указан, но опущен аргумент начало, блокируются или разблокируются все записи от первой записи до конца диапазона (конец). Вызов инструкции Lock без аргумента номерЗаписи блокирует весь файл. Вызов инструкции Unlock без аргумента номерЗаписи приводит к снятию блокировки со всего файла.
Если файл открыт для последовательного ввода или вывода, инструкции Lock и Unlock блокируют или разблокируют весь файл, независимо от наличия остальных аргументов.
Перед закрытием файла или завершением работы с программой не забудьте удалить все блокировки с помощью инструкции Unlock. Несоблюдение этого правила может привести к непредсказуемым последствиям.

Пример
В данном примере с помощью инструкций Lock и Unlock запрещается доступ других процессов к записи на время ее изменения. Предположим, что файл TESTFILE содержит пять записей определенного пользователем типа Record.

Type Record ' Тип, определенный пользователем.

Name As String * 20

Dim MyRecord As Record, RecordNumber ' Объявляет переменную.

' Открывает файл произвольного доступа.

Open "TESTFILE" For Random Shared As #1 Len = Len(MyRecord)

RecordNumber = 4 ' Определяет номер записи.

Lock #1, RecordNumber ' Блокирует запись.

Get #1, RecordNumber, MyRecord ' Читает запись.

MyRecord.ID = 234 ' Изменяет запись.

MyRecord.Name = "Иван Петров"

Put #1, RecordNumber, MyRecord ' Записывает измененную запись.

Unlock #1, RecordNumber ' Разблокирует текущую запись.

Close #1 ' Закрывает файл.

 

 




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 295; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.