- •Глава 2. Основы
- •2.2. Форма
- •2.3. Метка
- •2.4. Текстовое окно
- •2.5. Командная кнопка
- •2.6. Флажок
- •2.7. Переключатель
- •2.8. Рамка
- •2.9. Список
- •2.10. Комбинированный список
- •2.11. Линейки прокрутки
- •2.12. Пример создания формы
- •2.13. Меню пользователя
- •Глава 3. Программирование на visual basic 6
- •3.1. Алфавит
- •3.2. Данные
- •3.2.1. Классификация данных
- •3.2.2. Константы
- •3.2.4. Оператор объявления
- •3.2.5. Пользовательские типы данных (записи)
- •3.2.6. Массивы
- •3.3. Выражения
- •3.3.1. Арифметическое выражение
- •3.3.2. Логическое выражение
- •3.3.3. Символьное выражение
- •3.4. Стандартные функции
- •3.5. Операторы
- •3.5.1. Оператор перехода
- •3.5.2. Оператор присваивания
- •3.5.3. Условный оператор
- •If логическое выражение Then then-последователпость [Else else -последовательность} или
- •If логическое выражение Then
- •3.5.4. Управляющая структура Select Case
- •Is знак отношения выражение
- •3.5.5. Циклы
- •3.5.6. Совместное использование операторов цикла и условного операторов
- •3.6. Процедуры и функции
- •3.6.1. Процедуры
- •3.6.2. Функции
- •3.6.3. Передача аргументов по ссылке и по значению
- •3.6.4. Использование в качестве аргументов процедур и функции форм и элементов управления
- •If TypeOf имя объекта Is тип объекта Then
- •3.7 Файловый ввод-вывод
- •3.7.1. Последовательные файлы
- •3.7.2. Файлы прямого доступа
- •3.7.2. Файлы прямого доступа
- •Глава 4. Программирование графики
- •4.1 Генерация графических изображений
- •4.2 Графические методы
- •4.3 Построение графиков функций
- •4.4 Анимация графических изображений
- •Глава 5. Использование баз данных
- •5.1. Механизмы работы с базами данных в visual basic
- •5.2. Реляционная структура данных
- •5.3. Использование элементов управления Data и Grid
- •5.4. Создание баз данных
- •5.5. Использование языка sql для
3.5.6. Совместное использование операторов цикла и условного операторов
При одновременном использовании в процедурах и функциях операторов цикла и условных операторов должно выполняться так называемое правило вложенности.
Если среди операторов, выполняющихся в цикле (циклы For-Next и Do-Loop), имеется условный оператор (If-Endlf), то условный
оператор должен целиком содержаться внутри цикла (между операторами For-Next или Do-Loop). Если в Then — блоке или Else ~ блоке условного оператора It’-Endlf имеются выполняющиеся в цикле операторы (циклы For-Next и Do-Loop), то эти циклы Должны целиком содержаться в этих блоках.
3.6. Процедуры и функции
В предыдущих разделах рассматривались процедуры обработки событий, которые в процессе выполнения программы инициировались (запускались) в результате свершения некоторого определенного события (щелчок мыши, нажатие клавиши и т.п.). Однако в Visual Basic имеется возможность выделить неоднократно повторяющиеся фрагменты программы в определенным образом организованные функциональные блоки операторов, которые можно использовать без их повторного написания и отладки. При этом сложные программы получаются более компактными, а функциональные блоки при их правильной организации могут использоваться в других программных разработках. Организовать функциональные блоки в Visual Basic можно в виде процедур (procedure) и функции (function).
Любая программа на Visual Basic является процедурой или функцией.
Схема, показанная на , иллюстрирует последовательность выполнения программы, состоящей из процедур и функций .
Выполнение профаммы начинается в основной (первой) функции или процедуре, iij которой вызываются другие процедуры или функции (Процедура А). После вызова выполняется вызванная процедура (Процедура А), которой передается управление выполнением программы. В свою очередь в вызванной процедуре могут быть обращения к другим процедурам или функциям (Функция Б) и т.д. (Visual Basic отслеживает до нескольких сот уровней вызовов).
Прекращение выполнения вызванной процедуры или функции (Возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с оператора, следующего за вызывающим оператором.
В программе, состоящей из нескольких процедур или функций, необходимо остановиться на понятии локальные и глобальные данные.
Локальные данные определены только в момент выполнения процедуры или функции и память для них выделяется только на момент выполнения.
После завершения выполнения процедуры или функции локальные данные не сохраняются (выделенная память используется Другими процедурами и функциями). При этом экономится память, так как она выделяется только по мере необходимости и операционные системы современных компьютеров это делают очень эффективно. Однако и Visual Basic имеется и возможность сохранять локальные данные до следующего обращения (специальный параметр Static, см. ниже).
Глобальные данные сохраняются пока выполняется программа и они доступны для всех входящих в программу процедур и функции. При запуске программы Visual Basic отводит для глобальных данных необходимую память.
Повторный вьпов процедуры или функции внутри этой же процедуры пли функции (обращение к самой себе) называется рекурсией. Visual Basic допускает рекурсивное обращение.
Программный код процедур и функций, не являющихся процедурами обработки событии, помещается в раздел general списка Object формы (щелчок мыши по кнопке Wiew Code окна Project и далее щелчок мыши по элементу раскрывающегося списка general). Кроме того, в раскрывающемся меню Insert Главного меню имеется пункт Procedure . выбор которого раскрывает специальное окно для выбора процедуры или функции п задания имени.
Для заданной процедуры или функции появляется шаблон (заготовка) в окне кода (первая п последняя строки программы), в который можно ввести текст программы.