Visual Basic nedir?
Visual Basic, Basic (Beginners-All Purpose Symbolic Instruction Code) temelleri üzerine kurulmuş görsel bir programlama dilidir. Bugün dünyada çok yaygın bir kullanım yeri bulmuştur. Bunun en büyük sebebi çok kolay ögrenilen ve güçlü bir programlama dili olmasıdır. Visual Basic ile yapabilecekleriniz sadece sizin hayal gücünüze ve becerinize bağlıdır. Ticari yazılımlar geliştirebilir, veri tabanları üzerinde çalışabilirsiniz, oyun programları yazabilir, bilimsel çalışmalarınızda kullanabilirsiniz.
Visual Basic ile Word ve Excel görünümünde bir program geliştirmek son derece kolaydır. Bunu mümkün kılan grafiksel arabirimdir. Bu ara birim kullanıcı ile program kodları arasında iletişimi sağlar. Örneğin Windows’ta bir dosyayı açarken bir simge üzerine tıkladığımızda bunun arka planında program bu işlemi yapmak için gerekli olan kodları çalıştırmakla uğraşır. İşte Visual Basic’te de bunun gibi kullanıcı arayüzleri olacak nesneler vardır. Programı çalıştıran kodların bilinmesi kadar bu nesnelerinde bilinmesi de gerekmektedir. Visual Basic’te Windows ortamından tanıdığımız butonlar, kaydırma çubukları, text kutuları gibi nesneler vardır. Program bu nesnelere bağlı olan olayları kullanarak yazılır. Örneğin bir buton nesnesinin en önemli olayı butonun üzerine tıklanmasıdır. Kullanıcı bu olayın içerisine butona tıklandığında ne yapılması isteniyorsa onunla ilgili kodları yazar.
çalışma alanı
Çalışma alanı olarak sadece program kodlarını yazdığımız kısım değil, tüm menüler ve pencereler buna dahildir.
Menu Çubuğu (Menu Bar):
Menü çubuğu üzerinde Vbasic menüleri bulunur. Bu menüler File, Edit, View, Project vs. dir. Menülerde değişik komutlar bulunmaktadır.
Araç Kutusu (Tool Box):
Araç kutusu çalışma alanın sol tarafında bulunan ve içerisinde standart nesnelerin bulunduğu bir kutudur. Bu nesneler ileride detaylı olarak anlatılacaktır.
Özellikler Penceresi (Properties Window-F4):
Her nesnenin kendisine özgü özellikleri vardır. Nesnenin rengi, boyutları, vs daha pek çok özelliği özellikler penceresinden düzenlenir. Örneğin aşağıda Command1 isimli CommandButton nesnesinin özellikler penceresi görülmektedir.
Proje Penceresi (Project Explorer-Ctrl+R):
Büyük projelerde birçok Form ve Modül kullanılır. Bu pencere sayesinde hangi formun hangi projeye ait olduğu ve özellikleri kolayca izlenebilir.
Kod Penceresi (Code):
Programcılığın esasını oluşturan kod yazma işlemi Vbasic’te olaylara bağlı olarak yapılır. Olaylarda nesnelere bağlıdır. Örneğin bir Buton nesnesinin Click olayı içerisine bir bir kod yazılırsa, program çalıştığında bu butonun üzerine tıklama yaptığımızda içerisindeki bu kodları çalıştıracaktır. Nesne ve olayların her ikiside Code penceresinden görülebilir.
Operatörleri
• Matematiksel
• Karşılaştırma
• Mantıksal
Olmak üzere üç grupta inceleyeceğiz.
Matematiksel Operatörler:
Bu operatörleri 7 tanedir.
• + Toplama işlemi
• - Çıkarma işlemi
• * Çarpma işlemi
• / Bölme işlemi
• ^ Üs alma işlemi
• ( ) Parantez işlemleri
• Tam sayılı bölme işlemi
Burada tam ile yapılan bölmelerde sonucun tam sayı kısmı yazılır. Ör: 73 sonucu 2.33 değil 2 dir. ( ) parantezler ise işlemler arasında önceliği belirlemede kullanılır. İşlemlerde öncelik sırası, (), ^, * / , + - , soldan sağadır.
Karşılaştırma Operatörleri:
İki değer arasında karşılaştırma yapılırken kullanılır. Karşılaştırma sonucu true (doğru) yada false (yanlış) olabilir. Doğru sonuçlar için 1, yanlış değerler için 0 değeri döndürülür.
Sayısal ifadeleri karşılaştırırken 7 farklı operatör kullanılabilir.
Operatör Durum Yazımı
= eşitlik a=b
< küçüktür a<b
> büyüktür a>b
<>, >< eşitsizlik a<>b , a><b
<= , =< küçük eşit a<=b , a=<b
>=, => büyük eşit a>=b , a=>b
String ifadelerde:
String değerleri karşılaştırırken Like operatöründen yararlanılır. Bu ifade büyük küçük karakter ayrımı yapar. Eğer büyük küçük ayrımı yapılmak istenmiyorsa Declerations bölümüne Option Compare Text ifadesi yazılmalıdır. Örnegin:
Option Compare Text
__________________
sonuc= “A” Like “a”
Print sonuc
Bu ifade sonucu True değeri alınır. Bu şekilde ifadeleri karşılaştırırken Bazı karakterlerin yerine geçmesi için * ve tek bir karakterin yerine geçmesi için ? işareti kullanılabilir. Örneğin
sonuc= “Ali” Like “A?i”
Print sonuc
Sonuc True olur. ? işareti “l” karakteri yerine kullanıldı.
sonuc= “Ali” Like “A*”
Print sonuc
Sonuc True dur. * işareti “li” karakterleri yerine kullanıldı.
Mantıksal Operatörler:
Birden fazla karşılaştırmayı aynı anda yapmak için kullanılır. Karşılaştırma sonucu True yada False dır.
And Operatörü:
Bu operatör bütün değerler True ise sonucu True=1 verir. Herhangi bir False sonuç False=0 dır.
1.Değer Operator 2.Değer Sonuç
1 And 1 1
1 And 0 0
0 And 1 0
0 And 0 0
Örneğin: if yas>15 And yas<30 Then print “Siz gençsiniz” ifadesinde yas 15 den büyük ve 30 dan küçük olması durumunda Then den sonraki komutlar işletilecektir.
Or Operatörü:
Bu operatör bütün değerler yada herhangi biri True ise True=1, hepsi False ise sonucu False=0 olarak verir.
1.Değer Operator 2.Değer Sonuç
1 Or 1 1
1 Or 0 1
0 Or 1 1
0 Or 0 0
Örneğin: if boy>190 Or boy<165 then print “İşe boydan dolayı alınamıyorsunuz” ifadesinde boy 190 dan büyük yada 165 den küçük olması durumunda then den sonraki komutlar işletilecektir.
Not Operatörü:
Bu operatör ifadenin tersini şart koşar.
Değer Operatör Sonuç
1 Not 1
0 Not 0
Örneğin: if Not Text1.text=” ” Then ... ifadesinde text1’in içi boş değilken then’den sonraki komutları işlet anlamı vardır.
visual basic-konu anlatımları
Visual Basic de Matematik İşlemleri
Sgn (İşaret Fonksiyonu) : Bir değerin pozitif, negatif veya 0 olduğunu
tespit etmek için kullanılır.
Kullanılması :
Sgn(Signumu alınacak değer)
Örnekler :
Private Sub Command1_Click()
a = -5
b = Log(a)
MsgBox b
End Sub
Hex (Hexadecimal) : Bir değerin Hexadecimal yani 16 lık sistemde
karşılığını verir.
Kullanılması :
Hex(16 lık sistemde karşılığı alınacak değer)
Örnekler :
Private Sub Command1_Click()
a = 90
b = hex(a)
MsgBox b
End Sub
Oct (Octal) : Bir değerin Octal yani 8 lık sistemde karşılığını verir.
Kullanılması :
Oct(8 lık sistemde karşılığı alınacak değer)
Örnekler :
Private Sub Command1_Click()
a = 75
b = Oct(a)
MsgBox b
End Sub
Round (Yuvarlama) : Bir değeri belirlenen hanede yuvarlatmaya yarar.
Kullanılması :
Round(Yuvarlanacak sayı, Yuvarlanacak basamak)
Örnekler :
Private Sub Command1_Click()
a = 86,254
b = Round(a,2)
MsgBox b
End Sub
Visual Basic de Grafik İşlemleri
Line komutundaki parametreler bir arada kullanılabilirler.
Kullanılması :
Line (x1,y1),(x2,y2),Renk,BF
Örnekler :
Private Sub Command1_Click()
x1=5
y1=100
x2=500
y2=900
Line (x1,y1)-(x2,y2),rgb(20,20,255),BF
End Sub
Circle (Daire) : Verilen koordinatları merkez kabul sayarak verilen
yarıçapta bir daire çizilmesini sağlar. Bu dairenin rengini belirleme
parametresi mevcuttur.
Kullanılması :
Circle (x1,y1),r,Renk
Örnekler :
Private Sub Command1_Click()
X1 = 250
Y1 = 200
r = 180
Circle (X1, Y1), r, RGB(250, 20, 20)
End Sub
Pset (Nokta Koymak) : Verilen koordinata nokta konulmasını sağlar.
Kullanılması :
Pset (x1,y1),Renk
Örnekler :
Private Sub Command1_Click()
X1 = 250
Y1 = 200
Pset (X1,Y1),rgb(255,0,0)
End Sub
Point (Renk Okuma) : Verilen koordinatlarındaki rengin okunmasını
sağlar.
Kullanılması :
Renk=Point (x1,y1)
Örnekler :
Private Sub Command1_Click()
X1 = 5
Y1 = 100
X2 = 500
Y2 = 900
Line (X1, Y1)-(X2, Y2), , BF
Renk = Point(50, 50)
MsgBox Renk
End Sub
Visual Basic de Dosya Dizin İşlemleri
ChDrive (Sürücü Seç) : Programın çalıştığı ve işlem yaptığı aktif
sürücüyü değiştirir. Bu kısımda aktif sürücü etkin değilse (örneğin
diskete geçiliyor ve disket sürücüsünde disket yoksa) hata oluşabilir.
Kullanılması :
Chdir "sürücü"
Örnekler :
Private Sub Command1_Click()
ChDrive "a:"
End Sub
ChDrive (Dizin Seç) : Programın çalıştığı ve işlem yaptığı aktif
dizini değiştirir. Bu kısımda aktif sürücü etkin değilse (örneğin
diskete geçiliyor ve disket sürücüsünde disket yoksa) hata oluşabilir.
Kullanılması :
Chdir "konum"
Örnekler :
Private Sub Command1_Click()
ChDir "c:window"
End Sub
MkDir (Dizin Oluşturma) : Verilen konumda dizin oluşturulmasını sağlar.
Kullanılması :
MkDir "dizin adı"
Örnekler :
Private Sub Command1_Click()
MkDir "c:yedekler"
End Sub
RmDir (Dizin Adı Değiştirme) : Verilen konumda ki dizinin silinmesini
sağlar.
Kullanılması :
RmDir "dizin adı"
Örnekler :
Private Sub Command1_Click()
RmDir "c:yedekler"
End Sub
Visual Basic'te Diziler (Array)
Dizi, bellekte aynı isim altında toplamış değişkenler kümesine verilen
isimdir. Dizinin kullanım alanlarına gelince ise, aynı türe ait
bilgileri bellekte tutmak istediğimizde örneğin bir veri gurubunu
sıralamak istediğimizde ya da verilere ait bazı istatiksel bilgilerin
hesaplanmasında bize yardımcı olur. VB 'de diziler;
DiziAdi(ElemanSayisi)
Şeklinde gösterilir. Bir örnek verecek olursak
Sayilar(20)
Ucgen(2)
Kare(3)
Yukarda ki örneklerde Sayilar isminde 0 dan 20 ye kadar toplam 21
elemanlı bir dizi tanımlanmıştır.
VB 'de iki farklı dizi türü vardır bunlar;
1) STATİK DİZİLER:
Bu tip dizilerde dizinin eleman sayısı önceden belirlenir ve eleman
sayısı sabittir. Örneğin programımızda Dim Sayilar(20) as Integer diye
bir kod yazarsanız projenizde toplam 21 elamanlı ve sayısal bir veri
türünü tutacak bir dizi tanımlamış olursunuz. Eğer dizimizin 20
elamanlı yani Sayilar(1) 'den başlamasını istiyorsak Form 'un veya
Modülün General/Declarations kısmına Option Base 1 deyimini
kullanmamız gerekecekti Option Base 0 ise dizinin ilk elemanının 0
'dan başlayacağını bildirir ki zaten bu da standart(default) biçimidir
dolaysıyla kullanmaya gerek yoktur.
2.) DİNAMİK DİZİLER:
Bu tip dizilerde ise dizinin eleman sayısını program akışı içerisinde
kontrol edebiliyoruz bunu ise diziyi Dim Sayilar() as Integer şeklinde
dizinin eleman sayısı hakkında herhangi bir değer vermeden
belirttikten sonra ReDim Sayilar(10) as Integer şeklinde dizinin
eleman sayısını program akışı esnasında tanımlıyoruz. Ancak diziyi
yeniden boyutlandırırken unutulmaması gereken nokta dizinin içindeki
verilerin silineceğidir. Eğer verilerin silinmemesini istiyorsak
diziyi yeninden boyutlandırırken ReDim Preserve Sayilar(10) As Integer
şeklinde belirtmemiz gerekir.
Örnek 1: Girilen 10 tane sayının toplamını ve ortalamasını veren örnek
program
Yukarıdaki resimlerden de anlaşılacağı üzere 10 adet sayıyı teker
teker girdiğimizde programımız bize bu sayıların toplamını ve
ortalamasını verecektir.
Birden Fazla Boyutlu Diziler :
VB 'de istenirse birden fazla boyutta dizilerde tanımlanabilir.
Örneğin;
Dim Tablo(4,3) As Integer
Dim DersSonuçları(3,3,1) As Integer
Yukarda ki tanımlama ile çok boyutlu diziler yaratmış olduk Dikkat
ettiyseniz her boyuta ait index numarası birbirinden virgülle
ayrılarak diziler boyutlandırılabiliyor.
Örnek :
Bileşenleri formumuza yukarda ki gibi yerleştirdikten sonra Matematik
dersi için koyduğumuz 3 tane "Text Box" 'ın adını VB 'nin sol
tarafındaki "Properties" Penceresinde ki "(Name)" değerini
değiştirerek sırası ile "Matematik1", "Matematik2" ve "Matematik3"
yapalım bu işlemi diğer dersler içinde tekrarlayalım daha sonra
"Ortalaması" başlıklı Labellerimizin hepsinede "Ortalama" adını
verelim bu sırada VB bize "You have already a control named
'Ortalama'. Do you want to create a control array?" diyerek bir
kontrol dizisi oluşmak isteyip istemediğimizi soracak bu soruyu "Evet"
diye cevaplandırarak bir kontrol dizisi oluşturalım(*) "Ortalama"
başlıklı düğmemize çift tıklayarak aşağıda ki kodları yazalım.
Yukarda ki örneğimizde derslere ait notlar dizimize aktarılıyor daha
sonra ise dizimizde ki notları "For ...Next" döngüsü ile kod tekrarı
yapmadan ortalamasını alıp bunu Ortalama isimli kontrol dizimizde ki
Etiketlerimiz de (Label) görüntülüyoruz.
Dizi İçin Sınırlar :
VB 'de dizi için alt ve üst sınırlar belirleyebiliriz bu sınır 0 ve
pozitif sayılar olabileceği gibi negatif sayılarda olabilir. Örneğin
Dim Dizi1(1 To 20) As Integer
Dim Dizi2(0 To 5) As String
Dim Dizi2(-10 To 10) As Byte
LBOUND ve UBOUND Fonksiyonları :
İstenilen bir dizinin belirtilen boyutunun alt ve üst sınırlarının ne
olduğunu öğrenmemize yarar. Örneğin;
Private Sub Command1_Click()
Dim Dizi(-5 To 15, -10 To 20) AsInteger
Print "Dizinin ;"
Print "-------------------------------------------"
Print "1. Boyutunun Alt Sınırı : " & LBound(Dizi, 1)
Print "1. Boyutunun Üst Sınırı : " & UBound(Dizi, 1)
Print "-------------------------------------------"
Print "2. Boyutunun Alt Sınırı : " & LBound(Dizi, 2)
Print "2. Boyutunun Üst Sınırı : " & UBound(Dizi, 2)
End Sub
|