|
|||||||
|
|
|
|||||
|
|
|||||||
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.
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.
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 |
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
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
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.
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.
İ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.
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.
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 İ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.
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 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.