Call

Instrukcja sterowania call wywołuje procedurę zdefiniowaną we wcześniejszej instrukcji sub.

Syntax:  

Call name ( [ paramlist ])

 

Arguments:  

Argument Opis
name Nazwa podprogramu.
paramlist Do podprogramu przekazana zostanie rozdzielana przecinkami lista rzeczywistych parametrów. Każdy z elementów listy może być nazwą pola, zmienną lub dowolnym wyrażeniem.

Podprogram wywoływany instrukcją call musi być zdefiniowany w instrukcji sub napotkanej na wcześniejszym etapie wykonywania skryptu.

Parametry są kopiowane do podprogramu, a jeśli parametrem instrukcji call jest zmienna, a nie wyrażenie, to po wyjściu z podprogramu parametry są ponownie kopiowane na zewnątrz.

Limitations:  

Jako instrukcja sterowania instrukcja call kończy się na średniku lub znaku nowego wiersza, nie może zatem obejmować wielu wierszy.

Example:  

W tym przykładzie powstaje lista wszystkich plików związanych z aplikacją Qlik w folderze oraz jego podfolderach, a następnie informacje o plikach są zapisywane w tabeli. Przyjęto, że użytkownik utworzył powiązania między danymi o nazwie Apps do tego folderu.

Podprogram DoDir jest wywoływany z odniesieniem do folderu 'lib://Apps' jako parametrem. W podprogramie istnieje wywołanie rekurencyjne Call DoDir (Dir), które powoduje, że funkcja wyszukuje pliki rekurencyjnie w podfolderach.

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')