
- •Процесс создания приложения. Основные понятия visual basic
- •Процесс создания Windows-приложения
- •Объекты и их свойства
- •Свойства в visual basic
- •События-процедуры
- •Режимы интерпретации и компиляции
- •Окна Project Explorer и Form Layout
- •Метод Move
- •Метод Print
- •Переменные
- •Константы
- •Глобальные, контейнерные и локальные переменные
- •Статические переменные
- •Таймеры
- •Линейки прокрутки
- •Урок №7
- •Операторы. Выражения. Функции.
- •Оператор присваивания
- •Урок №8
- •Системные функции
- •Msgbox Текст [Опция] [, Заголовок]
- •Обработка строковых выражений
- •Функции выделения подстроки
- •Урок №9
- •Простые и сложные условия, логические выражения.
- •Операторы управления
- •Программирование ветвлений.
- •Урок №10
- •Программирование сложных условий. Вложенный оператор if.
- •If условие1 then
- •Урок 11
- •Обработка событий мыши
- •Свойство MousePointer
- •Технология Drag-and-Drop
- •Графические объекты
- •Объект Комбинированное окно
- •Оператор Select Case
- •Функции задания цвета rgb и qbColor
- •Графические методы
- •События МouseDown и МouseUp
- •Элемент управления Shape
- •Функция rnd
- •Повторения и циклы.
- •Урок 18
- •Циклы с условием
- •Вложенные циклы
- •Массивы
- •Многомерный массив
- •Массив объектов
- •Пользовательские процедуры и функции
- •Процедуры
- •Функции
- •Программный модуль
- •Объекты для работы с дисками
- •Редактор меню
- •Создание контекстного меню
- •Типы файлов
- •Текстовые файлы
- •Открытие файла
- •Закрытие файлов
- •Запись в файл
- •Чтение из файла
- •Объект Общий Диалог
- •Диалог Open/Save As
- •Мультимедийные приложения
Функции
Функция отличается от процедуры тем, что у нее нет выходных параметров, а все входные параметры принято называть аргументами. В результате работы функции программа обязательно должна получить определенное значение (функция возвращает свое значение).
Создание функции аналогично созданию процедуры, но для того чтобы функция вернула свое значение, внутри нее обязательно должен быть оператор присваивания.
Имя_функции = выражение
Вызов функции также отличается от вызова процедуры:
Имя_Переменной = Имя_функции ( Список параметров)
Имя функции используется в выражениях , например, Тext1.Text = Тext1.Text + InputBox( “Введите число”)
Задание 3. Создайте функцию, которая выдает произвольное число, начало и конец интервала задается в аргументах. В программе по кнопке печатается произвольное число, интервал задается в двух Текстовых Окнах. По другой кнопке заполняется массив произвольными числами до 100 и печатается.
Задание 4. Создайте функцию, которая определяет и сообщает наибольшее из 3 чисел. Задавайте входные параметры и вызывайте функцию разными способами.
Если при вызове функции указать не все аргументы, то выдастся сообщение об ошибке. Но в процессе описания процедуры можно определить, что не все аргументы обязательно должны указываться при вызове.
Такие параметры(аргументы) называются необязательными.
Для того, чтобы аргумент был необязательным перед ним нужно поставить слово Optional. Необязательные аргументы должны замыкать список аргументов, так как после первого необязательного аргумента все последующие будут необязательными.
Имя_Функции ( a As Integer, Optional b As Integer)
Задание 5. Измените функцию в задании 4, сделав необязательным аргумент ‘начало интервала’. Попробуйте вызывать по-разному функцию, используя один или два аргумента. Будет ли отличие?
Если в процедуре или функции используется массив, то в параметрах он указывается так Имя_Массива() As Тип, например:
Sub AAA( d() As Integer, n as Byte)
В процедуре будет использоваться числовой массив d. Чаще всего следует еще указать размерность массива. Вызывается такая процедура аналогично, используя при вызове имя массива.
Задание 6. Создайте процедуру создания массива произвольных чисел, размер задавайте как входной параметр, используйте созданную функцию произвольного числа. В командной кнопке вызовите процедуру и после напечатайте массив.
Программный модуль
Возможности многократного использования процедуры или функции ограничены, если эта процедура находится в коде формы. Если нужно ее использовать в другом проекте, то туда придется добавлять всю форму. Процедуру, допускающую многократное использование, лучше создавать внутри модуля.
Если процедура должна входить в состав универсального модуля, то она определяется в окне программного кода для этого модуля.
Для этого надо сначала создать стандартный модуль (добавить новый модуль в проект). – Project(главная панель) - Add Module – New. Открывается чистое окно программного кода, где уже обычным способом определяем процедуру или функцию. В окне проводника проекта появится информация о созданном модуле.
Если хотим добавить в проект уже имеющийся программный код (файл с расширением bas), то тогда выбираем Project - Add Module – Existings.
Для сохранения модуля в виде файла с расширением bas надо при сохранении проекта присвоить модулю какое-нибудь имя.
В дальнейшем, при создании нового проекта, Вы можете присоединить к нему готовый программный модуль. Так программисты создают собственные библиотеки полезных им процедур.
Для правильного оформления модуля надо в окне свойств задать ему соответствующее имя (это не имя файла, а имя модуля в этом проекте).
При создании процедур и функций очень желательно оформить заголовок: закомментированная информация о процедуре, ее аргументах и прочее.
Задание 7. Процедуру создания произвольного массива и функцию произвольного числа разместите в программном модуле.
Но не каждую процедуру можно поместить в программный модуль, а только ту, которая не зависит от других процедур в проекте (инкапсулированную).
Хорошо инкапсулированной называется такая процедура, которая не зависит от других частей кода и конкретных объектов (элементов управления). Такая процедура работает всегда одинаково.
Домашнее задание.
Создайте функцию, определяющую сколько определенных символов встречается в заданной строке. В этой функции два аргумента (строка и символ).
Общие процедуры и функции: ввод массива, определение максимального и минимального элемента массива, определение среднего значения, перестановка элементов массива разместите в одном программном модуле, назовите его, например, «Работа с массивами» и используйте в дальнейших программах.
Контрольные вопросы:
Что такое процедура общего типа?
Чем функция отличается от процедуры?
Как создать собственную процедуру или функцию?
Как вызвать процедуру, функцию?
Что такое входные и выходные параметры, как они задаются?
УРОК 22
Цель урока. Ознакомление студентов с объектами, позволяющими работать с дисками, папками и файлами на компьютере. Научить студентов создавать горизонтальное и контекстное меню и программировать их пункты.