FONKSİYONLAR VE ALT PROGRAMLAR

Bir fonksiyon veya alt program belirli bir işi yapmak için oluşturulan küçük program parçalarıdır. Fonksiyon ve alt program için procedure kelimesini kullanacağız.

Fonksiyon ve alt program tanımlamanın bir çok avantajı vardır. Bir çok yerde aynı kodları kullanmanız gerektiğinde bunları her seferinde yeniden yazmak yerine, bu kodları bir prosedürde tanımlayıp, kullanacağınız yerde çağırmanız yeterli olacaktır.

Diyelim ki programınızda bir çok yerde faktöriyel hesabı yapmanız gerekiyorsa, her seferinde faktöriyel hesabı yapacak kodu yazmaktansa bu işlemi bir fonksiyonda yaptırıp gerekli yerlerde bu programı çağırabilirsiniz.

10.1. Procedure tanımı

Bir alt program tanımı aşağıdaki gibi yapılır:

Sub AltProgramAdı ([Giriş parametresi [As Tipi]] )

Komutlar

[Exit Sub]

End Sub

Fonksiyon Tanımı ise aşağıdaki gibi yapılır:

Function FonksiyonAdı ([Giriş parametreleri [As Tipi]]) [As Tipi]

Komutlar

[Exit Function]

FonksiyonAdı=GeriDönüşDeğeri

End Function

Fonksiyonlar, alt programdan farklı olarak geriye değer gönderir. Bu değer gönderme işlemi fonksiyon ismine geri dönecek değerin atanmasıyla olur.

Bir fonksiyon veya alt program normalde End Sub veya End Function satırıyla biter. Ancak bazı durumlarda, fonksiyonun çalışmasını bitirmeden çıkmak gerekebilir. Bu durumlarda fonksiyondan çıkmak için Exit Function, alt programdan çıkmak için ise Exit Sub komutlarını kullanırız. Programda yeni bir fonksiyon tanımlamak için Tools menüsündeki Add Procedure seçeneği kullanılabilir. Tools menüsündeki Add procedure seçeneğini tıklarsanız Add Procedure diyalog kutusu (Şekil 10.1) ekrana gelir.

Şekil 10.1

Add procedure diyalog kutusunda görülen Name kısmına oluşturulmak istenen prosedürün ismi girilir.

Scope başlıklı pencerede, oluşturulan prosedürün genel mi veya yerel mi olacağı belirlenir. Prosedür Public olarak tanımlanırsa programdaki bütün form ve modüller bu prosedürü kullanabilir. Private olarak tanımlanırsa, prosedür sadece tanımlandığı form veya modülde kullanılabilir.

Type kısmında prosedürün tipi belirlenir. Sub seçeneği ile bir alt program, function seçeneği ile bir fonksiyon oluşturabilirsiniz. Event seçeneğini işaretlerseniz bir olay alt programı ve property seçeneği ile de bir özelliğe değer atama ve değer öğrenme alt programı oluşturabilirsiniz.

10.2. Prosedür çağırmak

Programın herhangi bir yerinden alt programı çağırmak için:

AltProgramA [Giriş değerleri]

fonksiyonu çağırmak için ise:

DönenDeğer=FornksiyonAdı ( [Giriş Değerleri] )

Örneğin faktöriyel hesaplayan bir fonksiyon yazalım. Fonksiyon oluşturmak için Tools menüsünden Add Procedure seçeneğini tıklayıp ekrana gelen Add Procedure diyalog kutusuna Şekil 10.2'de görülen değerleri girelim.


 

 

 

 

 

 

 

 

 

Şekil 10.2

Bu seçimleri yaptıktan sonra OK düğmesini tıklarsanız Şekil 10.3'deki gibi boş bir fonksiyon oluşacaktır.

 

 

 

 

 

Şekil 10.3

Oluşturduğumuz fonksiyona faktöriyel alması için aşağıdaki (Şekil 10.4) komut satırlarını yazmalıyız.

 

 

 

 

 

 

 

 

 

Şekil 10.4

Artık fonksiyonumuz hazır. Fonksiyonu kullanmak için Şekil 10.5'deki formu oluşturalım.

 

 

 

 

 

 

 

Şekil 10.5

Programımızın, Text1 kutusuna girilen sayının faktöriyelini bulup Text2 metin kutusuna yazmasını istiyoruz. Bunun için aşağıdaki (Şekil 10.6) program satırlarını yazmalıyız.

 

 

 

 

 

 

 

 

 

 

 

 

 

Şekil 10.6

Programı çalıştırıp Text1 metin kutusuna 5 değerini girersek elde edeceğimiz ekran görüntüsü Şekil 10.7'deki gibi olur.

 

 

 

 

 

Şekil 10.7