Скачать книгу

в использовании инструкция 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 тип]

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

      имя = выражение

      [Exit Function]

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

      End Function

      После ключевого слова As (Как) может быть указан тип данных, возвращаемых функцией. Внутри тела процедуры Function (Функция) обязательно должен встретиться оператор, который присваивает значение

Скачать книгу