Синтаксис
define-directive: |
<variable-definition> |
|
<macro-definition> |
|
<default-visibility-set> |
variable-definition:
|
(define | :) [private
| protected | public] <ident> [[
<expr> ]] [[=] <expr>] |
macro-definition:
|
(define | :) [private
| protected | public] <ident> (
[<formal-macro-args>] ) <expr> |
default-visibility-set:
|
(define | :) private
| protected | public |
formal-macro-args:
|
<formal-macro-arg> [,
<formal-macro-arg>]... |
formal-macro-arg:
|
<by-val-arg> | <by-ref-arg> |
by-val-arg: |
[<type-id>] <ident> [=
<expr>] |
by-ref-arg: |
[<type-id>] * <ident> |
type-id: |
any | int | str | func
|
Описание
Первый элемент синтаксического выражения ("variable-definition")
определяет переменную с именем ident
(сокр. от identifier - идентификатор), или принимает значение
элемента массива с именем ident
(для объявления переменной массива используйте директиву dim вместо директивы define).
Область видимости переменной задаётся одним из ключевых слов public, protected
или private, в противном
случае область
видимости переменной принимается по умолчанию.
Второй элемент синтаксического выражения ("macro-definition")
определяет пользовательскую функцию с
именем ident. При записи
пользовательской функции не должно быть пробела между именем функции и
открывающей круглой скобкой, иначе инструкция будет обработана как
объявление переменной.
Третий элемент синтаксического выражения ("default-visibility-set")
устанавливает область
видимости по умолчанию для всех последующих переменных и
пользовательских функций в данном файле сценария. Если область видимости
не объявляется, то по умолчанию принимается область видимости private.
Примеры
; Объявляем переменную с именем MyAppName
; и присваиваем ей значение "My Program".
#define MyAppName "My Program"
; Объявляем переменную с именем MyAppExe
; и формируем имя исполняемого файла.
#define MyAppExe MyAppName + ".exe"
; Объявляем переменную с именем MyAppVer и присваиваем ей значение,
; которое вернёт функция GetFileVersion() (получение версии файла MyAppExe).
#define MyAppVer GetVersionNumbersString(MyAppExe)
; Объявляем массив с именем MyArray и
; индексу массива 0 присваиваем значение 15.
#define MyArray[0] 15
; Объявляем переменную со значением арифметического действия - умножение.
; А и В целочисленный тип данных.
#define Multiply(int A, int B = 10) A * B
См. также:
dim
undef
Область видимости переменных
Пользовательские функции