Студопедия

КАТЕГОРИИ:


Архитектура-(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)

События. Открытие файла для двоичного доступа




Лекция 18

Ввод и вывод

Открытие файла для двоичного доступа

Двоичный доступ

Ввод и вывод (Get - чтение, Put - запись)

Для чтения и записи данных используются соответственно инструкции Get и Put.

 

Get # НомерФайла, НомерЗаписи,Переменная

Put # НомерФайла, НомерЗаписи,Переменная

 

В примере в файл записываются данные из переменной Address, причем номер записи равен 7, а затем в переменную Address считывается вторая запись файла.

 

Put #fh, 7, Address 'сохраняет 7-ую запись

Get #fh, 2, Address 'считывает 2-ую запись

 

Для того чтобы в одной записи сохранить несколько значений различных типов, следует использовать пользовательские типы данных:

Type Person

FirstName As String * 20

Name As String * 20

CustomerN As Integer

End Type

Dim Customer As Person

Private Sub Command1_Click()

Dim fh As Integer

fh = FreeFile

Open "C:\LORE.DAT" For Random As fh Len = Len(Customer)

Get #fh, 2, Customer

Close #fh

End Sub

Двоичный доступ незначительно отличается от произвольного доступа. Разница состоит только в том, что двоичный доступ возможен не к определенному набору данных, а к отдельному байту внутри любого файла.

Для открытия двоичного файла также используется инструкция Open:

 

Open ИмяФайла Fоr Binary [Access Доступ] [Блокировка] As [#] НомерФайла

Формат инструкции Open при двоичном доступе похож на формат этой инструкции при произвольном доступе. Главное отличие состоит в том, что вместо ключевого слова Random указывается Binary, а параметр Len отсутствует, так как записи имеют фиксированную длину – 1 байт.

Пример

 

Open “SPOCK.VUL” For Binary As fh

 

Для считывания и записи в файл используются также инструкции Get и Put. Синтаксис их такой же, как при произвольном доступе, только вместо номера записи указывается номер байта:

 

Get #fh, 12, Var 'считывает 12-й байт

Put #fh, 4, Var 'записывает 4-й байт

 

Если данные считываются в строку, то будет считано такое количество байтов, равное длине строки:

 

Dim strOutput As String

str0utput = String(24, " ")’Создана строка длиной 24 байта

Get #fh, 26, str0utput

 

В данном примере в строку считывается 24 байта, начиная с 26-го байта файла

Система Windows генерирует события (сообщения для приложения), которые предназначены для управления работой приложения. Приложение может реагировать или не реагировать на событие. Для того чтобы приложение реагировало на событие, программист должен поместить программный код в заготовке соответствующей событийной процедуры.

Некоторые события поддерживают почти все управляющие элементы. Такими событиями, например, являются:

GotFocus (Получил фокус) – генерируется в момент получения объектом фокуса клавиатуры. Пока объект обладает фокусом, все события клавиатуры происходят для него.

LostFocus (Потерял фокус) – генерируется, когда фокус перемещается на другой объект.

Форма поддерживает события, некоторые из которых используются особенно часто.

Наиболее часто применяемые события формы

Имя события Когда происходит
Load При загрузке формы. Удобно использовать для инициализации элементов формы
Paint При перерисовывании формой своего содержимого
QueryUnlload Перед выгрузкой формы. Используется для отмены выгрузки формы
Resize При любом изменении размеров формы, при первом ее появлении на экране, свертывании и восстановлении
Terminate При прекращении существования формы. Из памяти удаляются все ссылки на форму, она больше не может быть загружена
Unload При выгрузке формы из памяти. Ссылки на форму сохраняются, она может быть загружена заново

Источником некоторых событий может быть мышь.

События мыши

Имя события Когда происходит
Click При нажатии и отпускании кнопки мыши (щелчок)
DragDrop При окончании перетаскивания объекта
DragOver При перетаскивании объекта
MouseDown При нажатии кнопки мыши. Аргументы событийной процедуры позволяют определить, какая из кнопок мыши была нажата и не происходит ли это при нажатой клавише Shift или Ctrl или Alt
MouseMove При перемещении мыши
MouseUp При отпускании ранее нажатой кнопки мыши

Клавиатура также является источником событий. События клавиатуры происходят для того управляющего элемента, который в данный момент обладает фокусом клавиатуры. В случае, если ни один управляющий элемент не обладает фокусом, это событие получит форма. Но если свойству KeyPreview формы присвоить значение True (по умолчанию оно имеет значение False), то каждое событие клавиатуры будет происходить сначала для формы, затем для управляющего элемента, обладающего фокусом клавиатуры.




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


Дата добавления: 2014-12-07; Просмотров: 345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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