синтаксис (продолжение)

подпрограмма - часть программы, которую удобно записать отдельно.

a = 1
b = 2
Gosub ComplexOperation
; вызов подпрограммы
Debug a
End

ComplexOperation:
a = Cos(b)
b = a+a*b
Return

Начинается подпрограмма с метки типа ComplexOperation: (или aaa:), имя метки можно придумать самостоятельно, но важно чтобы оно содержало только латинские символы и цифры и не начиналось с цифры.
Заканчивается метка словом Return, точно также, как процедура.
Gosub Имя_Метки - вызов подпрограммы.

Подрограмма отличается от процедуры тем, что процедура может возвращать результат своей работы (хотя может этого и не делать), а также тем, что переменные, используемые в процедуре, "видны" только внутри нее, если Вы хотите сделать переменную, которая будет одинаково "видна" и в процедурах и в основной части программы, предварительно объявите ее как глобальную, т.е.:
Global a.l=10


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

Structure Person
Name.s
Yo.l
Num.l
EndStructure

Потом создаем объект, относящийся к этой структуре:

Dim manager.Person; это также, как создать переменную "типа Person"

и этот объект, в данном случае, обладает тремя свойствами:

manager\Name="Vasya"
manager\Yo=39
manager\Num=4207

Можно сделать массив объектов типа "Person":

Dim manager.Person(100)

manager(1)\Name="Vasya"
manager(1)\Yo=39
manager(1)\Num=4207


Операторы With : EndWith - удобно использовать вместе со структурами.
Возьмем предпоследний пример и перепишем его следующим образом:

With manager
\Name="Vasya"
\Yo=39
\Num=4207
EndWith