FUNCTION...ENDFUNCTION

Bu yapı Anadil®'de fonksiyon sınırlarını belirlemektedir. Görevi Anadil® kodunda yapısal program yapısını temin etmek ve event-driven programlamayı gerçekleştirmektir. Kullanımı

Açıklama

Function Name_Func() As <VarType> ' fonksiyon başlangıcı 
.
.<deyim> ler ' fonksiyon kodu 
.
Name_Func:=Return_Value ' geri dönüş değeri 
EndFunction

Anadil® 'de geliştirilmekte olan uygulamalar fonksiyonlar dahilinde yazılmaktadır. En basit biçimde kod yazılması bile fonksiyonlar dahilinde gerçekleştirilmektedir.

Bir fonksiyon ise Function deyimi ardından gelen isim ile adlandırılmaktadır. İsmin ardından verilen parantezler arasında ise parametreler belirlenmektedir. Parantez kapatıldıktan sonra istenilirse geri dönüş değeri belirlenebilmektedir. Geri dönüş değeri ise "As <VarType>" ifadesi ile belirlenmektedir. Fonksiyon isimlendirilmesi ve parametreler de belirlendikten sonra alt satırdan itibaren fonksiyon kodu başlamaktadır.

Geri dönüş değeri ise aynen değişken kullanımında olduğu gibi fonksiyon ismine karşılık gelen basit bir atama ile gerçekleştirilmektedir. Geri dönüş değerinin fonksiyon ismi ile aynı satırda yer almasına dikkat edilmelidir. Aksi durumda Anadil® compile hatası verecektir. Birbirini izleyen satırları tek satır şeklinde kullanabilmek için satır devam etme sembolü olan "#" işaretinden yararlanılabilir.

Fonksiyon kodu bittikten sonra "EndFunction" ile sonlandırma işlemi gerçekleştirilmektedir. Sonlandırılması yapılmamış bir fonksiyonun, Anadil ile compile edilmesi mümkün olmadığından, işletilmesi de imkansızdır.

Herhangi bir fonksiyondan istenildiği an ayrılınması ise Return yardımcı kelimesi ile mümkün olabilmektedir.

Anadil® 'de bütün fonksiyonlar yukardan aşağıya doğru, yazıldığı sırada işletilmektedir. Fakat event fonksiyonları için bu durum böyle değildir. Event'ler oluştuğu anda işletildiğinden, yazım sıraları önemli değildir. Örnek

Function RGB(Red As Number, Green As Number,#
         Blue As Number) As Number
  If ( Red < 0 VEYA Green < 0 VEYA Blue < 0 ) Then
    RGB:=0
    Return
  EndIf
  RGB:=Red + (Green * 16) + (Blue * 16 * 16)
EndFunction

Last updated