Call

Оператор управления call вызывает подпрограмму, которую необходимо задать с помощью предыдущего оператора sub.

Syntax:  

Call name ( [ paramlist ])

 

Arguments:  

Аргумент Описание
name Имя подпрограммы.
paramlist Список фактических параметров, отправляемых в подпрограмму и перечисленных через запятую. Элементы списка могут быть именами полей, переменными или произвольными выражениями.

Подпрограмма, вызываемая оператором call, должна быть задана оператором sub ранее при выполнении скрипта.

Параметры копируются в подпрограмму и, если параметр оператора call является переменной, а не выражением, снова копируются назад при выходе из подпрограммы.

Limitations:  

Поскольку оператор call является оператором управления и заканчивается точкой с запятой или знаком конца строки, он не должен выходить за границу строки.

Example:  

В данном примере все файлы, связанные с Qlik, показаны в папке и подпапках, данные о файлах приведены в таблице. Предполагается, что вы создали подключение к данным папки с именем Apps.

При вызове подпрограммы DoDir в качестве параметра используется ссылка на папку 'lib://Apps'. В рамках самой подпрограммы осуществляется рекурсивный вызов Call DoDir (Dir), который запускает рекурсивный поиск функцией файлов в подпапках.

sub DoDir (Root) For Each Ext in 'qvw', 'qvo', 'qvs', 'qvt', 'qvd', 'qvc', 'qvf' For Each File in filelist (Root&'\*.' &Ext) LOAD '$(File)' as Name, FileSize( '$(File)' ) as Size, FileTime( '$(File)' ) as FileTime autogenerate 1; Next File Next Ext For Each Dir in dirlist (Root&'\*' ) Call DoDir (Dir) Next Dir End Sub Call DoDir ('lib://Apps')