visual basic 6 - hilmi.trakya.edu.trhilmi.trakya.edu.tr/ders_notlari/iku/visual_basic_6.pdf ·...

49
7KU-7bKUR 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 ÕQÕ kolaylaúWÕUÕFÕ bir görsel dildir. Bu dilde program geliútirmenin ilk adÕPÕ, kullanÕFÕQÕn ekranda görmek istediklerini saptamak ve ekran tasar ÕPÕQÕ gerçekleútirmektir. Bu programda her úey nesne olarak tanÕmlanmÕúWÕ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 úÕOÕ÷ÕGÕr. Uygulama çalÕúWÕUÕ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 ÕGÕ r. Modül: Tek bir dosyada toplanan ve programÕn herhangi bir yerinden ça÷ÕUÕlabilen prosedürler ve tanÕmlamalar toplulu÷u. Özellik (Property): Nesne karakteristiklerini (boyut, renk, konum, …) ve nesne davranÕúlarÕQÕ tanÕmlayan nitelikler. Olay (Event): Nesnelerin algÕlayabildi÷i eylemlerin adÕGÕ 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 ÕQÕn iúlevleri soldan sa÷a aúD÷Õdaki gibidir:

Upload: voque

Post on 21-Sep-2018

224 views

Category:

Documents


0 download

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.

KU- KUR E itimi: Ders Sorumlusu y.Doç.Dr.Hilmi Ku çu

49

[Kay t De keni] : Kay n No sayesinde hesaplanan kay t adresinden okunanbilgiler Kay t de kenine yaz r.

Program içinde kullan lmayan dosyalar Close de imi ile kapat lmal r.

Close [Dosya No]