Оценить:
 Рейтинг: 0

Visual Basic для новичков. Шаг за шагом. Самоучитель / справочник

Год написания книги
2016
<< 1 ... 15 16 17 18 19 20 21 >>
На страницу:
19 из 21
Настройки чтения
Размер шрифта
Высота строк
Поля

имя_процедуры [(список_аргументов)]

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

Особенности использования процедур в программе зависит еще и от того, возвращают ли они какие-нибудь значения или нет. По этому признаку все процедуры делятся на две разновидности:

• Sub (Подпрограмма) – не возвращающие значения,

• Function (Функция) – возвращающие значения.

Инструкции вызова процедур Sub (Подпрограмма) пишутся отдельной строкой. Вызов Function (Функция) обязательно должен находиться на месте одного из параметров оператора языка Visual Basic или аргумента другой процедуры, где обычно может располагаться выражение.

Основное различие в синтаксисе вызова процедур различных видов заключается в том, что перечень аргументов процедуры Sub (Подпрограмма) приводится без скобок, а у Function (Функция) – он заключен в круглые скобки.

Примеры вызовов процедур различного типа:

MySub 5, varX +3, varY / varX

Form1.Caption = Now ()

Первой строкой вызывается процедура общего назначения MySub, которой передается три параметра. Во второй строке полученное значение встроенной функции Now без параметров, возвращающей текущую системную дату и время, присваивается свойству Caption (Заголовок) формы Form1.

А теперь перейдем к более подробному рассмотрению процедур общего назначения, которым посвящена данная глава.

6.2. Процедура Sub (Подпрограмма)

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

[{Private|Public}] [Static] Sub имя ([список_аргументов])

[инструкции]

[Exit Sub]

[инструкции]

End Sub

Ключевое слово Private (Частная) указывает на то, что данная процедура видна только внутри текущего модуля, а Public (Общая) делает ее общедоступной.

Другое ключевое слово Static (Постоянный) информирует Visual Basic о необходимости сохранения значений внутренних переменных между вызовами процедуры, хотя от этого они и не становятся видимыми для других подпрограмм.

Процедура Sub (Подпрограмма) может получать входные данные – аргументы, которые перечисляются в круглых скобках. Если аргументы отсутствуют, круглые скобки должны оставаться пустыми.

Необязательная в использовании инструкция Exit Sub (Выход из подпрограммы) позволяет досрочно завершить работу процедуры в тех случаях, когда это вам бывает необходимо.

Пример определения общедоступной процедуры Sub (Подпрограмма) общего назначения, которая выдает нужное количество гудков:

Public Sub Trill (intCount As Integer)‘ начало процедуры

If intCount <1 Then Exit Sub‘ если intCount <1, то выходим

For i = 1 To intCount‘ цикл For… Next от 1 до intCount

Beep‘ подача звукового сигнала из динамика компьютера

Next‘ переходим к следующей итерации цикла For… Next

End Sub

В данной процедуре, кроме обычных операторов и инструкций языка Visual Basic были использованы комментарии, представляющие собой текст, поясняющий код программы.

Чтобы Visual Basic не воспринимал комментарии в качестве неверного кода, перед ними ставится символ «‘» или инструкция Rem. Когда Visual Basic встречает признак комментария, он игнорирует остальные символы до конца текущей строки.

Теперь в коде любой другой процедуры данной формы можно осуществлять вызов процедуры Trill с аргументом – количеством гудков:

Trill 10

Чтобы процедуру можно было вызывать извне текущего программного модуля, при ее вызове требуется дополнительно указать имя формы или модуля, где она была определена. Например, если процедура Trill находится в форме Проба, то она вызывается аналогично методу данной формы:

Проба.Trill 10

Проиллюстрируем режим сохранения значения внутренних переменных между вызовами процедуры, благодаря использованию ключевого слова Static (Постоянный). Можно привести пример такой процедуры, которая выполняет какие-то действия только ограниченное число раз:

Public Static Sub Proc1 ()‘ процедура Proc1 без аргументов

Dim CallCount As Integer‘ объявляем целую переменную

If CallCount> = 5 Then Exit Sub ‘ если CallCount> =5 – выход

CallCount = CallCount +1 ‘ увеличиваем переменную на 1

…далее выполняется что-то полезное…

End Sub‘ завершение процедуры

Эта процедура подсчитывает количество своих вызовов, сохраняя его в переменной CallCount. Процедура Proc1 выполняет какие-то полезные действия только в течение первых 5-ти вызовов, а следующие работают «вхолостую».

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

6.3. Процедура Function (Функция)

Объявление процедуры Function (Функция) по своему синтаксису подобно Sub (Подпрограмма). Отличия обусловлены тем, что функция возвращает значение:

[{Private|Public}] [Static] Function имя [(аргументы)] [As тип]

[инструкции]

имя = выражение
<< 1 ... 15 16 17 18 19 20 21 >>
На страницу:
19 из 21