Ana içeriğe geç Tamamlayıcı içeriğe geç

Sub..end sub

sub..end sub kontrol ifadesi, bir call deyimiyle çağrılabilecek bir alt yordam tanımlar.

Söz Dizimi:  

Sub name [ ( paramlist )] statements end sub

 

Bağımsız değişkenler alt rutine kopyalanır ve call deyiminde karşılık gelen asıl parametre değişken adıysa alt rutinden çıktıktan sonra tekrar dışarı kopyalanır.

Bir alt rutinin call deyimi ile aktarılan asıl parametrelerden daha fazla biçimsel parametresi varsa ekstra parametreler NULL olarak başlatılır ve alt rutin içerisinde yerel değişken olarak kullanılabilir.

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 rutinin biçimsel parametreleri için değişken adlarının virgülle ayrılmış listesi. Bunlar alt rutin içinde herhangi bir değişken gibi kullanılabilir.
statements Bir veya daha fazla Qlik Sense kod deyiminden oluşan herhangi bir grup.

Sınırlamalar:  

  • sub deyimi bir kontrol ifadesi olduğundan ve bu nedenle noktalı virgülle veya satır sonuyla bittiğinden, iki olası cümlesinin herhangi biri (sub ve end sub) 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 1:  

Sub INCR (I,J)

I = I + 1

Exit Sub when I < 10

J = J + 1

End Sub

Call INCR (X,Y)

Örnek 2: - parametre aktarımı

Sub ParTrans (A,B,C)

A=A+1

B=B+1

C=C+1

End Sub

A=1

X=1

C=1

Call ParTrans (A, (X+1)*2)

Yukarıdakilerin sonucunda yerel olarak, alt rutinin içinde, A 1 olarak başlatılır, B 4 olarak başlatılır ve C de NULL olarak başlatılır.

Alt rutinden çıkarken, A genel değişkeni değer olarak 2'yi alır (alt rutinden geri kopyalanır). İkinci gerçek parametre olan “(X+1)*2” bir değişken olmadığından, geri kopyalanmayacaktır. Son olarak, genel değişken C bu alt rutin çağrısından etkilenmez.

Daha fazla bilgi

 

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!