Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web
Fonsiyon ve alt programları

Fonsiyon ve alt programları

Bir  fonksiyon veya bir alt program belirli bir işi yapmak için oluşturulan  küçük program parçalarıdır.

(fonksiyon ve alt program , bu ikisini birden belirtmek için prosedur 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 sefer yeniden yazmak yerine bu kodları bir prosedürde  tanımlayıp , kullanacağımız

yerden bunu çağırmamız  yeterlidir.

    Örneğin proramınızda   bir çok yerde faktöriyel  hesabı yapmanız gerekiyorsa , be sefer  faktöryel hesaplayacak  kodu yazmaktansa  bu işlemi  bir fonksiyonda yaptırıp  gerekli yerlerden bu alt programı

Çağırabilirsiniz.

Prosedür tanımı    

Bir alt  program tanımı şöyle yapılır.

Sub alt program adi([giriş parametreleri{as tipi])

Komutlar

[exit sub]

end sub

bir fonksiyon tanımı ise şöyle yapılır:

function fonksiyon adi ([giriş parametreleri{as tipi])[as tipi]

Komutlar

[exit function]

[fonksiyon adi=geri dönüş değeri ]

end function

fonksiyon alt programdan farklı olarak geriye bir değer gönderebilir. 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ı şartlargerçekleştiğinde , fonksiyonun çalışmasını bitirmeden çıkmak exit function (alt program ise exit sub) ile yapılır.

Programda yeni bir fonksiyon tanımlamak için tools menüsündeki add procedure seçeneği kullanılabilir.

Prodedür public olarak tanımlanırsa programdaki bütün form ve modüller bu prosedürü  çağırabilir. Private olarak belirlenen prosedürler ise yalnızca tanımlandığı form veya modülden çağrılabilir.

Örneğin form1 de public olarak tanımladığınız prosedürü form2 den veya diğer  modüllerden birinden

Çağırırken önce form1 in ismini vermeniz gerekir.yani form1. Prosedür adı  şeklinde çağırmanız gerekir.

 Prosedürün tanımı  buradan belirlenir. Sub seçeneğini ile bu alt program,. function seçeneği ile bir fonksiyon oluşturabiliriz.

Event  seçeneği ile 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. Property  seçeneği işaretlendiğinde iki tane prosedür oluşturulur.

     Public  property get ad( ) as variant

End property

Public property let ad(by val vnew value as variant)

End property

   Bunlardan get ile başlayanı propertiesin değerinin öğrenilmek istenmesi durumunda , let ile başlayanı ise bu propertiese değer  atanması durumunda çalışır.

Penceredeki şeçeneği işaretlenirse bu prosedürdeki  bütün değişkenler  static deyimini kullanmaya gerek kalmaksızın static olarak işleme girer.

Prosedür çağrısı

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

Alt program adi[giriş değerleri]

Fonksiyonu çağırmak ise

Donendeğer =fonksiyon adi ([giriş değerleri])

Şeklinde yapışlır.

Şimdi 1 den text1 kutusuna kadar olan sayıların karelerini form üzerine yazacak  bir prosedür yazalım.

Örnek :sub

Private sub command1_clinck( )

Prosedür çağrısı

Sayılar  text1

End sub

Public sub sayılar (x as ınteger)

Dim i

For i= 1 to x

Print i^2  ‘sayısının karesini yaz

Next

End sub

                     

Public function fak ( )

End function

fonksiyona bir parametre olarak faktöriyeli hesaplanacak sayı gireceği için fonksiyonun başlığını aşağıdaki  gibi değiştirmeniz gerekiri

Public function fak( x)

End function

 Böylece fonksiyona bir parametre girişi söz konusudur .sonucu ise fonksiyonun ismine atayarak geriye göndereceğiz. Yani fak=sonuc yazarak geri göndereceğiz.

Public function fak(x)

Dim i,s

S=1

For i=1 to x

S=s*i

Next

Fak=s

End function

Bu fonksiyonu çağırmak için ise fak(5) şeklinde kullanacağız.

Örnek olarak text kutusuna girilen sayının faktöryelini label1 içinde göstermek için

Private sub text1_change ( )

Label1=fak(val(text1))

End sub

Şeklinde kullanabiliriz.

Veya 1 den  20 ye kadar  olan sayıların  faktöryelini yazmak için :

                                                        Private sub form_load( )

                                                        show

                                                        dim i

                                                        form i=1 to 100

                                                        print i & “!=” & fak(i)

                                                        next

                                                        end sub

kodunu yazarız.

   Şimdi bir text kutusuna girilen bir sayının hem karesini hemde karekökünü  hesaplayacak birer fonksiyon yazalım. Bunun için form üzerine text1 , indexi 0 olan option1 ve bir adet kopyasını yerleştirelim:

Programızın ekran görüntüsü ve program kodu aşağıdaki gibidir:

Örnek :function

Public function kare(x as ınteger )

Kare=x^2

end function

Public function karekök (x as ınteger)

Karekök=sgr(x)

End function

Private sub option1_click (index as ınteger)

If index =0 then ‘karekök

Form1.caption=val(text1)& “sayının karekökü:”& karekök(val(text1))

Else ıf index=1 then ‘kare

Form1.caption=val(text1)& “sayının karesi:”& kare(val(text1))

End ıf

End sub

Şimdi başka bir fonksiyon çağrısı yapalım. Aşağıdaki form tasarımı ile bir kişinin ek göstergesini

Hesaplayalım. Ek gösterge için gerekli verileri bir fonksiyon ile hesapladıktan sonra  sonucu

İlgili text kutusuna gönderelim.

Text kutusuna gerekli veriler girildikten sonra “hesapla “başlıklı command1 düğmesine bastığımızda aşağıdaki görüntüyü elde ediyoruz:

Proğramımıza ait kod şu şekildedir:

örnek:function

Private sub command1_clinck( )

‘ek gösterge fonksiyonu çağrılıyor.

Text3=ek gösterge (text6,text5,text4)

‘veriler üçer basamak ayrıldıktan sonra tekrar text3 e aktarılıyor.

Text3=format(text3,”###,###”)

End sub

Public function ek gösterge(puan,kidemyili,maaşkatsayısı)

Dim kıdem aylık

Kıdem aylık=puan*kıdemyılı*,maaşkatsayısı

If kıdemaylık >=1326000 then

Ekgösterge =maaşkatsayısı*36000

Else

Ekgösterge=maaşkatsayısı*3200

End ıf

End function  

Prosedür parametreleri

Bir prosedüre hiçbir parametre giremiyeceği gibi belli sayıda parametre de  girilebilir.vb de istenirse aynı prosedür farklı sayıda parametre ilede çalıştırılabilir.

Örneğin hipotenüsü hesaplayacak bir fonksiyon  üçgeninin iki kenarının parametre olarak girmesi gerekir.

Public function hipotenüs(x,y)

Hipotenüs =sgr(x^2+y^2)

End function

Private sub form1_load( )

Show

Print hipotenüs(3,4)

Print hipotenüs(5,12)

End sub

İstenirse bazı parametreler optional olarak tanımlanır. Bu durumda prosedür o parametreler  kullanılmadanda  çağrılabilir.

Public function f(x,y,optional t, optional k)

End function

Yukarıdaki tanımda fonksiyon çağrılırken ilk iki parametre  mutlaka  kullanılmalıdır. Diğer iki parametre ise  optional olarak tanımlandığı için istenirse kullanılmayabilir.

Bu fonksiyon aşağıdaki şekillerde çağrılırsa  parametrelerin alacağı değerler şunlar olur.

F(5,4)            ‘x=5,y=4,t:yok,k:yok

F(5,4,2)         ‘x=5,y=4,t=2,k:yok

F(5,4,2,3)      ’ x=5,y=4,t=2,k=2

F(5,4,2)          x=5,y04,t=:yok,k=2

Görüldüğü gibi optional parametreler istenirse kullanılır. Aradaki optional parametreler kullanılmayacaksa “,” konarak geçilir.

Public function f(x,y,optional t, optional k)

If is missing(t) then msgbox(“ t parametresi kullanılmamış”)

İf ismissing(k) then msgbox(“k parametresi kullanılmamış”)

End function

Örneğin kareçiz  isimli bir prosedürünüz olsun. Koordinatları ve genişliği verilen kareyi çizsin. Ayrıca kullanıcı isterse rengini ve içinin boyanıp boyanmayacağını belirlesin.

Public sub kareçiz(x,y,g, optional renk, optional dolu)

If(not ismissing(renk)) and (not ismissing(dolu)) then

Line (x,y)-(x+g,y+g),renk, bf

Elseıf(not ismissing(renk)) and ismissing(dolu) then

Line (x,y)-(x+g,y+g),renk, bf

Else

Line (x,y)-(x+g,y+g),renk, ,b

End ıf

End sub

Private sub command 1_clinck( )

Kareçiz 100,100,250,5555 ‘renkli çiz

Kareçiz 400,100,250,,1  ‘içi dolu çiz

Kareçiz 700,100,250,5555,1’renkli ve içi dolu çiz

Kareçiz 1100,100,250’ normal çiz

End sub

Ayrıca bir fonksiyona  girecek parametre sayısı belli değilse o parametre  paramarray deyimi ile bir dizi olarak  tanımlanır. Bu durumda kullanıcı o parametre yerine geçeçek  istediği kadar parametre kullanılabilir.

Public function h (paramarray x( ))

End function

Burada fonksiyona  verilecek bütün parametreler x dizisine atanır. Kaç parametrenin kullanıldığı ise  ubound fonksiyonundan –1 dönüyorsa hiçbir parametre  kullanılmamıştır.

H(3,4,2)        ‘ubound(x)=3,x(0)=4,x(1)=4,x(2)=yok,x(3)=2

H(5,12)         ‘‘ubound(x)=1,x(0)=5,x(1)=12

H( )               ‘ubound(x)=1,x(0)=yok

Dizideki  parametrelerin bazıları kullanılmamış  olabileceği için yine ısmissing  fonksiyonu ile  bir elamanın  kullanıp kullanmadığımızı öğreniriz.

Örnek olarak n tane sayının karelerinin topklamını bulacak bir fonksiyonumuz olsun.

  Proğramcı fonksiyona istediği kadar x değerini girebilsin.

Public function h(paramarray x())

Dim t,i

For i=0 to uboand(x)

If not ismissing(x(i)) then t=t+x(İ)^2

Next

H=t

End function

Private sub form_load( )

Show

Print h(3,4,2,4,5,6,7,8,9,0,2)

Print h(5 ,12)

End sub

Vb de fonksiyondan giren parametrelerle de değer dönebilir. Örneğin

Public function f(z)

Print z

Z=7

F=3

End function

Fonksiyonu olsun. Bu fonksiyonda geriye değer fonksiyonun ismine atanan  değerdir. Yani 5 tir. Ancak programı çağıran yere z parametresi ile 7 de döndürülmüş olur. Çağılan yerde bu parametre bir değişken olarak verilmişse z parametresine 7 atanması çağrıldığı yerdeki değişkenide etkiler.

Private sub form _load

Show

Dim t

Print t ‘sonuç 5

Print f(T)’ sonuç 3

Print t ‘sonuç 7

End sub

Fonksiyonu yukarıdaki gibi çağırırsak  form_load olayındaki t değişkeninin de değeri 7 olacaktır.bu özellik bir fonksiyondan  birden fazla değer öğrenmek için faydali olabilir. Bazende bazı değişkenlerin çağrıldığı yerdeki değerlerini kaybetmelerine sebep olur.

Bu durum fonksiyona giren parametrelerin önüne byval veya byref yazılarak belirlenir.                             

Fonksiyondaki parametrelerin  başındaki bu iki  parametreden biri kullanılmazsa byref olarak kabul edilir.  

byref  Olarak Tanımlanmış  Parametrelerde  Parametrenin  Değeri Değil  O Parametrenin Bellekteki Adresi Gönderilir. Bu Parametreye Atanan Değer Aynı Bellek Bölgesinde Değişikliğe Sebep Olacağı İçin Fonksiyonu Çağıran Yerde Bu Değişimden Etkilenir.

Byval  Olarak Tanımlanmış Parametrelerde İse Fonksiyona Parametrenin Adresi Değil Bir Kopya Gönderilir. Bu İki Kopya Ayrı Bellek Bölgelerini Kullanacaklarından  Parametrenin Fonksiyon İçindeki Değişiminden Çağıran Yer Etkilenmez.

      Yukarıdaki Fonksiyondaki Parametreyi Byval  Olarak Tanımlarsak Form_Load Olayı Bu Değişimden Etkilenmeyecektir.

   Public Function F( Byval Z)

Print ‘Sonuç 5

Z=7

F=3

End Function

Private Sub Form_Load

Show

Dim T

T=5

Print T’sonuç 5

Print F(T)’Sonuç 3

Print T’ T Hala 5

End Sub

Olay Alt Programları

Vb De Farklı Olarak Kullanıcının Tanımlayacağı Alt Proğramlardan Başka Kontrollerin  Kende Olay Alt Programları Vardır. Ve Kontrolle İlgili Bir İşlemde Bu Olay Alt Programlardan Biri Veya Birkaçı  Aktif Hale Gelir. Şu Şekildedir.

Private Sub Kontrol Adi_Olay([Giriş Parametreleri)]

End Sub

Giriş Parametrelerin Ne Olduğu İse Tamamen Kullanılan Kontrole Bağlıdır.

  Olay Alt Programları Diğer Alt Programlar Gibi Programcı Trafından  Çağrılması Gerekmez, Alt Programların  Ait Olduğu Kontrol Tarafından  Çağrılır. Örneğin Bir Kontrolün  Keypress Olayı O Kontrol Üzerinde İken Bir Tuşa Basılması  Durumunda Veya Mousemove  Olayı Kontrolün Üzerinden Mouse Geçerken  Dolaylı Olarak Windows  Tarafından Çağrılır. Olay Alt Programcının  Hangi Sırada Çağrılacağı  Veya Kaç Defa Çağrılacağı  Tamamen Kullanıcının Yaptığı Hareketlere Bağlıdır. Ayrıca Windows Un Bir Kaç Proğramı  Aynı Anda Çalıştırıldığını Bilirsiniz.  Bu Bir Programın Alt Programları İçin De Geçerlidir. Aynı Anda Aynı Programın Birkaç Alt Programıda Çalışabilir. Her Kontrol Kendisinin Ne Zaman Çalışacağını Bilir Ve Bunun İçin Programcının Kod  Yazmasına İhtiyac Duymaz.      

   Olay Alt Programları  İstenirse Diğeralt Programlar Gibi De Olay Gerçekleşmeden De  Çağrılabilir.

     Örneğin  Text1 İn  Change Olayınayazdığımız Kodun Aynısını Text2 Nin Change Olayı İçinde Geçerli, İse

   Private Sub Text2_Change( )

Text1_Change

End Sub

   Kodu İle Text2 Nin Change Olayından Text1 İn Change Olayındaki Kodu Çalıştırabiliriz..

Vb Bu Olay Alt Programlarıı Varsayılan Olarak Private Olarak Tanımlar. Bu O Alt Programın Sadece Bu Form Tarafından Kullanılabileceğini Gösterir.Yani Diğer Formlardan Bu Olay Alt Programı Çağrılmaz.

    Eğer Diğer Olay Alt  Programlarda Bu Kodu Kullanılabilekcekse Private Yerine Public Yazarız. Bu Durumda Form2 Dende Form1 İn Üzerindeki Bir Kontrole Ait Olayı Çağırabiliriz. Yapmamız Gereken Formun İsmini  Ve Olay Alt Programın İsmini Vermektir. Yani Form1.Text_Change  Şeklinde Form2 Den Form1 Deki Text Kutusunun Change Olayını Çağırabilirsiniz.

Kontrol Dizileri

Eğer Kontroller Dizi Olarak Tanımlanmişsa Bu Durumda Dizideki Bütün Kontrollerin Olay Alt Programları Aynı Olacaktır. Bu Kontrollerin Olay Alt Program Yapısı Aşağıdaki Gibi Olur.

   Private Sub Kontroladi_Olay([İndex As Integer][Giriş Parametreleri As Tipi)]

End Sub

   Burada Farklı Olarak Bulunan İndex, Bu Olayın Dizideki Hangi Kontrol Tarafından Çağrılacağını Belirler.     Bir Grup Kontrolü Dizi Olarak Tanımlamanın İki Yolu Vardır. Bunlardan Biri O Kontrolü Seçtikten Sonra Ctrl+C Tuşları İle Panoya Almak Ve Ctrl-V Tuşları İle Yapıştırmaktır. Bu Durumda Vb Size Aynı İsiml,İ Bir Kontrolün Bulunduğunu Ve Bunun Bir Dizi Olarak Tanımlayıp Tanımlamamak İstediğimizi Sorar. Evet Diye Cevap Verirseniz Kopyaladığınız Kontroller Tamamen Aynı Özelliklere Sahip  İkinci Bir Kontrol Daha Elde Etmiş Oluruz. Bunlar Arasındaki Tek Fark İndis Özeliklerinin Farklılığıdır.  Dizi Olarak Tanımlamanın Diğer Bir Yolu İse Birden Fazla Kontrole Aynı İsmi Vermek Ve İndis Özelliklerine Farklı Sayılar Vermektir. Ortaközelliklere Sahip Kontrolleri Dizi Olarak Tanımlamanın Bir Çok Avantajı Vardır. Örneğin Programda On Tane Text Kutusu Bulunsun. Bunlardan Her Birinin Fontunu ‘ Times New Roman‘ Yapmak İstediğimizde

           Text1.Fontname=’Times New Roman’

          Text2.Fontname=’Times New Roman’

        Text3.Fontname=’Times New Roman’

       ...........

      Text10.Fontname=’Times Ne3w Roman’

Şeklinde On Satırlık Kod Yazmamız Gerekir. Halbuki Bunlardan  Bir Dizi Olarak Tanımlarsak Bie For –Next Döngüsüyle Aynı İşi Üç Satırda Yaptırabiliriz.    Önce Bir Forma  Bir Text Kutusu Yerleştirin Ve Bunu Seçip Ctrl+C İle Ponaya Alın. Daha Sonra Ctrl+V Tuşları İle Yapıştırın. Vb Size Bunu Bir Dizi Yapıp Yapmayacağınızı Soracaktır. Evet Dersek Ctrl+V Tuşları İle Aynı Kutudan 8 Tane Daha Oluşturun. Böylece Aynı Özelliklere Sahip On Tane Text1 Elde Etmiş Oluruz. Bunlar Arasındaki Tek Fark İndis Özelliklerinin  Farklı Olmasıdır.      

      Şimdi Bunların Hepsinin Font İsmini Değiştirmek İçin

    Dim İ

  For İ= 0 To 9

  Text1(İ).Fontname=’Times New Roman’

Next

  Kodları Yazmamız Yeterlidir.     Dizi Olarak Tanımladığımız Kontrollerin Propertieslerini Kullanırken Hangi Kontrolün Propertiesini  Belirttiğimizi Onun İndis Numarasını Parentezler İçinde Vererek Bildiriyoruz. Yani

   Kontroladi(İndis).Özelik=Değer   Formatını Kullanıyoruz.

   Kontrolleri Dizi Olarak Tanımlamanın Bir Diğer Avantajı Her Biri İçin Ayrı Kod Yazmak Yerine Ortak Bir Kod Kullanırız.  Yukardaki Örnekte On Tane Text Kutusuun İçeriğini Toplayıp Label1 İçinde Yazmak İçin Her Birinin Change Olayına

   Private Sub Text1_Change( )

 Label1=Val(Text1)+Val(Text2)+Val(Text3)+Val(Text4)...........+Val(Text10)

End Sub

  Private Sub Text2 _Change

Label1= Val(Text1)+Val(Text2)+Val(Text3)+Val(Text4)...........+Val(Text10)

Ende Sub

Yukarıdaki G,İbi Her Birinin  Change Olayında Aynı Kodu Yazmamız Gerekir. Bunlar Bir Dizi Olarak Tanımlanmış Olsa Aşağıdaki Kodu Bir Kere Yazmak Yeterlidir.  

     Private Sub Text1_Change (İndex As Integer)

Dim İ, Top

 For İ=0 To 9

 Top =Top+Val(Text1(İ))

Next

Label1=Top

 End Sub

    Kontrol Dizilerinde Bir Olayın Hangi Kontrol Ytarafından Meydana Getirildiğinin Bilinmesi Gereken Durumlarda İndis Parametresi Kullanılır. Örneğin Bir Label İçinde Ki  Yazıyı Sola, Sağa Diğerinden Sağa Ve Diğerinden De Ortaya Alınacaktır.   Kontrol Dizilerinin Çok Önemli Avantajı Da Bu Kontrollerden   Çalışma Zamanında Oluşturulabilmesidir.

Vb 5.0 Masaüstü Elemanları
Vb Nin Ana Formu

   İlk Olarak Vb Çalıştığında Vb Nin Kendine Ait Olan Aşağıdaki Form Görülür. Vb Diğer Formlardan Farklı Olarak Formu Sadece Menülerden Ve Başlık Çubuğunda Oluşur.

Programcı  Formu

Vb Masa Üstünde Bulacağımız Önemli Bir Form Da Aşağıdaki  Gibi Bir Form Penceresidir. Bu Form Gerçekte  Vb E Ait  Diğer Yapacağımız Programa Ait Bir Formdur. Bu Form Programa Ait Kullanıcı Arabiriminin Oluşturulduğu Yerdir. . Ve Burada Oluşturduğunuz Formun Görüntüsü Program Çalıştığında  Aynen Görünecektir.

Form Üzerinde Alınan Her Kontrol Elemanının  Tasarım Zamanı Özellikleri  Properties Penceresinde Gözükür. İstediğiniz Birden Fazla Form İle De Çalışabiliriz. Yine Form Üzerinde Alınan Her Bir Elamanının  Kopyası Alınarak  İstediği Kadar Bir Dizi Olarak Çoğaltabiliriz.           Form  Üzerinde İken Farenin Sağ Tuşuna Basıldığı Zaman Aşağıdaki Popup Menü Karşınıza Çıkacaktır.

View Code      Seçeneğiyle Kod Penceresine Ulaşılır.

Menü Editör Menü Seçeneğiyle Menü Tasarım Editörüne Ulaşılır.

 Lock Control Menü Seçeneğiyle Form Üzerindeki Tüm Elemanlarının Yerleri Sabitleştirilir. Ve Bu Özellik Kaldırılmadığı Sürece  Hareket Ettirilemez.

Paste Menü Seçeneğiyle Panodaki Veri Form Üzerine Yapıştırılır.

Properties  Menü Seçeneğiyle Seçili Elemanın Özelliklerini  Properties Penceresinde Görüntüler.

        Form Üzerindeki Elemanlardan Biri Yada Birkaçı Seçili İken Farenin Sağ Tuşuna Basıldığında Aşağıdaki Popup Menü Karşımıza Çıkar.

 Bring To Front Menü Seçeneği İle Seçili Olan Elemanlar Ön Plana Alınır.

Send To Back     Menü Seçeneğiyle Seçili Olan Elemanlar Arka Plana Alınır.

View Code   Menü Seçeneği İle Kod Penceresine Ulaşılır.

Align To Grid  İle Seçili Elemanların Koordinatları Form Üzerindeki Noktalara Denk Getirilir.

Properties İle Seçili Elemanlara Ait Tasarım Zamanı Değiştirilebilen Özellikler Penceresine Ulaşır.

   

Toolbox

Form Üzerine Yerleştirilecek Kontrollerin Tamamı Toolbox Penceresinde Yer Alır. Bu Penceredeki Kontrol Elemanları Önceki Visual Basic Versiyonlara Göre Daha Fazla Özellik İle Karşımıza Çıkmaktadırt. Yine Bu Pencereye Ait Tab Eklemek , Silmek , Ad Değiştirmek Gibi İşlemler Uygulanabilir. Bu Pencere De  İken Farenin Sağ Tuşuna Basıldığında Aşağıdaki Popup Menü Karşımıza Çıkar.

Components  Menü Seçeneğiyle Toolbox Penceresine Yeni Ocx Kontrolleri Eklenir.

Add Tab İle Menü Seçeneğiyle Toolbox Penceresine Yeni Tablar Eklenir.

Dockable İle Toolbox Penceresinin Vb Nin  Ana Formunda Yer Alması(İşaretsiz)  Yada İstenilen Yere Taşınması (İşaretli) Gibi İşlemler   Yapılır.

Hide Seçeneği İle Toolbox Penceresi Gizlenir.

      Yine General İsimli Tab Üzerinde İken Sağ Fare  Tuşuna  Basılırsa Add Tab, Delete Tab, Rename Tab, Move Up, Move Down Menü Seçenekleri Karşımıza Çıkacaktır. Bu Menü Seçenekleriyle İstenilen Tab Aşağı (Move Down),Yada Yukarı (Move Up) Kaydırılır.

 Components  Seçeneği Tıklandığında Yukarıdaki Pencere Karşımıza Çıkar.  Bu Penceredeki Bir Elemanı Toolbox Penceresine Eklemek İçin O Eleman İşaretlendikten Sonra Uygula Düğmesine Basmak Gerekir.  Burada Birden Fazla Kontrol Elemanını  Aynı Anda Toolbox Penceresine Eklemek Mümkün Olmaktadır.Bu Pencerede  Listelenmeyen Elemanlara  Browse Düğmesiyle Ulaşılır.

 Toolbox Penceresine Eleman Eklemenin Diğer Yolu Da  Vindows 95 İn Dosya Gezgini  Programı Aracılığı İle Seçilen Ocx Dosyaları Toolbox Penceresi Üzerine Sürüklenip Bırakılır.

Properties(Özellikler )Penceresi

   Form Üzerine Yerleştirilen Elemanlarının Tümünün Tasarım Zamanı Değiştirilecek Özellikleri Properties Penceresinde Yer Almaktadır.

   Vb 5.0 İn Yeniliklerinden Biri  Seçili Olan Elemanın Properties Penceresine Yansıyan Özellikleri Hem Alfabetik Hemde Kategorik Olarak Listelenmesidir.

Kategorik Olarak Getirilen Bölümler Şunlardır.:

 Appearance (Elemanın Görünüşü İle İlgili Özellikler), Behavior(Elemanın Durumu İle İlgili), Dde Font(Font İle İlgili Özellikler), Misc(Bir Gruba Dahil Edilemeyen Farklı Özellikler),Position (Elemanın Boyutları , Form Ve Ekran Üzerindeki Konumları İle İlgili), Scale(Elemanın Bulunduğu Aralık İle İlgili Özellikler)

       Properties   Penceresi Üzerinde İken Sağ Fare Tuşuna Basıldığı Zaman Aşağıdaki Popup Menü Karşımıza  Çıkar.

Description Menü Seçeneğiyle Seçili Olan Özellik İle  İlgili Kısa Bir Açıklama Pencerenin Altınta Gösterilir(Sağdaki Resim)

Hide Seçeneğiyle Properties Penceresi Gizlenir.

Project Penceresi

           Bu Pencerede Programa Dahil Edilen Form, Module,Usercontrol Vb. Gibi  Elemanların Listesi Yer Alır. Bu Pencere İle İstenilen Bir Forma Geçiş Yapmak Yada İstenilen Bir Formu Yada Modülü  Forma Dahil Etmek Mümkün.

     Bu Pencerenin Sol Üst Kısmında Yer Alan Üç Adet Değmenin 1. Cisi Seçili Nesne İlie İlgili Kod Penceresini Açar, 2. Si  Nesnenin Form Tasarımını Gösterir., 3.Sü  De Aynı Cinsten  Form Yada Modülleri Bir Klasör  İle Gösterir.

Project  Penceresinde Sağ Fare Tuşu

Project  Penceresinde İken  Farenin Sağ Tuşuna Basıldığında  Aşaığıdaki Popup Menü Karşımıza Çıkar. Bu Pencerede O Anda Aktif Olan Proje Ve Form Adları Da Yer Alır.

 View Code Menü Seçeneğiyle Kod Penceresine Ulaşılır.

Wiew Object  Menü İle Form Tasarımıgörüntülenir.

Project1 Properties İle O Anda Aktif Olan Projeceye Ait Özellikler Penceresine Ulaşılır.

 Save Form İle Seçili Haldeki  Formu Kaydeder.

Save Form  As.. Seçeneği İle Seçili Haldeki Formu Yeni Bir  Adla Kaydeder.

Print.. İle Yazdırma  Penceresine  Ulaşılarak İstenilen Bölüm Yazdırılır

Add Menü Seçeneği İle Görüldüğü Gibi Projeye Eklenecek Nesneler Eklenir.

Form Seçeneği İle Projeye Yeni Bir Form Eklenir.

  Mıdı Form  Seçeneği İle Projeye Yeni Bir Program Modülü Eklenir.

Class  Module İle Projeye Yenı Bir User Control Eklenir.

Property Page İle Projeye Yenı Bir Property Page Eklenir.

 Add File Seçeneği İle Projeye Daha Önceden Oluşturulmuş Bir Dosya Eklenir.

Kod Penceresi

    Vısual Diller Kendi Kodunu Yazacağı Bir Editör Sunarlar. Bu Editörler Windows Un  Kullandığı Hemen Hemen Tüm Metotları Destekler.

  Bu Pencerenın Sol Alt Köşesinde Yer Alan   Düğmesi  Sadece Bir Alt Programı  Görüntülerken        Düğmesi İse Tüm Kodu  Bir Arada Listeler.     

  Bu Pencerenin Option Explicit Yazan Bölümde Herhangi Bir Kontrol Elemanına Bağlı Olmayan  Kodlar(General) Yazılır. Burada Forma Ait Global Değişken Tanımları Ve Apı Tanımları Yapılır.

   Yukarıda Görüldüğü Gibi  Her Kontrol Elemanına Ait Olay Alt Programları İki Combo Kutusu Aracılığı İle Belirtmektedir. Bunlardan Birincisi Form Ve Form Üzerindeki Elemanların Adlarını Listelerken Diğeri İse O Elemana Ait Olayları Listelemektedir.

      Kod  Penceresindeki  Önemli Yenilikler

Kullanıcı Herhangi Bir Kontrol Elemanının  Adını Yazıp’.’  Nokta Karakterine  Basıldığı Anda Kursorün  Bulunduğu Noktadan İtibaren Aşağıya Doğru  Bir Liste Açılır.  Burada Tüm Elemanların Ortak Olarak Kullanıldığı Özellikler Ve Metodlar  Yer Almaktadır.  Kullanılacak Özellik Bu Listeden Seçilmek Suretiyle Program Satırına Dahil Edilir. Bu Durum Programcıyı Bir Sürü Özelliği Kafasında Tutmaktan Kurtarır.

  Aşaği Doğru Açılan Listeden İstenilen Özellik Seçilip’=’  Karekterine Basıldığında Anda Bu Defa Özellikle  Kullanılabilecek İfade Aynı Metotla Gösterilmektedir.

   Örneğin Form Üzerinde Command1  Düğmesi Yok Fakat Siz O Düğmenin Adını Yazmanız  Daha Sonra  ‘.’ Nokta Karekterine Bastınız. Karşınıza Özelliklerin Yer Aldığı Liste Çıkmayacaktır.

   Şimdi Bir Mesaj Kutusunun Adım Adım Oluşturalım.

 İlk  Olarak  Kod Penceresnde Msgbox Yazarak İşe Başlayalım.

Msgbox

Msgbox(Prompt.[Buttons As Vbmgsboxstyle=Vbokonly],[Title],

[Helpfile],Context])As Vbmgsboxresult

Msgbox İfadesi  Yazılıp Boşluk Tuşuna Basıldığı Anda Yukarıda Görüldüğü Gibi Msgbox İfadesinde Kullanılması Gereken Tüm Parametreler  Gösterilmekle Beraber  Bu İdadenin Geri Döndürüleceği Sonuç Ta  Belirtiliyor.

Msgbox

Msgbox(Prompt.[Buttons As Vbmgsboxstyle=Vbokonly],[Title],

[Helpfile],Context])As Vbmgsboxresult

 

 Yukarıda Görüldüğü Gibi Msgbox İfadesinin Birinci Parametresi  Tamamlanıp  Virgül Karekterine Basıldığı An İkinci Parametre Otomatik Koyulaşarak Bunun

Alacağı Değerler Aşağıya Doğru Açılan Kutudan Listelenir. Bu Durum Diğer Parametreler İçinde Aynen Devam Eder.

  Sonuçta Mesaj Penceresi İçin Yazdığımız Kod Ve Pencere  Görüntüsü Aşağıdaki Gibi Olur.

 Private Sub Form_Load( )

If Msgbox(“Vb İle Çalışmaktan Memnun Musunuz?”, Vbyesno+Vbquestion+Vb Defaultbutton1+Vbsystemmodal,”Mesaj1,0,0)=Vbyes Then End

       Kod Penceresinde Sağ Fare Tuşu

Kod  Penceresinde İken Farenin Sağ Tuşuna Basıldığında Yanda Görülen Popup Menü Karşımıza Çıkmaktadır. Burada,

Cut Menü Seçeneğiyle Olan Veriyi Keserek Panoya Atar.

 Copy İle Seçili Olan Verinin Bir Kopyasını Panoya Atar.

 Paste İle Kursörün Bulunduğu Yere Panodaki Veriyi Yapiştırır.

List Properties /Methods İle Aşağıya Doğru  Açılan Özellik Listeleme Kutusunu Görüntüler.

List Constants İle Bir Özelliğin Alacağı Değerler Görüntülenir.

Complete Word Menü Seçeneği İle Bir Kontrol Elemanına Ait Bir Özelliğin Tamamı Hatırlanmıyorsa Sadece Baş Harfi Yazılarak Bu Seçenek Aracılıği İle Tamamlanır.  

  Mesela Text1.A İfadesi Yazıldıktan Sonra Bu Seçenek  Kullanılırsa Karşımıza Yandaki Liste Çıkar. Burada İstenilen Özellik  Kolayca Seçilir.

 Quick İnfo İle Bir İfadenin İçerdiği Parametreleri Görüntüler.

  Mesela Msgbox İfadesi Yazdıktan Sonra Quick İnfo Menü Seçeneği İlekullanılırsa Karşımıza Aşağıdaki Menü Çıkar.

Parameter Info Menü Seçeneği İle Yazılan Bir Fonksiyonun  İçerdiği Parametre Tipi Öğrenilebilir.

 Mesela Qbcolor( ) Fonksiyonu Kullanacağımızı Farzedelim. Kursör  Parentezler İçerisine Konumlandırıldıktan Sonra Parameter İnfo Menü Seçeneği Kullanılırsa Karşımıza Aşağıdaki Görüntü Çıkacaktır.

Buradan Anlaşılırki Qbcolor() Fonksiyonun Alacağı Değer Tamsayı, Döndüreceği Değer İse Uzun Tamsayıdır.

Last Position Menü Seçeneği İle Kursör Bulunduğu Son Nokyaya Geri Döndürülür.

Object Browser

 Object Browser Menü Seçeneği İle Aşağıdaki Pencereye Ulaşılır.

Bu Pencere Aracılığı İle Gerek Vb Kütüphanesinde Kullanılan Tüm Veriler Gerekse Oluşturulan Proje Ve Bu Projenin Modüllerinin Kullanıldığı  Tüm Tip Ve Değişkenler  Hakkında  Bilgi Sahibi Olmak  Mümkündür.  Bu Pencerenin Sol Üst Köşesinde Combo Kutusu Aracılığı İle  Vb Kütüphanelerine  Ulaşılır. Sağdaki Liste Kutusunda Bu Kütüphanenin Veri Sınıfları , Soldaki Liste Kutusunda İse İlgili Veri Sınıfının İçerdiği Fonksiyonlar, Sabitler Ve Özellikler  Yer Almaktadır.    Pencerenin En Altında İse Seçili Olan Verinin Tanımı,Parametreleri Ve Bulunduğu Kütüphane Adı  Verilmektedir. Şimdi Object Browser Pencersinde Project1 İ  Seçelim. Bu İşlem Yapıldığında Projenın İçerdiği Formlar, Modüller Ve Modüllerde Tanımlı Tip Ve Değişkenler Detaylı Olarak Karşımıza Çıkmaktadır.

Per İfadesi Seçili İken Farenin Sağ Tuşuna Basıldığında Çıkan Popup Menüden View Defination Menü Seçeneği Seçildiğinde Karşımıza Personel Tipinin Tanımlı Olduğu Module Karşımıza Çıkmaktadır.