Язык WordBasic - практический подход


Элементы языка - часть 6


 
Циклы могут быть вложенными, как и в любом процедурном языке.
 
Оператор Stop.
прекращает выполнение макрокоманды. Если вывод сообщений не подавлен, то на экране появится окно с предупреждением, что выполнение данного макроса прекращено. Этот оператор полезен также при отладке макрокоманд.
Как видно из этого перечисления, управляющие структуры в языке слабо развиты, так как он не предназначался для разработки программ большого объема.
Программные блоки.
Макрокоманда (программа на WordBasic) может состоять из одного или нескольких программных блоков, один из которых является главным и называется MAIN. Ему WinWord передает управление при запуске программы на исполнение (саму макрокоманду WinWord рассматривает как подпрограмму).
 Разбиение программы на блоки не только облегчает отладку и чтение ее текста (который называется исходным текстом), но также позволяет быстрее разрабатывать другие макрокоманды. При этом ранее написанные процедуры (в виде библиотек подпрограмм и функций?) используются в качестве строительных блоков.
Общая структура программы на WordBasic выглядит так:
Sub MAIN
      Последовательность операторов WordBasic и/или
      имена_подпрограмм
End Sub
Sub имя_подпрограммы_1
      Последовательность операторов WordBasic
End Sub
.......
Sub имя_подпрограммы_N
      Последовательность операторов WordBasic
End Sub
 
В языке определены два вида подпрограмм: подпрограммы и функции. Структурно они оформляются так:
Sub имя (аргументы)
      Последовательность операторов WordBasic
End Sub
 
Function имя_функции (аргументы)
      Последовательность операторов WordBasic
      имя_функции
= возвращаемое_значение
End Function
 
Подпрограмма вызывается указанием ее имени и макроса, в котором данная подпрограмма определена. Использование ключевого слова Call при этом необязательно, хотя и допускается, чтобы отличить процедуры в макрокомандах от операторов WordBasic. Так, если процедура Beep(Count) определена в макросе LibMacros, то ее вызов с аргументом 8 выглядит так:
LibMacros.Beep(8)
 



Начало  Назад  Вперед