Програмирование на Visual Basic
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
что в вызываемом процедуре или функции выделяется для аргумента ячейка или область памяти, в которую записывается значение передаваемою аргумента.
Изменения значения аргумента в вызываемой процедуре или в функции не ведут к изменению аргумента в вызывающей процедуре или в функции (вызываемая процедура или функция использует для аргумента другую ячейку или область памяти аналогично локальным данным). Это удобно, если модификация данных необходима только внутри вызываемой процедуры или функции и нет необходимости передавать измененные данные обратно в вызывающую процедуру или функцию.
Вместе с тем передача по значению (выделение дополнительной памяти) приводит к неэффективному использованию памяти. В связи с этим, для строк символов и массивов нецелесообразно использовать передачу по значению.
3.6.4.Использование в качестве аргументов процедур и функции форм и элементов управления
Список аргументов процедур и функций может включать имена форм и элементов управления (в качестве описателей типа для них применяются соответственно Form и Control ). Это позволяет создавать универсальные алгоритмы для работы с формами и управляющими элементами. Например, для привлечения внимания пользователя к одной из управляющих кнопок формы можно создать одну универсальную процедуру, изменяющую шрифт и цвет фона,
Sub Att^ntio!-. :3^;. As Control;
Btn. i-onrl t.^ г.: ^ True
Bin.BackColor = Red
костанта Red определена в файле CONSTANT.TXT End Sub
аргументом которой является имя кнопки. Обращение к данной процедуре с указанием в качестве значения имени какой-либо конкретной кнопки приведет к изменению ее шрифта и цвета (указывается имя кнопки Btn_Right)
Attention Btn_Riqht
Для контроля соответствия передаваемых при обращении типов форм и элементов управления в Visual Basic есть специальный оператор
If TypeOf имя объекта Is тип объекта Then
где TypeOf и Is ключевые слова, а последующий синтаксис и действие совпадают с рассмотренным выше условным оператором.
Чтобы проверить соответствие передаваемого в процедуру объекта, в ее текст можно включить оператор
Sub Attention (Btn As Control)
If TypeOf Btn Is OptionButton Then
Btn.Fontltaiic = True
Btn.BackColor = Red
End If End Sub
Пример программы.
Создадим процедуру для изменения свойств формы, аргументом которой является имя формы, и процедуры обработки событий Click для задания исходных свойств формы и KeyPress, в которой имеется обращение к процедуре Change (рис. 3.21)
При запуске программы появляется исходная форма. Щелчок мыши по форме изменяет ее размер, положение и выводит начальную часть текста (задается в процедуре обработки события Click).
. Нажатие клавиши Enter приводит к изменению размера, положения формы и вывод заключительной части текста (обращение в процедуре обработки события KeyPress к процедуре Change) (рис. 3.22).
3.7ФАЙЛОВЫЙ ВВОД-ВЫВОД
Архитектура современных компьютеров предусматривает наличие оперативной и внешней памяти. В оперативной памяти находятся выполняемая в данный момент программа и обрабатываемые ею данные. После выполнения программы ее данные в оперативной памяти не сохраняются, так как используемые ячейки памяти выделяются для данных другой программы. Технически и программно обусловленные ограниченность объема
оперативной памяти и ее относительно высокая стоимость не позволяют применять ее для постоянного хранения больших объемов информации. Для этого используется внешняя память (магнитные ленты, жесткие и гибкие магнитные диски, лазерные диски), позволяющие хранить сотни мегабайт (1 Мбайт = 1048576 байт) и гигабайт (1 Гбаит = 1.073.741.824 байт) информации и стоимость которых относительно невелика.
Хранение больших объемов информации на внешних носителях с учетом того, что время доступа к данным на внешних носителях на один, два порядка ниже времени доступа к данным в оперативной памяти, требует их хорошо продуманной организации. А возможность альтернативного хранения одних и тех же данных на различных внешних носителях требует использования единых принципов организации данных.
Таким универсальным понятием является файл (набор данных), который используется для работы с внешними данными на любом носителе. Под файлом понимается совокупность данных. Файл состоит из записей. Запись состоит из логически связанных данных, которые передаются между оперативной и внешней памятью за одну операцию ввода-вывода (ввод передача данных из внешней в оперативную память, вывод - передача данных из оперативной во внешнюю память).
Например, в качестве файла можно рассматривать и используемую ранее колоду перфокарт. Одна карта является одной записью (устройство ввода перфокарт считывает последовательно по одной карте и нельзя считать меньше, чем одну карту). Запись характеризуется длиной (рассмотренная перфокарта является записью фиксированной длины в SO байтов и на ней можно было разместить 80 символов). Записи бывают фиксированной или переменной длины.
По способу доступа к записям файлы подразделяются на файлы последовательного и прямого доступа. При последовательном доступе для доступа к какой-либо записи должны быть пройдены все предыдущие записи, при прямом можно напрямую перейти к нужной записи. Все внешние устройства позволяют использовать последовательный доступ к записям файла. Прямой доступ позволяют использовать только устройства прямого доступа (например, магнитные и оптические диски).
В Visual Basic файлы подразделяются на: