Call
Оператор управления call вызывает подпрограмму, которую необходимо задать с помощью предыдущего оператора sub.
Синтаксис:
Call name ( [ paramlist ])
Аргументы:
Аргумент | Описание |
---|---|
name | Имя подпрограммы. |
paramlist | Список фактических параметров, отправляемых в подпрограмму и перечисленных через запятую. Элементы списка могут быть именами полей, переменными или произвольными выражениями. |
Подпрограмма, вызываемая оператором call, должна быть задана оператором sub ранее при выполнении скрипта.
Параметры копируются в подпрограмму и, если параметр оператора call является переменной, а не выражением, снова копируются назад при выходе из подпрограммы.
Ограничения:
-
Поскольку оператор call является оператором управления и заканчивается точкой с запятой или знаком конца строки, он не должен выходить за границу строки.
-
Когда определяется подпрограмма с использованием Sub..end sub внутри оператора управления, например if..then, подпрограмму можно вызвать только в пределах этого оператора управления.
Пример:
В данном примере все файлы, связанные с Qlik, показаны в папке и подпапках, данные о файлах приведены в таблице. Предполагается, что создано подключение к данным папки с именем Apps.
При вызове подпрограммы DoDir в качестве параметра используется ссылка на папку 'lib://Apps'. В рамках самой подпрограммы осуществляется рекурсивный вызов Call DoDir (Dir), который запускает рекурсивный поиск функцией файлов в подпапках.