visual basic 6 - hilmi.trakya.edu.trhilmi.trakya.edu.tr/ders_notlari/iku/visual_basic_6.pdf ·...
TRANSCRIPT
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
1
VISUAL BASIC 6.0
Visual Basic karma k mant klara ve biçimlere sahip, Windows uyumlu uygulamalar n
tasar mlar kolayla bir görsel dildir. Bu dilde program geli tirmenin ilk ad ,
kullan n ekranda görmek istediklerini saptamak ve ekran tasar gerçekle tirmektir.
Bu programda her ey nesne olarak tan mlanm r (form, yaz kutusu, komut dü mesi v.b.).
Nesneler, kendilerine ili tirilmi olan olaylar (farenin t klanmas , farenin çift t klanmas gibi)
tan yabilir ve yaz lm olan komutlara göre tepki verebilir. Olaylar gerçekle ti inde i lemler
yerine getirilir, ve pencereler güncelle tirilir. Sistem daha sonra yeni olaylar bekler.
TEMEL KAVRAMLAR
Form: Windows pencerelerinin Visual Basic'deki kar r. Uygulama çal ld nda
formlar pencerelere dönü ür. Her uygulama en az bir form içermek zorundad r.
Prosedür: Komut cümlelerinden olu an program parçalar r.
Modül: Tek bir dosyada toplanan ve program n herhangi bir yerinden ça labilen
prosedürler ve tan mlamalar toplulu u.
Özellik (Property): Nesne karakteristiklerini (boyut, renk, konum, …) ve nesne
davran lar tan mlayan nitelikler.
Olay (Event): Nesnelerin alg layabildi i eylemlerin ad r.
ARAÇ ÇUBU U VE KISAYOL TU LARI
ekil-1'de araç çubu u ve üzerindeki k sayol tu lar görüntülenmektedir.
ekil-1. Araç Çubu u
Araç çubu u üzerindeki k sayol tu lar n i levleri soldan sa a a daki gibidir:
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
2
Standart EXE Proje Ekleme - File/Add Project (File Menüsünden Add Project seçene i
klan r)
Form Ekleme - File/New Form
Menü Tasar - Window/Menu Design - Ctrl+M
Proje Aç - File/Open Project
Proje Kaydet - File/Save Project
Kes - Edit/Cut - Ctrl+X
Kopyala - Edit/Copy - Ctrl+C
Yap r - Edit/Paste - Ctrl+V
Bul - Edit/Find - Ctrl+F
Geri Al - Edit/Undo - Ctrl+Z
Tekrar - Edit/Redo
Ba lat - Run/Start - F5
Ara Ver - Run/Break - Ctrl+Break
Sona Erdir - Run/End
Proje Gezgini - View/Project Explorer
Özellikler Penceresi - View/Properties Window - F4
Form Görüntü Penceresi - View/Form Layout Window
Nesne Gezgini (tüm nesneleri gösterir) - View/Object Browser
Araç Kutusu (kontrol nesnelerini içerir) - View/Toolbox
Veri taban Ba lant lar - View/Dataview Window
Proje ve Form Pencereleri
Tüm Visual Basic bile enleri bir proje içerisinde bulunur. Proje yarat ld ktan sonra, proje
penceresinde, o uygulamada yer alan formlar, modüller ve özel denetçiler listelenir. Listeden
istenilen form seçildikten sonra View/Form ile formun kendisi ya da View/Code ile o forma
ait kod görüntülenebilir. Formun üzerinde yer alan noktalara grid denir. Bu noktalar form
üzerineyerle tirilecek nesnelerin hizalanmas sa lar.
ÖZELL KLER PENCERES
Bir formun konumunu de tirmek onun özelli ini de tirmek anlam na gelir. Özellikler
penceresi aç ld nda ekil-2'deki gibi görüntülenir. Ba k çubu u alt ndaki nesne kutusunda
(Object Box) yer alan aç klama nesnenin ad ve ne tip bir nesne oldu unu belirtir. Örne in
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
3
ekil-2'deki "Form1 Form" aç klamas seçili nesnenin bir form oldu unu ve ad n Form1
oldu unu göstermektedir. Nesne kutusunu alt ndaki ayarlar kutusunda (Settings Box) ise
pencerede o anda seçilmi olan ayar n de eri görüntülenir ve de tirilebilir. Seçeneklerin
ço unlu u kullan ya dü en liste olarak sunulur. Bu liste renkler için paleti görüntülerken,
pencerenin görünür olma özelli i için ise do ru/yanl (True/False) olarak sunulur.
Baz Form Özellik Tan mlar
(Name): sim
Appearance: Formun düz ya da 3-boyutlu
görünmesini sa lar.
BackColor: Artalan rengi
BorderStyle: Kenar çizgisi biçimi
Caption: Form Ba
ControlBox: Pencere kontrollar n olup
olmayaca belirler.
Font: Yaz tipini belirler.
Height: Formun yüksekli ini belirtir.
Left: Formun sol koordinat belirler.
Top: Formun üst koordinat belirler
Visible: Formu gizlemek ya da gizli formu
görüntülemek için kullan r.
Width: Formun geni li ini belirtir.
ekil-2. "Properties" Özellikler Penceresi
Program Ba latma
Visual Basic program ba latt zda ekrana ekil-3'deki Yeni Proje Penceresi gelir. E er
Visual basic daha önceden çal yor ise ayn pencereyi File/New project seçene i ile de
açabilirsiniz. Bu pencere seçenekleri ile proje tipini belirleyebilirsiniz. Normal proje için
Standard.EXE, Internet ile ilgili projeler için Activex.EXE kullan z.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
4
ekil-3. Yeni Proje Diyalog Penceresi
ekil-4. Proje Tasar m Penceresi
Proje aç ld ktan sonra proje tasar m penceresi ekil-4'deki gibi ekrana gelir. Bu pencerenin
ba Project1: Microsoft Visual Basic (Design) olarak görüntülenir. Daha sonra bu program
çal ld nda Design-Run olarak de ecektir.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
5
Bu yeni proje bir form ile ba lar. Genelde bu form program n ba lang ç sayfas olur. Form
penceresi d nda Tasar m Penceresi üzerinde projede yer alan formlar gösteren "Project1"
adl proje penceresi, formun ekran üzerindeki boyutunu gösteren "Form Layout" penceresi ile
nesne özelliklerini gösteren "Properties" penceresi yer al r. Tasar m penceresinin sol taraf nda
ise nesne yarat için gerekli bir araç çubu u bulunur.
Projeyi Saklama
Projenin saklanmas için öncelikle projenin bile enleri (form, kod modülü, vs.) ayr ayr ait
olduklar dosyalara saklanmal , daha sonra projenin kendisi proje dosyas olarak
saklanmal r.
Projeyi saklamak için File/Save Project menü seçene i ya da araç çubu u üzerindeki Save
Project dü mesi t klan r. Her proje bile eni için ard ard na ekil-5'deki Yeni Adla Proje
Saklama Diyalog kutusu ekrana gelecektir. Bu kutu üzerinde her dosyan n ad ve yerini
belirlemeniz gerekmektedir.
ekil-5. Yeni Adla Proje Saklama Penceresi
Formlar Programlama
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
6
Formlar 20'den fazla olaya tepki verebilirler. Bu tepkinin ne olaca kodlama ile
belirtebilirsiniz. Örne in, kullan form üzerindeki herhangi bir bölgeyi t klad nda bir
mesaj görüntüleyebilirsiniz. Kodlamay yapabilmek için formu çift t klamak ya da View/Code
komutu kullanmak yeterlidir. Bu komut çal ld nda ekil-6'daki pencere ekrana gelir. Bu
pencerenin üst sa ndaki "Object" k sm nda formda yer alan tüm nesnelerin listesi, soldaki
"Proc" k sm nda ise nesnenin tan yaca olaylar bulunur.
ekil-6. Form Kod Penceresi
Form t kland nda "Fareyi t klad z" mesaj vermek için gerekli kod a dad r:
Sub Form_Click
Print "Fareyi tikladiniz."
End Sub
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
7
Örnek Form Olaylar
Activate Formun etkin pencere olmas
Click Form üzerinde farenin t klanmas
DblClick Form üzerinde farenin çift t klanmas
Deactivate Formun edilgen olmas
GotFocus Form denetçilerinin edilgen, formun etkin olmas
KeyDown Odak form üzerinde iken klavye tu una bas lmas
KeyPress Odak form üzerinde iken klavye tu una bas p b rak lmas
KeyUp Odak form üzerinde iken herhangi bir tu a bas lmas yada b rak lmas
Load Form penceresinin aç lmas
LostFocus Oda n formdan ba ka bir nesneye kaymas
MouseDown Farenin bir tu una bas lmas
MouseMove Farenin hareket ettirilmesi
MouseUp Farenin bas lan tu unun b rak lmas
Unload Formun kapat lmas
Örnek Form Yöntemleri
Circle Form üzerine daire, elips ya da yay çizer
Cls Form üzerindeki tüm yaz ve resimleri siler
Hide Formu gizler fakat kapatmaz
Line Form üzerinde çizgi ya da dikdörtgen çizer
Move Formu hareket ettirir
Print O andaki renk ve yaz boyunu kullanarak form üzerine yaz yazar
PrintForm Formu ekranda göründü ü gibi yaz ya yollar
Refresh Formun kendini yeniden çizmesini sa lar
Scale Formun koordinat sistemlerini tan mlar
SetFocus Oda n forma kaymas sa lar
Show Formun görüntülenmesini sa lar
TextHeight Yaz boyunu belirler
TextWidth Yaz uzunlu unu belirler
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
8
Kullan Etkile imi
Kullan dan bilgi almak için kontrol nesneleri kullan r. Bu kontrol nesneleri ekil-7'de
görüntülenmektedir.
Gösterici (Pointer) Resim Çerçevesi (PictureBox)
Etiket (Label) Yaz Kutusu (TextBox)
Çerçeve (Frame) Komut Dü mesi (CommandButton)
aret Kutusu (CheckBox) Seçenek Dü mesi (OptionButton)
Çekme Liste (ComboBox) Liste (ListBox)
Yatay Kayd rma Çubu u (HScrollBar) Dü ey Kayd rma Çubu u (VScrollBar)
Zamanlay (Timer) Sürücü Listesi (DriverListBox)
Dizin Listesi (DirListBox) Dosya Listesi (FileListBox)
ekil (Shape) Çizgi (Line)
Resim (Image) Veri Denetçisi (Data)
OLE Denetçisi (OLE)
ekil-7. Kontrol Nesnelerinin Yer Ald Araç Çubu u
Bir Nesnenin Ta nmas ve Boyutland lmas
Bir nesnenin ta nma ve boyut de tirme i lemleri grafik nesnelerinki ile ayn r. stenirse
birden fazla nesne Ctrl tu u bas tutularak seçilir ve grup halinde ta ma ya da boyut
de tirme i lemi gerçekle tirilebilir.
Etiket
Kullan ya bilgileri ve yaz lar görüntülemek için kullan r, burada bilginin kullan
taraf ndan de tirilmesi olas de ildir.
Etiket Ekleme
Yaz kutular n i levini belirlemek için her yaz kutusu ile birlikte bir adet etiket kutusuna
gereksinim vard r.
Araç çubu u üzerinde etiket kutusu dü mesini t klay z.
Farenin imlecini form üzerine, kutuyu koyaca z yerin bir kö esine götürünüz.
Fareyi t klayarak parma b rakmadan kutunun kar kö esi olacak yere kadar
sürükleyiniz, ve fare dü mesini b rak z.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
9
Etiket kutusunun özellikleri "Properties" penceresinde görüntülenir. Nesnenin ad "Name" ile
belirlenir, etiketin ekranda gözükecek yaz ise "Caption" bölümüne yaz r.
Yaz Kutusu
Kullan dan yaz olarak bilgi almak ve yine bilgileri kullan ya göstermek için kullan r.
Yaz kutusunun özellikleri yine "Properties" penceresinden de tirilir. Yaz kutusuna girilen
bilgi say sal bilgi de olsa karakter dizini olarak kabul edilir. Aritmetik i lem yap laca
takdirde say ya çevrilmelidir (Val komutu ile). Yaz kutular n ismi vard r ancak ba k -
"Caption" özelli i bulunmaz.
Yaz Kutusu Ekleme
Araç çubu u üzerinde yaz kutusu dü mesini t klay z.
Farenin imlecini form üzerine, kutuyu koyaca z yerin bir kö esine götürünüz.
Fareyi t klayarak parma b rakmadan kutunun kar kö esi olacak yere kadar
sürükleyiniz, ve fare dü mesini b rak z.
Komut Dü mesi
Kullan n t klamas ile çe itli i levlerin çal rmas sa layan dü melerdir. Komut
dü melerinin üzerine komutun i levini belirten yaz lar ba k-Caption özelli i ile ili tirilir.
Ba k yaz dü menin ortas na yaz r. Ba k dü menin standart boyundan geni ise
boyutland rma otomatik olarak yap lmaz. Bunu sizin yapman z gerekir. Ba k üzerinde bir
karakterin alt çizmek için o karakterin önüne & i areti konur, ve o karakter alt çizili olarak
yaz r. Böylece komut Alt tu u ile alt çizili karakterin klavyeden bas lmas ile de çal r.
&Son -- Son -- Alt+S ile Son komutu gerçekle ir ve program sona erer
Komut Dü mesi Ekleme
Araç çubu u üzerinde komut dü mesi dü mesini t klay z.
Farenin imlecini form üzerine, dü meyi koyaca z yerin bir kö esine götürünüz.
Fareyi t klayarak parma b rakmadan dü menin kar kö esi olacak yere kadar
sürükleyiniz, ve fare dü mesini b rak z.
PROGRAMLAMA TEMELLER
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
10
Cümleler
Bir cümleyi yaz p Enter tu una bast zda o komut cümlesi de erlendirilir ve yaz m
yanl lar saptan r. Büyük küçük harf ayr yap lmaz. Komutun ilk harfi otomatikman
büyültülür. Komut olmayan aç klama sat rlar için tek t rnak, Rem ya da Remark kullan r.
Rem Yard m Dü mesi
' Bu dü me t klan nca çal r.
Print "Yard m yok" 'sat r aras na da aç klama koyabilirsiniz
De kenler
Kullan dan al nan bilgiler ve hesaplama sonuçlar de ken denilen geçici bölgelerde
tutulur. De ken adlar en fazla 255 karakter olabilir. De ken ad bir alfabe karakteri ile
ba lamal r. De kenin özellikleri ise a da verilen listedeki gibi belirlenir:
s -String : Karakter dizisi
n - Integer : Tamsay (-32768 +32767)
l - Long : Uzun Tamsay (yakla k +/- 2 milyar)
f - Single : Tek Duyarl Ondal kl Say (floating)(1E-45, 3E38)
d - Double : Çift Duyarl Ondal kl Say (floating)(5E-324 )1.8E308
c - Currency : Para de eri ($) (xxxxxxxxxxxxxxx.xxxx)
b - Boolean : Do ru/Yanl (true-false 0/-1)
v- Variant : De ken
d - Date : Gün ve saat bilgisi (1/1/100 den 12/31/9999 a kadar)
De ken Tan mlar
Bir formda tan mlanan de ken o formda yarat lacak tüm prosedürlerde kullan labilir. Bir
prosedürde Dim ya da Private ile yerel olarak tan mlanan de ken ise sadece o prosedür için
tan ml kal r. Genel tan mlar n k tlanmas kod hatalar n ay klanmas aç ndan kolayl k
getirir. Bu nedenle yaln zca prosedür içinde kullan lacak de kenler yerel olarak
tan mlanmal r. Heryerde (formlar aras ) kullan labilecek de ken tan mlamas ise Public ile
tan mlanmal r.
Dim de kenad [As de kentipi] [, de kenad 2 [As de kentipi2]]
Private de kenad [As de kentipi] [, de kenad 2 [As de kentipi2]]
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
11
Public de kenad [As de kentipi] [, de kenad 2 [As de kentipi2]]
Buna göre dolar olarak gösterilecek para de keni tan u olabilir:
Dim cPara As Currency
Atama ve Özellik Belirleme
De kenlere de er atamas için "=" ya da "Let" deyimi kullan r. De kenin ad e itli in sa
taraf nda, de eri ise sol taraf nda olmal r.
Faiz = .6
Let Faiz = .6
Yard m.Caption = "&Yard m" 'Yard m dü mesinin ba belirler
Yard m.Left = Yard m.Left-200 ' Yard m dü mesini 200 piksel sola al r
Yard m.Visible = False ' Yard m dü mesini gizler
Yard m.TabStop = False ' Tab ile bu dü meye geçilmez
' Alttaki komut yard m dü mesi gizli ise görüntüler, de ilse gizler
Yard m.Visible = Not(Yard m.Visible
Say lar ve lemler
Tamsay (Integer) de kenlere reel say atand nda tamsay ya yuvarlanarak atan r. De ken
tipine uymayan bir atama yap r ise sistem uyar verir.
Dim Sayi As Integer
Dim Yil As String
Sayi = 50000 ' Yanl , en fazla 32768.
Sayi = 32.2 ' 32 olarak atan r
Sayi=Val("1994") ' 1994 de eri atan r
Yil = Str$(1994) ' "1994" de eri atan r
Aritmetik i lemlerde parantezlerin önceli i vard r. Parantez yok ise yukar da belirtilen öncelik
ralar uygulan r. Ayn öncelik s ras na sahip olan i lemler soldan sa a do ru gerçekle tirilir.
Aritmetik Operatörler ve Öncelik S ras
1 ^ Üs alma
2 - Negatif say lar gösterme
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
12
3 * Çarpma
3 / Bölme
4 \ Tamsay bölme
5 Mod Kalan bulma (5 Mod 2 = 1) (Tamsay )
6 + Toplama
6 - Ç kartma
Farkl tipte iki say ya i lem yap ld nda sonuç say lardan daha duyarl olan tipte olur.
Duyarl k s ras Integer, Long, Single, Double ve Currency'dir.
Komut lemleri Kodlama
Visual Basic'de nesnelere hangi durumlarda hangi i lemleri yapaca kodlama ile belirtilir.
Bunlar nesnenin üzerine farenin gelmesi, nesnenin t klanmas ya da nesnenin çift t klanmas
gibi durumlar olabilir.
Bir komut dü mesini kodlamak için:
Dü meyi çift t klay z.
Kod penceresine gerekli kodu giriniz. lk olarak ekrana gelen prosedür t klama için
olacakt r. De ik olaylar için sa daki prosedür dü en listesini t klayarak di er durumlar
seçip de ik kodlar yazabilirsiniz.
lk sat rdaki Private Sub xxxx_Click() komutu bu prosedürün xxxx komut dü mesi
kland nda çal acak prosedür oldu unu belirtir. En alt sat rdaki End Sub komutu ise
prosedürün bitti ini göstermektedir.
Bir di er komut dü mesine kod yazmak için kod penceresini kapatt ktan sonra, o dü meyi
çift t klayarak, ya da aç k olan kod penceresinin sa daki nesne dü en listesini t klayarak ve
istenilen nesneyi seçerek de prosedürü yazabiliriz.
Diyalog Pencereleri
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
13
Yaz kutusu d nda kullan dan bilgi almak için diyalog pencereleri kullan labilir. Bunun
için kullan lan fonksiyon InputBox (kullan n girdi i biçimde atan r) ya da InputBox$
(karakter olarak atan r) d r.
InputBox$ (Aç klama$[,[Ba k$][,[ lkDe er$][,x%,y%]]])
Sub Form_Load
'Form görüntülendi inde ad soran diyalog penceresi ekrana gelir.
Ad = InputBox$("Lütfen ad giriniz:", "Ad", "Damla Buket")
End Sub
Prosedür Kodu
Bu k mda program için gerekli hesaplamalar yaz lacakt r. Program n içine yaz lacak olan
aç klamalar için sat n en soluna tek t rnak i areti koymak yeterlidir. Yaz kutusundan gelen
de erlerin say de erine çevrilmesi için gerekli komut Val komutudur.
"txtSure" yaz kutusunun de erini bir de kene atamak için a daki komut kullan labilir:
' Sure de erini de kene atar
nSure = Val(txtSure.Text)
Program n Çal lmas
Bir program 3 ekilde çal labilir:
1. Visual Basic araç çubu u üzerindeki "Start" dü mesine bas z.
2. Run/Start menü seçene ini t klay z.
3. Klavyede F5 tu una bas z.
Hata oldu u takdirde bunlar bir pencerede görüntülenecektir.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
14
KRED GER ÖDEME PLANI PROJES
Bu projenin amac ekil-8'deki gibi bir form olu turmak, kullan dan anapara, y ll k faiz
oran , ve faiz süresi (y l baz nda) bilgilerini alarak, ayl k ödemeleri hesaplamakt r. Bu projede
kullan dan anapara bilgileri "Anapara", Y ll k faiz oran bilgileri "Yillik Fazi Orani", ve y l
baz nda faiz süresi bilgisi "Faiz Suresi (Yil)" yaz kutular ile al nacakt r. Hesaplama i lemi
"Hesaplama" komut dü mesi ile ba lat lacakt r. Sonuç yine "Aylik Odeme Miktari" yaz
kutusu ile görüntülenecektir. Programdan ç için "Cikis" komut dü mesi kullan lacakt r.
ekil-8. Kredi Geri Ödeme Plan Projesi
Projeyi Kaydetme
"Kredi Geri Ödeme Plan " projesinin saklanmas için gerekli dü meye bas ld nda öncelikle
form daha sonra da proje için diyalog kutular ekrana gelecektir. Bu i lemde form için dosya
ad olarak "krediana" (uzant .frm olacakt r) kullan z ve dosyay "My Documents" alt nda
"krediproje" adl bir klasör yaratarak, bu klasöre saklay z. Daha sonra ekrana gelen proje
diyalog kutusunda ise dosya ad için "krediproje" (uzant .vbp olacakt r) yaz z ve Save
tu una bas z (dosya ayn klasöre saklanacakt r).
Yaz Kutusu Ekleme
Proje için gerekli olan 4 yaz kutusunu formun solunda etiketlere yer b rakacak ekilde
yaratt ktan sonra bu kutulara anapara için "txtAnapara", y ll k faiz oran için "txtFaiz", faiz
süresi için "txtSure", ve ödemeler için "txtOdeme" isimlerini "Name" seçene i ile veriniz.
"Text" seçene inde yer alan "text" yaz siliniz. Bu alan kutunun bir yaz ile dolu olarak
gelmesi istenirse kullan r.
Etiket Ekleme
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
15
Proje için gerekli olan 4 etiket kutusunu formun sa na ve yaz kutular n soluna gelecek
ekilde yaratt ktan sonra bu kutulara anapara için "lblAnapara", y ll k faiz oran için "lblFaiz",
faiz süresi için "lblSure", ve ödemeler için "lblOdeme" isimlerini veriniz. Ekran görüntüsü
için ise "Caption" özelliklerine anapara için "Anapara", y ll k faiz oran için "Y ll k Faiz
Oran (%)", faiz süresi için "Faiz Süresi (Y l)", ve ödemeler için "Ayl k Ödeme Miktar "
de erlerini giriniz.
Komut Dü mesi Ekleme
Hesaplama ve programdan ç için gerekli 2 komut dü mesi yarat z. Hesaplama
dü mesinin "Name" özelli ine "cmdHesap", "Caption" özelli ine ise "Hesaplama" giriniz.
dü mesinin "Name" özelli ine "cmdCik", "Caption" özelli ine ise "Ç " giriniz.
Komut lemleri Kodlama
Projenin "Ç " dü mesini çift t klay z. Private Sub cmdCik_Click() komutu ile End Sub
komutu aras na programdan ç için gerekli "end" komutunu yaz z.
Proje için gerekli de ken tan mlar a daki gibi yap z:
Dim cAnapara As Currency
Dim fFaiz As Single
Dim nSure As Integer
Dim cOdeme As Currency
Prosedür Kodu
Projede cAnapara de eri txtAnapara yaz kutusundan al nacakt r.
' Anapara de erini de kene yükle
cAnapara = Val(txtAnapara.Text)
Di er hesaplama kodlar ise a daki gibidir:
'Yüzde faiz oran ondal k de ere çevir
fFaiz = Val(txtFaiz.Text) / 100
'Y ll k faiz oran ayl a çevir
fFaiz = fFaiz / 12
'Toplam y l süresini aya çevir
nSure = Val(txtSure.Text) * 12
'Ayl k odemeleri hesapla
cOdeme = cAnapara * (fFaiz / (1- (1+fFaiz) ^ -nSure))
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
16
txtOdeme.Text = Format(cOdeme,"Fixed")
Program n Çal lmas
Start" dü mesini t klayarak projeyi çal z. Anapara için 128000, faiz oran için 9.75, süre
için ise 30 de erlerini giriniz. Ayl k ödemeler 1099.72 olmal r.
FORMAT:
Format (1234, “$#,###.00”)
Biçime 0 kondu unda rakam olmasa bile 0 mutlaka görüntülenir.
$1,234.00
Format (1234, “$#,###.##”)
Biçime # kondu unda rakam olmazsa görüntülenmez.
$1,234
Format (234, “$#,###.00”)
$234.00
Format (1234567, “$#,###.00”)
$1,234,567.00
Format(1234, “Currency”)
$1,234.00 veya 1.234,00 TL (Türkçe)
FormatNumber (1234)
1,234.00 veya 1.234,00 (Türkçe)
FormatDateTime(“20:10”, vbLongTime)
20:10:00
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
17
FORM ÖZELL DE RME PROJES
(Program Çal rken)
Bu örnekte formun geni li i ile ilgili bilgi kullan dan al p, buna göre form özelli ini
de tiren program yaz lacakt r. Form ilk aç ld nda ekran n sol üst kö esinde ve boyutlar
de mez olarak görüntülenecektir.
Form (Ornek1) üzerinde bir yaz kutusu (txtGenis-Name), bir etiket (Istenilen Genislik-
Caption, lblGenis-Name) ve bir komut dü mesi (Formu Genislet-Caption, cmdGenis-Name)
olacakt r.
Form Prosedürü
Sub Ornek1_Load
Ornek1.Top = 0
Ornek1.Left = 0
Ornek1.BorderStyle = 0
Ornek1.ControlBox = 0
End Sub
Komut Dü mesi Prosedürü
Sub cmdGenis_Click
' Formun geni li inin 500'den fazla olmamas için denetleme
If Val(txtGenis.Text) > 500 Then Ornek1.Width =500
Else Ornek1.Width = Val(txtGenis.Text)
End If
End Sub
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
18
SEV ML B R UYGULAMA
1. Yeni bir proje yarat z.
2. Form üzerine bir zamanlay ve bir resim denetleyicisi koyunuz.
3. Resmin "Picture" özelli inin yan ndaki dü meyi t klay z.
4. "Load Picture" diyalog pencerei ekrana geldi inde VisualBasic\Graphics\Icons\Misc
dizininden face03.ico resmini seçiniz.
5. da verilen kodlar gerekli yerlere yaz z.
Dim xChange As Integer
Dim yChange As Integer
Private Sub Form_Load
xChange=100
yChange=100
End Sub
Private Sub Timer1_Timer()
Image1.Left = Image1.Left + xChange
Image1.Top = Image1.Top + yChange
If Image1.Left > Me.ScaleWidth Then xChange=xChange * -1
If Image1.Left < 0 Then xChange=xChange * -1
If Image1.Top > Me.ScaleHeight Then yChange=yChange * -1
If Image1.Top < 0 yChange=yChange * -1
End Sub
6. "Timer Control" özellikler penceresinde "Interval" özelli ini "True" yap z.
Program çal rd zda, resim ekran üzerinde hareket edecek ve formun bir kenar na
çarpt nda yön de tirecektir.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
19
ACCESS'DEN VER AKTARIMI ÖRNE
Veri taban ndan bilgi aktar için kullanaca z komutlar OpenDatabase, ve
OpenRecordset'dir. Veri taban (Db) ve kay t kümesi (Rs) genel tan mlar yap ld ktan sonra,
bu tan mlardan veritaban için OpenDatabase tan , kay t kümesi için de Open Recordset
tan yap lmal r. OpenRecordset tan nda kullan lan "snapshot" dosya aç ld nda aktif
olan kayd n bir kopyas al r. Bu örnekte tek kay tl k bir veritaban kullan lacak ve o bilgi
görüntülenecektir.
Tüm kay tlar n görüntülenmesi i lemi bir döngü ile aktif kay t ilerletilerek yap lmal r.
Visual Basic Program 'na Access veritaban ndan veri aktar gerçekle tirmek için öncelikle
bir veri taban haz rlamam z gereklidir.
Access Veri taban haz rlama i lemleri:
1. Access'de "c:\MyDocuments" dizini alt na "ornek.mdb" dosyas aç z.
2. Tables/New/Design seçenekleri ile tablo tasar penceresini aktif hale getiriniz.
3. "Field Name" kolonuna "Yazi" yaz z.
4. "Data Type" kolonunda "Text" seçiniz.
5. Tabloyu kapat z ve saklama penceresi geldi inde tabloyu "tblornek" ad ile saklay z.
6. Ana anahtar seçimi için "No" yan tlay z.
7. Tablonuzu "Open" ile aç z. lk sat ra "Veri Aktar m Denemesi" yaz z.
8. Access'den ç z.
Visual Basic'de ise a daki i lemleri gerçekle tiriniz:
1. Yeni bir proje aç z. Projeyi "ornek" olarak yine "c:\MyDocuments" dizinine
saklay z.
2. Form_Load Prosedürü'ne eklenecek kod:
Dim Db as Database
Dim Rs as Recordset
3. Formun üzerine bir etiket ve 2 komut dü mesi yerle tiriniz.
4. Etiket özellikleri:
Caption = (Bo olacak)
Name = Label1 (Ayn kalacak)
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
20
BorderStyle = 1
Appearance = 0
5. Birinci komut dü mesi özellikleri:
Caption = Veri Al
Name = Command1 (Ayn kalabilir)
6. kinci komut dü mesi özellikleri:
Caption = Cikis
Name = Command2 (Ayn kalabilir)
7. Birinci komut dü mesi Click_Prosedürü
Set Db = OpenDatabase("c:\MyDocuments\ornek.mdb")
Set Rs = Db.OpenRecordset("tblornek",dbopensnapshot)
Label1.Caption = Rs!Yazi
8. kinci komut dü mesi Click_Prosedürü:
End
9. Project/References menü seçene inden sonra liste üzerinde "Microsoft DAO 3.51
Object Library" seçene ini i aretleyiniz.
10. Program saklay z.
Program çal rd ktan sonra "Veri Al" dü mesine bast zda ekil-9'daki görüntü
olu acakt r.
ekil-9 Veri Taban ndan Veri Aktar m Örne i
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
21
VER TABANINDA ARAMA YAPMA ÖRNE
Bir kay t bilgisinin veri taban nda olup olmad belirlemek için arama i lemi yapman z
gerekmektedir. Bu i lem için öncelikle aranacak bilginin bir yaz kutusu ile kullan dan
al nmas daha sonra da veri taban nda arama yap lmas gerekmektedir. Bilginin bulunup
bulunmad bilgisi yine yaz kutusu ile kullan ya verilebilir.
Arama için yapaca z i lemler a daki gibidir:
1. "ornek.mdb" veritaban na "deneme" ve "veri aktarim" olmak üzere iki adet kay t daha
giriniz.
2. "ornek.frm" üzerine bir yaz kutusu ekleyiniz, "Text" özelli i bo olsun.
3. "ornek.frm" üzerine bir komut dü mesi ekleyiniz, "Caption" özelli i ara olsun. Bu
komuta a dak prosedürü ekleyiniz.
Private Sub Command3_Click()
Set Db = OpenDatabase("c:\bg\telif\vb\ornek.mdb")
Set Rs = Db.OpenRecordset("tblornek", dbOpenSnapshot)
Do While Not Rs.EOF
If Text1.Text = Rs!Yazi Then
Text1.Text = "Bulundu"
Else:
Rs.MoveNext
End If
Loop
If Text1.Text <> "Bulundu" Then Text1.Text = "Bulunamadi"
End Sub
4. Program çal rd ktan sonra yaz kutusuna "Deneme" girip "Ara" dü mesini
klarsan z yaz kutusu üzerine "Bulundu" yaz görüntülenecektir. E er "Ornek" girip
yine "Ara" dü mesini t klarsan z bu kez de "Bulunamad " yaz görüntülenecektir.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
22
VER RAPORU YARATMA
Veri raporu yaratma i lemi için öncelikle veri alan tan mlamalar yap lmal r.
Veri Ba lant Tan mlamalar1. Project/Add Data Environment (Project/Components/Designers/Data Environment ya da
Project/More Activex Designers/Data Environment) t klan r.2. Aç lan "Data Environment" penceresindeki "Connection1" üzerinde farenin sa tu u
klanarak "Properties" seçilir.3. "Data Link Properties" diyalog kutusu üzerinde "Microsoft Jet 3.51 OLE DB Provider"
klan r.4. "Next" dü mesi t klanarak "Connection" k sm na geçilir.5. "Use data source name" yaz kutusu yan ndaki (…) dü mesi t klanarak Access veri taban
seçildikten sonra kullanaca z veri taban seçilir.6. "Test connection" t klanarak veri taban na eri im yap p yap lamad denetlenir.
Veri Taban Tan mlamalar1. "Connection1" üzerinde farenin sa tu u t klanarak "Add Command" seçilir.2. Eklenen "Command1" üzerinde sa tu t klanarak "Properties" seçilir. Aç lan pencerenin
"General" k sm nda "Command Name" ile bir isim atan r, "Connection" ile istenilenba lant seçilir (birden fazla ba lant oldu u durumlarda kullan lmal r), "DatabaseObject" ile verinin tablo oldu u belirtilir, "Object Name" üzerinden tablo ismi seçilir.(Hastane veri taban üzerinde kimlik tablosu gibi)
3. er bu veri taban na ili kili bir veri taban var ise bu "Add Child Command" ilegerçekle tirilir. Di eri gibi isim ve tablo ismi tan mlamalar yap ld ktan sonra "Relation"ile ili ki tan yap r. (Hastane veri taban üzerinde vizite tablosu, kimlik-hastakod ilevizite-hastakod ili kisi gibi)
Veri Raporu Yaratma1. Project/Add Data Report seçilir. Ekrana "Access" benzeri bir rapor ortam gelir.2. "Properties" penceresi üzerinde "Data source" için önceden tan mlanan "Data
Environment", "Data Member" için ise tan mlanan veri taban girilir. stenirse raporunismi de tirilebilir.
3. "Data Report" penceresi üzerinde farenin sa tu u t klanarak "Retrieve Structure" seçilir.Bu i lem otomatik olarak veri alanlar tan mlar.
4. Daha sonra "Data Environment" penceresi üzerinden alanlar "Data Report" üzerineklan p sürüklenerek eklenir ve istenilen biçimde yerle tirilir.
Yarat lan veri raporlar bir komut dü mesine eklenecek rapor_ismi.show ile ça labilir.Gösterilen rapor üzerinde yazd rma dü mesi bulundu u için ayr ca yazd rma komutueklemeye gerek yoktur.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
23
HASTANE VER TABANI UYGULAMASI
HASTANE VER TABANIVeri taban üzerinde Data1 (hastane-kimlik) ve Data2 (hastane-vizite) nesneleri "visible.false"olarak bulunmaktad r.
(General Declaration)Public son1 As IntegerDim son2 As IntegerPublic sayi As Integer
Sub ilkform()cmdileri.Visible = Truecmdgeri.Visible = Truecmdbas.Visible = Truecmdson.Visible = Truecmdekle.Visible = Truecmdrapor.Visible = Truecmdguncelle.Visible = Truecmdbul.Visible = Truecmdcikis.Visible = Truecmdiptal.Visible = FalseEnd Sub
Public Sub goster()txtad.Text = Data1.Recordset("ad")txtsoyad.Text = Data1.Recordset("soyad")txthastakod.Text = Data1.Recordset("hastakod")Data2.Recordset.MoveFirstliste(0).Clearliste(1).Clear
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
24
liste(2).Clearendx = 0Do While endx = 0 Do While Not Data2.Recordset.EOF If Data1.Recordset("hastakod") <> Data2.Recordset("hastakod") Then Data2.Recordset.MoveNext Else endx = 1 varx = Data2.Recordset("hastakod") vary = Data2.Recordset("hastakod") Do While varx <> 0 Do While vary = varx liste(0).AddItem (Data2.Recordset("protokolno")) liste(1).AddItem (Data2.Recordset("tarih")) liste(2).AddItem (Data2.Recordset("tani")) Data2.Recordset.MoveNext If Data2.Recordset.EOF = True Then varx = 0 vary = 1 Else vary = Data2.Recordset("hastakod") End If Loop varx = 0 Loop End If LoopLoopEnd Sub
Sub ekledugkaldir()cmdileri.Visible = Falsecmdgeri.Visible = Falsecmdbas.Visible = Falsecmdson.Visible = Falsecmdekle.Visible = Falsecmdrapor.Visible = Falsecmdguncelle.Visible = Falsecmdbul.Visible = Falsecmdcikis.Visible = Falsecmdiptal.Visible = TrueEnd Sub
Private Sub bul_Click()Data1.Recordset.MoveFirstsayi = 1endx = 0Do While endx = 0 If Data1.Recordset("hastakod") <> bul.Text Then
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
25
Data1.Recordset.MoveNext sayi = sayi + 1 Else endx = 1 goster End IfLoopEnd Sub
Private Sub cmdbas_Click()Data1.Recordset.MoveFirstgostersayi = 1End Sub
Private Sub cmdbul_Click()soyadx = txtsoyad.Textbulx = 0bul.ClearData1.Recordset.MoveFirstDo While Not Data1.Recordset.EOF If Data1.Recordset("soyad") = soyadx Then bul.AddItem (Data1.Recordset("hastakod")) Data1.Recordset.MoveNext bulx = 1 Else Data1.Recordset.MoveNext End IfLoopIf bulx = 0 ThenMsgBox ("bulamadim.")Else bul.Text = bul.List(0) bul.Visible = True txtbul.Visible = True txtbul.Text = "soyad =" + soyadxEnd IfEnd Sub
Private Sub cmdcikis_Click()EndEnd Sub
Private Sub cmddegtamam_Click()Data1.Recordset.EditData1.Recordset("Ad") = txtad.TextData1.Recordset("Soyad") = txtsoyad.TextData1.Recordset.UpdateData1.Refreshcmddegtamam.Visible = False
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
26
Data1.Recordset.Move (sayi - 1)ilkformgosterEnd Sub
Public Sub cmdekle_Click()Ekle.ShowHastane.Hideson1 = son1End Sub
Private Sub cmdgeri_Click()If sayi <> 1 Then Data1.Recordset.MovePrevious goster sayi = sayi - 1Else MsgBox ("Kayit basina gelindi!")End IfEnd Sub
Private Sub cmdguncelle_Click()ekledugkaldircmddegtamam.Visible = TrueEnd Sub
Private Sub cmdileri_Click()If sayi <> son1 Then Data1.Recordset.MoveNext goster sayi = sayi + 1Else MsgBox ("Kayit sonuna gelindi!")End IfEnd Sub
Private Sub cmdiptal_Click()gostercmdekletamam.Visible = Falsecmddegtamam.Visible = FalseilkformgosterEnd Sub
Private Sub cmdrapor_Click()DataReport1.ShowEnd Sub
Private Sub cmdson_Click()Data1.Recordset.MoveLast
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
27
gostersayi = son1End Sub
Private Sub Form_Load()Data1.RefreshData2.RefreshData1.Recordset.MoveLastson1 = Data1.Recordset.RecordCountData2.Recordset.MoveLastson2 = Data1.Recordset.RecordCountData1.Recordset.MoveFirstsayi = 1gosterEnd Sub
EKLE FORMU
Public Sub cmdekletamam_Click()Hastane.Data1.Recordset.AddNewHastane.Data1.Recordset("Ad") = txtad.TextHastane.Data1.Recordset("Soyad") = txtsoyad.TextHastane.son1 = Hastane.son1 + 1Hastane.Data1.Recordset("Hastakod") = Hastane.son1Hastane.Data2.Recordset.AddNewHastane.Data2.Recordset("Hastakod") = Hastane.son1Hastane.Data2.Recordset("protokolno") = txtprot.TextHastane.Data2.Recordset("tarih") = txttarih.TextHastane.Data2.Recordset("tani") = txttani.TextHastane.Data1.Recordset.UpdateHastane.Data2.Recordset.Update
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
28
Hastane.Data1.RefreshHastane.Data2.RefreshHastane.gosterHastane.sayi = 1Hastane.ShowEkle.HideEnd Sub
Private Sub cmdiptal_Click()Hastane.ShowEkle.HideEnd Sub
Private Sub Form_Load()txtad.Text = ""txtsoyad.Text = ""txtprot.Text = ""txttani.Text = ""txttarih.Text = ""End Sub
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
29
Visual Basic Editörü
Bilgisayar programlar geli tirmek için kulland z araçlara editörderiz.Visual Basic için kulland z editör sadece visual basic içintasarlanm r ve 4 versiyondan olu ur. Bunlar;
Learning Edition
Standart Edition
Professional Edition
Enterprise Edition
Bu editörlerin kullan m aç ndan hiç bir fark yoktur. Farkl klar ise içerdikleriprogramlama modülleri, araçlar ve nesnelerden ibarettir.
Visual Basic editörünü çal rmak için Ba lat->Programlar->Microsoft VisualStudio->Microsoft Visual Basic menülerini kullanabilirsiniz veya daha öncedenkaydetmi oldu unuz Visual Basic Proje dosyalar na çift t klama yolunukullanabilirsiniz. E er proje dosyas kullanarak Visual Basic editörünüçal rsan z direk olarak seçti iniz proje aç lacakt r. Ba lat menüsü ile VisualBasic editörünü çal san z kar za yeni proje türünü seçmenizi, en sonçal lan projelerden birini açman veya daha önce çal z projedosyas n yerini göstermenizi amaçlayan bir diyalog kar za gelecektir(Resim 1.1).
Resim 1.1 Visual Basic ba lang ç diyalog penceresi.
Bu ders kapsam nda görece iniz konular uygularken Standart EXE türündekiproje türünü seçebilirsiniz. Standart EXE proje türünü seçtikten sonra "Aç"dü mesine t klad zda yeni bir projeyi Visual Basic editörü sizin içinhaz rlar(Resim 1.2).
Resim 1.2 Visual Basic editörü.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
30
Visual Basic projelerini geli tirken en çok kullan lan editör araçlar Resim1.2'de gösrterilen Toolbox, Project Manager, Properties Window, FormPenceresi dir.
ToolBox : Form Penceresi üstüne yerle tirece imiz nesneleri eklemek içinkullan lan araç çubu udur. Form üstüne bir nesne eklemek için üstündekisimgelerden istenilen nesnenin simgesine t klan p form üstüne resim çizilir gibieklenir.
Project Manager : Üstünde çal lan projenin form, modül vb. temelnesneleri aras nda geçi yapmak, projeye yeni form, modül vb.nesnelerieklemek ve projeye eklenmi olan form, modül vb. nesneleri projeden
karmak için kullan lan proje yönetim penceresidir.
Properties Window : Proje içindeki nesnelere ait özelliklerin görüntülendi i vede erlerinin de tirilmesi için kullan lan penceredir. Kullan mda özellikleride tirilecek nesne(ler) seçildikten sonra de iklik Properties Windowiçindeki iki sütunlu tablonun sa sütunundaki de er de tirilir.
Form Penceresi : Proje dahilinde istenilen say da form kullan labilir. Projedo rultusunda geli tirilen program n arayüzlerini olu turdu umuz tasar mlarolu turdu umuz bölümdür.
Editör ile çal rken kullan lmayan pencere ve araç çubuklar saklamak içinveya kullan lacak pencere veya araç çubu u sakl ise tekrar görünür halegetirmek için View menüsünü kullanal r.(Resim 1.3 )
Resim 1.4 View Menüsü
Nesne
Programlar haz rlan rken kullan arayüzünde kullan ile program n ileti imegeçmesini sa layan veya bir amaç do rultusunda haz rlanm programlamaaraçlar r. Örne in Label nesnesi program n arayüzüne yerle tirilen vekullan taraf ndan de tirilemeyen metinleri kullan ya sunmay amaçlayan
görsel bir nesneyken, Timer nesnesi kullan n göremeyece i fakatbelirtilen zaman aral klar nda istenilen görevleri yerine getiren bir nesnedir.
Nesnelerin Özellikleri : Bir program geli tirirken veri giri ini, sunumlar veözel uygulamalar nesneleri kullanarak gerçekle tiririz. Bir nesneyi kullanmak onesnenin özelliklerini amaçlar do rultusunda de tirebilmek ve olaylar iak sa layacak ekilde kullanmak anlam ndad r. Bir nesnenin yatay vedü ey konumu, ad , görünürlü ü ve eri elebilirli i bir nesnenin temelözellikleridir. Nesnelere ait özellikler de tirilirken a daki ifade kullan r :
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
31
Nesnenin ad = Label1
Nesnenin özelli i = Caption
Nesnenin özelli inin yeni de eri = "Visual Basic" ise
Label1.Caption = "Visual Basic"
Komut sat Label1 nesnesinin Caption özelli ini "Visual Basic" olarakde tirecektir. Nesnelerin bir çok özelli i çal ma an nda (Run Time)de tirilebilirken ad (Name) özelli i gibi baz özellikleri sadece tasar man nda (Design Time) de tirilebilir.
Nesnelere Ait Olaylar : Bir nesneye kullan n müdahalesi veya sisteminmüdahalesi an nda nesnenin program yönlendirmesi için haz rlanm altprogramlar (Sub Routine) olay olarak adland r. Örne in bir bilgi giri iekran nda bütün bilgileri girdikten sonra "Kaydet" dü mesine mouse ile
kland nda "Kaydet" dü mesinin (Caption özelli i "Kaydet" olan dü meninismi Command1 varsay lm r.) Private Sub Command_Click olay çal r veprogramc program n "Kaydet" dü mesine t klan ld nda yapmas gerekenleribu alt programa kodlar. A daki örne i inceleyiniz.
Private Sub Command1_Click()
Label1.Caption = Text1.Text
End Sub
Yukar daki program n aç klamas : Program n ekran nda ad yani Nameözelli i Label1 olan bir Label, ad Text1 olan bir TextBox ve ad Command1olan bir CommandButton bulunmaktad r. Command1 dü mesine
klan ld nda Label1'in içeri ini (Ekranda görünen statik metni) Text1'in içeri i(Kullan n Text1'e yazd metin) yap.
Temel Visual Basic Nesneleri
Label Nesnesi : Label nesnesi ekranda yani kullan arayüzündekullan n de tiremeyece i sabit metinleri kullan ya sunar. Labelnesnesinin en çok kullan lan özellikleri;
Name : Her nesnenin oldu u gibi Label nesnesinin de Name özelli i vard r. Birnesnenin Name özelli i nesnenin program n içindeki ad r. Bu özellik sadecetasar m an nda de tirilebilir.
Caption : Label nesnesinin ekranda görünen metnini içeren özelli idir. Captionözelli i de ti inde ekrandaki metinde ayn anda de ecektir. Name özelli iile Caption özelli i kar lmamal rlar.
Label nesnesine ait olaylar;
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
32
Click : Kullan mouse ile nesnesinin üstüne t klad nda olu an bir olayd r.Herhangi bir parametresi yoktur.
DblClik : Kullan mouse ile nesnesinin üstüne çift t klad nda olu an birolayd r. Herhangi bir parametresi yoktur.
MouseMove : Kullan mouse imlecini nesnenin üstünde hareket ettirdi izaman olu an olayd r. Parametreleri;
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, XAs Single, Y As Single)
End Sub
Button : Integer veri tipinde bir parametredir ve mouse'un hangi tu unabas ld gösterir. Parametrenin de erlerine göre ifade ettikleri;
Button Parametresinin de eriBas olan dü me0Hiçbiri1Sol
2Sa3Sol ve Sa
Shift : Integer veri tipinde bir parametredir ve klavyenin hangi fonksiyontu una bas ld gösterir. Parametrenin de erlerine göre ifade ettikleri;
Shift Parametresinin de eri
Bas olan tu
0Hiçbiri1Shift2Ctrl4Alt
3Shift+Ctrl5Shift+Alt6Ctrl+Alt7
Shift+Ctrl+Alt
X ve Y : Single veri tipindeki parametrelerdir ve mouse'un ekranüstündeki koordinatlar verirler.
MouseDown : Kullan nesnenin üstündeyken mouse'un bir tu una bastzaman olu ur. Parametreleri MouseMove olay n parametreleri ile ayn r veayn ekilde çal rlar.
MouseUp : Kullan nesnenin üstündeyken mouse'un bas tu unu serbestrakt zaman olu ur. Parametreleri MouseMove olay n parametreleri ile
ayn r ve ayn ekilde çal rlar.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
33
TextBox Nesnesi : TextBox nesnesi kullan arayüzünde kullan nde tirebice i dinamik metinleri kullan ya sunar ve düzenlemesini bekler.TextBox nesnesinin en çok kullan lan özellikleri;
Name : Bir nesnenin Name özelli i nesnenin program n içindeki ad r. Buözellik sadece tasar m an nda de tirilebilir.
Text : TextBox nesnesinin ekranda görünen metnini içeren özelli idir. Textözelli i de ti inde ekrandaki metinde ayn anda de ecektir veya kullanmetni düzenledi inde Text özelli inin de eri de ecektir. Name özelli i ileText özelli i kar lmamal rlar.
MaxLenght : Bu özellik ile TextBox nesnesinin içerece i metnin maksimumuzunlu udur. Örne in Bir ifre alan na kullan 8 haneden fazla karaktergirmesini engellemek istersek maxlenght özelli ini 8'e e itleyebiliriz. Girilecekmetni s rland rmamak için de maklenght özelli ini 0'ra e ilenir.
PassChar : Kullan n yazd karakterlerin yerini alan karakteri içerir.Örne in bir programa girilirken kullan ad ve parola sorulur ve kullan adgirilirken kullan girdi i kullan ad birebir görebilirken, parolay girerkenparolan n her karakteri için "*" karakterini görür. Bu örnekte parolan n girildi itextbox nesnesinin PassChar özelli i "*" içerir. Bu sayede üçüncü ah slargirilen parolalar göremezler.
Locked : Kullan n ekrandaki metinleri belirli i lemler süreci içindede tirmesi engellenmesi için kullan lan özelliktir. Locked özelli inin de eriTrue ise kulan metni düzenleyemez ancak False ise düzenleyebilir.
MultiLine : Metnin TextBox içinde birden fazla sat rda görüntülenmesineolanak verir.
ScrollBars : MultiLine özelli i True yap ld nda görüntülenmek istenenkayd rma çubuklar göstermenize veya saklaman za olanak tan r.
TextBox nesnesine ait olaylar;
Click : Kullan mouse ile nesnesinin üstüne t klad nda olu an bir olayd r.Herhangi bir parametresi yoktur.
DblClik : Kullan mouse ile nesnesinin üstüne çift t klad nda olu an birolayd r. Herhangi bir parametresi yoktur.
Change : Kullan TextBox' n içindeki metni düzenledi i an olu ur. Herhangibir parametresi yoktur.
MouseMove : Bak z Label nesnesi MouseMove Olay .
KeyPress : Kullan dan veya sistemeden programa bir karakter gitti i zamanolu an olayd r. Parametreleri;
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
34
Private Sub Text1_KeyPress(KeyAscii As Integer)
End Sub
KeyAscii : Sistemden veya klavyeden programa gönderilen karakterinAscii tablosundaki numaras r.
KeyDown : Odak nesnenin üstündeyken kullan n klavye'nin bir tu unabast zaman olu ur. Parametreleri;
KeyCode : Klavye üstünde kullan lan tu un sistemde ili kilendirildi inumaras r.
Shift : Integer veri tipinde bir parametredir ve klavyenin hangi fonksiyontu una bas ld gösterir. Parametrenin de erlerine göre ifade ettikleri;
Shift Parametresinin de eri
Bas olan tu
0Hiçbiri1Shift2Ctrl4Alt3Shift+Ctrl5Shift+Alt6Ctrl+Alt7Shift+Ctrl+Alt
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
35
KeyUp : Odak nesnenin üstündeyken kullan n klavyede bast tu tanparma kald rd an olu ur. Parametreleri KeyDown olay n parametreleriile ayn r ve ayn ekilde çal rlar.
CommandButton : Kullan arayüzünde gerekli veriler girildikten sonrabir i lemi ba latmak için kullan lan nesnedir. CommandButton nesnesinin ençok kullan lan özellikleri;
Name : Bir nesnenin Name özelli i nesnenin program n içindeki ad r. Buözellik sadece tasar m an nda de tirilebilir.
Caption : Command nesnesinin ekranda görünen metnini içeren özelli idir.Name özelli i ile Caption özelli i kar lmamal rlar.
Default : Bir diyalog penceresinde bulunan onay tu unun Default özelli ineTrue de erini atarsak, diyalog penceresini kullanan kullanac pencere üstündeherhangi bir yerde {ENTER} tu una basarsa onay tu una basm say r. BirForm üstünde sadece bir CommandButton nesnesinin Default özelli i Truede erini alabilir.
Cancel : Bir diyalog penceresinde bulunan iptal tu unun Cancel özelli ineTrue de erini atarsak, diyalog penceresini kullanan kullanac pencere üstündeherhangi bir yerde {ESC} tu una basarsa iptal tu una basm say r. Bir Formüstünde sadece bir CommandButton nesnesinin Cancel özelli i True de erinialabilir.
CommandButton nesnesine ait olaylar;
Click : Kullan mouse ile nesnesinin üstüne t klad nda olu an bir olayd r.Herhangi bir parametresi yoktur.
Private Sub Command1_Click()
End Sub
Not :Di er Visual Basic nesneleri ileride aç klanacaklard r.
ListBox : Arayüz içinde basit anlamda (tek sütun) listeleri görüntülemektekullan lan nesnelerdir. ListBox nesnesi içindeki liste elemanlar ekrana s mayacakkadar fazlaysa ListBox nesnesinin sa taraf nda dü ey bir kayd rma çubu u belirir vebu sayede listenin bütün elemanlar görüntülenebilir. Kullan ListBox nesnesindekibir eleman seçebilece i gibi duruma göre birden fazla eleman seçmesi deistenebirilir. ListBox nesnesinin en önemli metodlar ve özellikleri a dalistelenmi tir. Ayr ca liste elemanlar n görünmeyen bir de erleri vard r. Görünende er bir String de erdir fakat görünmeyen de er bir Long de erdir.
Özellikleri
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
36
ListIndex : Tek seçimli modda seçili olan liste eleman n, çoklu seçim modunda enson seçilen liste eleman n index numaras saklar. Türü Integer'd r. 1. Listeeleman n ListIndex de eri 0'd r. n. eleman n ListIndex de eri n-1 dir.
ListCount : Liste elemanlar n say verir. Türü Integer'd r.
Text : Seçili Liste eleman n görünen liste de erini verir ve de tirir. Türü String'dir.
ItemData([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n görünmeyende erini verir ve de tirir. Türü Long'dur.
Selected([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n seçli olupolmad belirtir ve atar. Türü Boolean'd r.
Sorted : Liste elemanlar n görünen de erlerine göre s ralan p s ralanmayacabelirtildi i özelliktir. Türü Boolean'd r.
List([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n görünen de erini verirve de tirir.
MultiSelect : Kullan n liste içinde birden fazla kay t seçip seçemeyece inibelirtildi i özelliktir. Türü Integer'd r.
Metodlar
Clear : Liste içindeki bütün elemanlar silen metoddur.
ListBox1.Clear
AddItem [Görünen De er] : Görünen de eri parametre olarak alan bu metod ilelisteye eleman eklenir.
ListBox1.AddItem "Visual Basic"
Refresh : Listenin ekran görüntüsünü güncelleyen metoddur.
ListBox1.Refresh
RemoveItem([ListIndex]) : ListIndex ile belirtilen liste eleman listeden siler.
ListBox1.Remove(0)
ComboBox : Arayüz içinde basit anlamda (tek sütun) listeleri tek sat rda(sadece seçili liste eleman ) görüntülemekte kullan lan nesnelerdir. ComboBoxnesnesi içindeki liste elemanlar birden fazlaysa ComboBox nesnesinin sataraf ndaki dü ey ok tü üna bas nca sa taraf nda duruma göre kayd rma çubu uolan bir liste belirir ve bu sayede listenin bütün elemanlargörüntülenebilir. ComboBox nesnesinin en önemli metodlar ve özellikleri a da
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
37
listelenmi tir. Ayr ca liste elemanlar n görünmeyen bir de erleri vard r. Görünende er bir String de erdir fakat görünmeyen de er bir Long de erdir.
Özellikleri
ListIndex : Tek seçimli modda seçili olan liste eleman n, çoklu seçim modunda enson seçilen liste eleman n index numaras saklar. Türü Integer'd r. 1. Listeeleman n ListIndex de eri 0'd r. n. eleman n ListIndex de eri n-1 dir.
ListCount : Liste elemanlar n say verir. Türü Integer'd r.
Text : Seçili Liste eleman n görünen liste de erini verir ve de tirir. Türü String'dir.
ItemData([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n görünmeyende erini verir ve de tirir. Türü Long'dur.
Selected([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n seçli olupolmad belirtir ve atar. Türü Boolean'd r.
Sorted : Liste elemanlar n görünen de erlerine göre s ralan p s ralanmayacabelirtildi i özelliktir. Türü Boolean'd r.
List([ListIndex]) : ListIndex de eri ile belirtilen liste eleman n görünen de erini verirve de tirir.
Style : ComboBox' n ekran üstündeki görünümünü ve kullan de tirir. Sadecetasar m an nda de tirilebilir.
Metodlar
Clear : Liste içindeki bütün elemanlar silen metoddur.
ComboBox1.Clear
AddItem [Görünen De er] : Görünen de eri parametre olarak alan bu metod ilelisteye eleman eklenir.
ComboBox1.AddItem "Visual Basic"
Refresh : Listenin ekran görüntüsünü güncelleyen metoddur.
ComboBox1.Refresh
RemoveItem([ListIndex]) : ListIndex ile belirtilen liste eleman listeden siler.
ComboBox1.Remove(0)
Horizantal ve Vertical ScrollBar : Arayüz içine s mayan bilgilerin veyalistelelerin görünmeyen yerlerinde dola mak için kullan lan nesnelerdir. Bu
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
38
nesnelerin tek yapt klar arayüzde minimum ve maximum de eri belli olan kayd rmaçubuklar n tutamaçlar n kullan taraf ndan yerleri kullan taraf ndande tirilmesi durumunda olu acak olayla programc kendi bilgilerini birle tirir veekran üstünde bütün bilgileri kademeli olarak kullan ya aktarabilir. Buna örnekolarak bir harita üstünde kullan dola rmak verilebilir. Bu nesnelerin en önemliözellikleri ve olaylar a da aç klanm r.
Özellikleri
Value : Kayd rma çubu u tutamac n mevcut konumunu belirtir. Türü Integer'd r.
Min : Kayd rma çubu u tutamac n en solda veya en altta oldu u zaman aldValue de eridir. Türü Integer'd r.
Max : Kayd rma çubu u tutamac n en sa da veya en üstta oldu u zaman aldValue de eridir. Türü Integer'd r.
Olaylar
Change Olay : Kayd rma tutamac n konumunun de mesiyle olurur.
Scroll Olay : Kayd rma tutamac n konumunun fare ile sürüklenerek de tirilmesiras nda olu ur.
CheckBox : Kullan dan bir onay al nmas gerekti inde veya bir bilginin olupolmad nda (Do ru/Yanl ) kullan ya bilgi vermek için veya kullan dan bilgialmak amac yla kullan lan nesnedir. CheckBox'a ait önemli özellikler ve olaylar
da aç klanm r.
Özellikleri
Caption : CheckBox' n yan ndaki metni içeren özelliktir.
Value : CheckBox' n seçili olma durumunu gösteren ve de tiren özelliktir. TürüInteger'd r.
Olaylar
Click Olay : Kullan taraf ndan CheckBox nesnesinin seçilme durumununde tirilmesiyle gerçekle ir.
RadioButton : Kullan dan birden çok seçenek içinden sadece birini seçmesiistenildi inde kullan lan nesnedir. Bir form içinde gruplanmam olan RadioButton'lariçinden sadece bir tanesi seçilebilir. RadioButton'a ait önemli özellikler ve olaylar
da aç klanm r.
Özellikleri
Caption : RadioButton' n yan ndaki metni içeren özelliktir.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
39
Value : RadioButton' n seçili olma durumunu gösteren ve de tiren özelliktir. TürüBoolean'd r.
Olaylar
Click Olay : Kullan taraf ndan RadioButton nesnesinin seçilme durumununde tirilmesiyle gerçekle ir.
Visual Basic Nesnelerinin Ortak Özellikleri
Görsel Özellikler : Nesnenin görselli i ile ilgili özelliklerdir.
Alignment : Nesne içindeki metnin yatay hizalama eklini içerir.
BackColor : Nesnenin arkaplan rengini içerir.
Enabled : Nesnenin eri ilebilirli ini belirleyen özelliktir.
Font : Nesne üstündeki metnin yaz biçimini yap and ran özelliktir.
MousePointer : Mouse'un ekran üstündeki eklini belirler. öncedentan mlanm ekillerin yan ra 99-Custom özelli i ile istenilen cursoreklini elde edebilirsiniz.
MouseIcon : Mouse'un ekran üstündeki özel (Custom) eklini içerenözelliktir.
TabStop : Kullan Tab tu unu kulland nda oda n nesne üstündedurup durmayaca belirler.
TabIndex : Nesnenin Tab s ras kontrol eder.
Tag : Gerekti inde kullan lmas amac yla programc için aç klama yeri.
ToolTipText : Nesnenin aç klamas kullan ya göstermek amac ilekullan lan TollTip'lerin yaz ld özelliktir.
Di er Özellikler :
Index : Nesnenin nesne dizileri içindeki numaras r.
De kenler
De kenler içlerinde veri saklayan programlama arçlar r. Bir programgeli tirirken programc iki türlü veri kullan r bunlar karakter dizileri ve say salverilerdir. Bu da bir programlama dilinde verileri depolayan araçlar ikiyeay rmay zorunlu k lm r. Di er programlama dillerinde oldu u gibi VisualBasic'te de veri depolayan araçlar yani de kenler ikiye ayr rlar. Bunlar :Karakter dizileri ve say sal de kenlerdir. De kenlerle ilgili daha ayr nt bilgiiçin a daki tabloyu inceleyiniz.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
40
Karakter Dizileri
StringKarakter Dizisi n Byte
Say sal De kenler
Byte0-255 aras tam say1 ByteInteger
sa tam say2 ByteLongUzun tam say4 ByteSingle
sa rasyonel say4 ByteDoubleUzun rasyonel say8 ByteCurrency19 haneli rasyonel say8 Byte
Di er
BooleanTrue/False mant ksal tip1 ByteVariantHer türlü veriyi depolayan de ken tipi8 Byte
De ken Tan mlama
Visual Basic'te herhangi bir olay veya alt programda geçerli olacak bir de kenitan mlamaya gerek yoktur. Kullan lan de ken olay veya alt program çal mayaba lad nda otomatik olarak Visual Basic taraf ndan tan mlan r. Bu yöntem ileprogram geli tirmek kolay olmas n yan ra büyük uygulamalarda yetersizkalmaktad r. Bu yöntemin bir dezavantaj ise kod yaz s ras nda programc nyapaca de kenlere ba yaz m (syntax) hatalar derleyicinin farkedememesidir.Visual Basic Code Window içindeyken en üste Option Explicit yaz ld nda Visual
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
41
Basic derleyicisi kullan lan bütün de kenlerin tan mlanmas art k lar. VisualBasic'te üç türlü de ken tan mlama yöntemi vard r bunlar;
Dim : Kullan ld ortamda geçerlili ini sürdüren de kenler tan mlamak içinkullan r. De kenler Dim ile bir olay n içinde tan mland nda sadece o olay içindegeçerli olurlar. Formun veya Modülün General Declarations bölümünde tan mlanande kenler tan mland klar form veya modülün içindeki bütün olay, alt program vefonksiyonlarda geçerli olurlar. A daki örnekte x de keni Dim deyimi iletan mlanan bir Integer'd r. Kullan Command1 isimli dü meye bast nda do ar,sadece Command1_Click() olay içinde geçerlidir ve olay bitti inde ölür.
Private Sub Command1_Click()
Dim x as Integer
x=3
End Sub
Static : Kullan ld ortamda geçerlili ini sürdüren ve alt program n içinde oldu u formveya modül bellekten silinene kadar ya am sürdüren de kenler tan mlamak içinkullan r. A daki örnekte x de keni Static deyimi ile tan mlanan bir Integer'd r.Kullan Command1 isimli dü meye ilk bas nda do ar, olay bitti inde uyur veiçindeki de eri saklar, sadece Command1_Click() olay içinde geçerlidir veCommand1 isimli CommandButton' n üstünde oldu u form bellekten silindi indeölür. A daki örnekte dü meye üç kez bas ld nda Label1 nesnesi ekranda 9gösterecektir.
Private Sub Command1_Click()
Static x as Integer
x=x+3
Label1.Caption=x
End Sub
Redim : Esnek boyutlu dizi de kenler tan mlamak veya tan mlanm bir dizide kenin boyutlar de tirmek için kullan r. Ayr nt bilgi sonraki bölümlerdeverilecektir.
Global : Sadece Modüllerin General Declarations bölümünde kullan labilir. Projeninheryerinde geçerli olan, program çal nda do an ve program bellekten silindi indeölen de kenler tan mlamak için kullan r.
Not: Global tan mlanm x de keniniz varsa ve herhangi bir olay n, alt program nveya fonksiyonun içinde de bir x de keni tan mlarsan z. O olay n, alt program n vefonksiyonun içinden global olan x de kenine eri emezsiniz.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
42
De ken dönü üm fonksiyonlar
CStr() : Herhangi bir veri tipini String veri tipine dönü türmek için kullan r.
CByte() : Herhangi bir veri tipini Byte veri tipine dönü türmek için kullan r.
CInt() : Herhangi bir veri tipini Integer veri tipine dönü türmek için kullan r.
CLng() : Herhangi bir veri tipini Long veri tipine dönü türmek için kullan r.
CSng() : Herhangi bir veri tipini Single veri tipine dönü türmek için kullan r.
CDbl() : Herhangi bir veri tipini Double veri tipine dönü türmek için kullan r.
Str() : Herhangi bir say veri tipini String veri tipine dönü türmek için kullan r.
Int() : Herhangi bir say veri tipini tam say ya dönü türmek için kullan r.
Val() : Herhangi bir String veri tipini say ya dönü türmek için kullan r.
String leme Fonksiyonlar
Trim() : Bir String ifadenin ba nda ve sonunda bulunan bo luklar siler.
LTrim() : Bir String ifadenin ba nda bulunan bo luklar siler.
RTrim() : Bir String ifadenin sonunda bulunan bo luklar siler.
Mid(String,start,lenght) : Bir String ifadenin bir bölümünü kesmek için kullan r.Örne in Mid("ABCDEF",3,2)="CD"
Right(String,Lenght) : Bir String ifadenin sondan istenilen say da karakterininkesilmesi anlam na gelir. Örne in Right("ABCDEF",3)="DEF"
Left(String,Lenght) : Bir String ifadenin ba tan istenilen say da karakterinin kesilmesianlam na gelir. Örne in Left("ABCDEF",3)="ABC"
Yeni De ken Türü Olu turma (Type)
Mevcut kullan lan de ken türleri yetersiz kald nda veya yap lan çal maysadele tirmek istendi inde yeni bir de ken türü tan man r. Yeni de ken türü birveya birden fazla mevcut de ken türlerinde tan mlanm alt de kenlerden olu ur.Bu i lemi gerçekle tirebilmek için a daki yaz m kural na uygun Type komutukullan r. Type komutu sadece modül içinde kullan labilir. Form içinde kullan lamaz.
Type [Yeni De ken Türü Ad ]
AltDe ken1 As MevcutTür
AltDe ken2 As MevcutTür
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
43
.
.
AltDe ken3 As MevcutTür
End Type
Yeni olu turulmu bir de ken türü program n her yerinde di er de kenlerdenfarks z olarak kullan labilirler.
Not: Rasgele eri imli dosyalarda kullan lacak olan bir de ken türü içinde tan mlananString türünde alt de kenlerin uzunluklar a daki örnek koddaki belirtilmelidir.
Type Ogrenci
Ad As String * 25
Soyad As String * 25
Ya As Integer
AnneAd As String *25
BabaAd As String * 25
End Type
Operatörler ve Ba laçlar
= Atama Operatörü x=3+ Toplama Operatörü x=y+5- Ç karma Operatörü x=y-3* Çarpma Operatörü x=y*3/ Bölme Operatörü x=y/2^ Üs Operatörü x=y^2> Mant ksal Büyüktür Operatörü
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
44
x>5< Mant ksal Küçüktür Operatörü x<3<> Mant ksal Farkl Operatörü x<>6Not Mant ksal De il Ba lac Not x>5And Mant ksal VE Ba lac x>3 And y<>2Or Mant ksal VEYA Ba lac x=5 OR y<9
If-Then-Else
Nesne temelli programlamada program ak sadece olaylar ile yap lmaz. Olaylariçinde yaz lan kodun mant k çerçevesinde yönlendirilmesi gereklidir. Visual Basic'tebüyük ço unlukla yönlendirme i lemi if bloklar ile gerçekle tirilir. If bloklar n yaz m(syntax) kural a dad r.
If art1 Then 'Blok Ba lang
............. ' art1 do ru ise yap lacak i lem
ElseIf art2 Then
................ ' art1 Yanl ve art2 do ruysa yap lacak i lem
ElseIf art3 Then
............... ' art1 ve art2 Yanl art3 do ruysa yap lacak i lem
ElseIf art4 Then
...............
ElseIf art(n) Then
............... 'Bütün artlar Yanl ve art(n) do ruysa yap lacak i lem
Else
............... 'Bütün artlar Yenl ise yap lacak i lem
End If 'Blok Sonu
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
45
If bloklar kullan rken programc n yukar daki gibi Else veya ElseIf alt If bloklarkullanma zorunlulu u yoktur. A daki örnekleri iyice inceleyiniz.
If x=8 Then
................ ' x=8 ise
End If
'--------------------------------------------------------------
If x=8 Then
................ 'x=8 ise
ElseIf x=9 Then
................ 'x=8 de il ve x=9 ise
End If
'--------------------------------------------------------------
If x=8 Then
................ 'x=8 ise
Else
................ 'x=8 de ilse
End If
'--------------------------------------------------------------
If x=8 Then
................ 'x=8 ise
ElseIf x=9 Then
................ 'x=8 de il ve x=9 ise
Else
................ ' x=8 de ilse ve x=9 de ilse
End If
Select Case
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
46
"Select case" komutu ikiden fazla durumun söz konusu oldu u artlardaprogram ak yönlendirmek için kullan lan yönlendirme komutudur. "SelectCase" komutu durum de kenine göre hareket eder. A da "Select Case"komutunun yaz m kural aç klanm r.
Select Case [Durum De keni]
Case [Durum1]
............... ' Durum1 olu ursa çal acak kod
Case [Durum2],[Durum3]
............... ' Durum2 veya Durum3n olu ursa çal acak kod
Case Is > [Durum4]
............... ' Durum de keni Durum4'den büyükse
' çal acak kod
Case Is < [Durum5]
............... ' Durum de keni Durum5'den küçükse
' çal acak kod
Case Else
............... ' Yukar daki durumlar n hiçbiri gerçekle miyorsa
' çal acak kod
End Select
ral Dosya Eri imi
Output : ral eri im dosya açma yöntemlerinden biridir. Sabit disküstünde var olmayan bir dosyay olu turur. Var olan dosyalar n içeri inisilerek açar. Yaz m kural a daki gibidir.
Open [Dosya Yolu] For Output As #[Dosya No]
[Dosya Yolu] : Aç lacak dosyan n sabit disk üstündeki adresidir. Türü String'dir.
[Dosya No] : Aç lacak dosyaya program içinde eri ilirken kullan lan 0-255 aras ndakisay r. Farkl iki dosya için ayn say kullan lamaz
Dosyaya bilgi yazmak için Print# veya Write# komutlar kullan r.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
47
Print #[Dosya No], [String De ken]
Write #[Dosya No], [String De ken]
Append : ral eri im dosya açma yöntemlerinden bir di eridir.Dosyan n içindeki var olan sat rlar n sonuna sat r eklemek içinkullan lan yöntemdir. Aç lmak istenen dosya sabit disk üstünde yoksahata verir. Yaz m kural a daki gibidir.
Open [Dosya Yolu] For Append As #[Dosya No]
[Dosya Yolu] : Aç lacak dosyan n sabit disk üstündeki adresidir. Türü String'dir.
[Dosya No] : Aç lacak dosyaya program içinde eri ilirken kullan lan 0-255 aras ndakisay r. Farkl iki dosya için ayn say kullan lamaz.
Dosyaya bilgi yazmak için Print# veya Write# komutlar kullan r.
Print #[Dosya No], [String De ken]
Write #[Dosya No], [String De ken]
Input : ral eri im dosya açma yöntemlerinden biridir. Sadece okumaamaçl dosya aç rken kullan r. Dosyay Input eklinde açabilmek içindosyan n sabit disk üstünde var olmas gerekmektedir.yap lan herokuma i leminde yeni okuma için otomatik olarak bir alt sat rakonumlan r. Aksi halde hata olu ur. Yaz m kural a daki gibidir.
Open [Dosya Yolu] For Append As #[Dosya No]
[Dosya Yolu] : Aç lacak dosyan n sabit disk üstündeki adresidir. TürüString'dir.
[Dosya No] : Aç lacak dosyaya program içinde eri ilirken kullan lan 0-255 aras ndaki say r. Farkl iki dosya için ayn say kullan lamaz .
Dosyadan okuma yapmak için Input# veya Line Input# komutlarkullan r.
Input #[Dosya No], [String De ken]
Line Input #[Dosya No], [String De ken]
Rasgele Dosya Eri imi
Rasgele dosya eri im yöntemini kullanabilmek için öncelikle dosya içinde saklanacakveriler modellenmelidir. Veriler modellendikten sonra herbir veri grubu için birde ken türü olu turulmal r. De ken türü olu turmak için Type komutu kullan r.
KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu
48
Rasgele eri imli dosyan n s ral eri imli dosyalardan program kodlama aç ndan enbüyük fark dosyaya yazma ve okuma için tek bir yöntem kullan lmas r ve sabit disküstünde bulunmayan bir dosyay olu turmak i lemininde bu yöntem taraf ndanyap lmas r. Rasgele eri imli dosyalarda kay tlar n uzunlu u sabit oldu undan dosyaiçindeki her kayd n byte cinsinden adresi bellidir. Buyüzden dosya içindeki istenilenkayda ait bilgiler direkt olarak de tirilebilir. Bu özellik bu yöntemin en önemliözelli idir. Rasgele Eri imli dosya kullanma yönteminde dosya açma i lemi a dakiekilde kullan r.
Open [Dosya Adresi] For Random As #[Dosya No] Len=[Kay t Uzunlu u]
[Dosya Adresi] : Türü String'tir. Aç lacak olan dosyan n sabit disk üstündeki adresinibelirtir.
[Dosya No] : Türü Integer'd r. Aç lacak dosyaya daha sonra program içinde budosyay temsil edecek olan ve ba ka bir dosya taraf ndan kullan lmayan bir dosyanumaras r.
[Kay t Uzunlu u] : Türü Integer'd r. Aç lacak olan dosyada kay tlar n adreslenmesindekullan lan üzere her bir kayd n byte cinsinden boyutudur.
Dosya içindeki kay t say dosyan n byte cinsinden olan boyutunu kayd n bytecinsinden olan boyutuna bölümünden ibarettir. A da bu i lemi gerçekle tirenprogram kodu verilmi tir.
Ks = LOF([Dosya No])/[Kay t Uzunlu u]
Dosya içine kay t eklemek için put de imi kullan r. Put de iminin yaz m eklida belirtilmi tir.
Put #[Dosya No],[Kay t No],[Kay t De keni]
[Dosya No] : Dosya açarken kullan lan doaya numaras r.
[Kay t No] : Kayd n kaç nc s raya yaz laca belirtir. Bilgisayar sabit kay t uzunlu usayesinde belirtilen kayd n byte cinsinden adresini hesaplar.
[Kay t De keni] : Kay n No sayesinde hesaplanan kay t adresine Kay t de kenininiçerdi i bilgiler yaz r.
Dosya içinden bir kayd okumak için Get de imi kullan r. Get de iminin yaz m kuralda belirtilmi tir.
Get #[Dosya No],[Kay t No],[Kay t De keni]
[Dosya No] : Dosya açarken kullan lan doaya numaras r.
[Kay t No] : Kayd n kaç nc s radan okunaca belirtir. Bilgisayar sabit kay tuzunlu u sayesinde belirtilen kayd n byte cinsinden adresini hesaplar.