Procedure

Procedure, yazmış olduğunuz programın, daha esnek ve anlaşılır bolumlere ayrılması demektir.Visual Basic'de uc tip procedure vardır.

1. Subroutine: Bir değişken yada parametreye gerek duymaksızın, tek başına calışan procedure'lerdir. Cağırdığınız zaman, ustune duşen gorevi yapar ve başka birşeye karışmazlar.

2. Function: Değişken ve parametreler ile calışır.Verilen gorevi yaptıktan sonra iş donuşunde yaptıklarını değişkenlerle geri getirebilirler.

3. Property: Function'ların ve ozelliklerin birleşiminden oluşmuş ozel bir turdur. Ozellikle ActiveX kontrolleri yaparken nesneye yeni ozellik eklemede kullanılır.

Ornekler

Subroutine Orneği

Basit bir ornekle başlayalım.Formun uzerine iki tane commandbutton yerleştirip, başlıklarını (caption) mavi top ve kırmızı halı olarak değiştirin. Bir tane de textBox koyup aşağıdaki kodu yazın.

-------------------------------------------

Public Sub mavitop()
Text1.Text = "Mavi Top"
End Sub


Public Sub kırmızıhalı()
Text1.Text = "Kırmızı Halı"
End Sub


Private Sub Command1_Click()
mavitop
End Sub


Private Sub Command2_Click()
kırmızıhalı
End Sub

------------------------------------------

Aslında bu program procedure kullanarak işlerimizi pek kolaylaştırmıyor ama amac nasıl kullanıldığını anlatmaktı. Procedure eklerken, bunu kod ile yapabileceğiniz gibi, "tools" menusunden "add procedure" yi secerek de yapabilirsiniz.

Function Orneği

Biraz onceki orneği bu sefer function ile yapalım. yine demin ki gibi bir form oluşturun ve işe başlayalım.

-----------------------------------------------

Public Function yazıyazma(yazı As String)
Text1.Text = yazı
yazıyazma="yazma işlemi yapıldı."
End Function


Private Sub Command1_Click()
Print yazıyazma("mavi top")
End Sub


Private Sub Command2_Click()
Print yazıyazma("kırmız Halı")
End Sub
-----------------------------------------------

Parantez icindeki yazı as string ifadesi, bu procedure de kullanılacak değişkeni ifade etmektedir. Bu function cağırılırken, yollanacak bir string değeri, yazı değişkenine otomatik olarak aktarılmaktadır.

yazıyazma("mavi top") ifdesi, yazıyazma adlı function'a "mavi top" stringini yollar. Yukarıda anlatıldığı uzere, zatn yazıyazma adlı function da kendine yollanacak bir stringi beklemekteydi. Sonra o string'i alıp gorevini yapıyor ama işi henuz bitmedi.

function, kendine verilmiş ad olan yazıyazma'ya atanacak bir değeri de iş donuşunde geri gondermektedir. Mesela bu ornekte, text1.text değiştirildikten sonra yazıyazma=" yazma işlmi yapıldı" ifadesi bunun icindir.

Bir toparlama gerekirse (nihayet!), print yazıyazma("mavi top") satırı şu anlama gelmektedir;

1. Once yazıyazma adlı function'a git.
2. Giderken eli boş gitme, "mavi top" şeklindeki string'i de gotur.
3. Orada işler bitince, oradan gelecek olan yazıyazma değişkenini form uzerine yaz.

Ben elimden geleni yaptım. Artık anlamak sizin elinizde. yukarıdaki orneklerin orasını burasını değiştirerek kısa surede anlayabileceğinizi sanıyorum.

__________________