Ana içeriğe geç

Call

call kontrol ifadesi, önceki bir sub deyimiyle tanımlanmış olması gereken bir alt rutini çağırır.

Söz Dizimi:  

Call name ( [ paramlist ])

 

Bağımsız Değişkenler:  

Bağımsız Değişkenler
Bağımsız Değişken Açıklama
name Alt rutinin adı.
paramlist Alt rutine gönderilecek olan gerçek parametrelerin virgülle ayrılmış listesi. Listedeki her öğe bir alan adı, değişken veya rastgele seçilmiş bir ifade olabilir.

Bir call deyimiyle çağrılan alt rutin, kod yürütme sırasında daha önce karşılaşılan bir sub ile tanımlanmış olmalıdır.

Parametreler alt rutine kopyalanır ve call deyimindeki parametre bir değişkense ve bir ifade değilse alt rutinden çıktıktan sonra tekrar dışarı kopyalanır.

Sınırlamalar:  

  • call deyimi bir kontrol ifadesi olduğundan ve bu nedenle noktalı virgül veya satır sonu ile bittiğinden, satır sınırını geçmemelidir.

  • Bir kontrol deyiminde Sub..end sub ile if..then gibi bir alt rutin tanımladığınızda, alt rutini yalnızca aynı kontrol deyimi içinden çağırabilirsiniz.

Örnek:  

Bu örnek, klasördeki ve alt klasörlerindeki Qlik ile ilgili tüm dosyaları listeler ve dosya bilgilerini bir tabloda depolar. Klasörde Apps adlı bir veri bağlantısı oluşturduğunuz varsayılır.

DoDir alt rutini, parametre olarak 'lib://Apps' klasörüne yapılan bir referansla çağrılır. Alt rutinin içerisinde, fonksiyonun alt klasörlerde yinelemeli olarak dosya aramasını sağlayan yinelemeli Call DoDir (Dir) çağrısı bulunur.

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

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!