Top Banner
Microsoft Visual Basic 6.0
100

Visual Basic Ders Notu

Jan 12, 2015

Download

Education

Kemal20100250

Visual Basic
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Visual Basic Ders Notu

Microsoft

Visual Basic6.0

Page 2: Visual Basic Ders Notu

Microsoft Basic kelime anlamı?

Visual Basic dilini tanımadan önce kelime anlamının ne olduğuna bir bakalım.

"Visual" kelimesinin anlamı "Görsel", "BASIC" kelimesinin anlamı da "Beginners All - purpose Symbolic Instruction Code

(Yeni Başlayanlar İçin Çok Amaçlı Sembolik Talimat Kodu)"

kelimesinin baş harflerinin kısaltması ile oluşturulmuş bir dildir.

Page 3: Visual Basic Ders Notu

Visual Basic Nedir ?

Windows uygulama geliştirme aracıdır. VB`nin Windows tabanlı olması kullanıcısına bir göz

aşinalığı sağlamaktadır. Görsel bir dil oluşu ile de öğrenim süresi kısalmış ve

Windows ortamları için önemli bir program geliştirme aracı haline gelmiştir.

(Unutmayınız ki Windows ortamında herşey birer Form`dur)

Page 4: Visual Basic Ders Notu

Visual Basic Özellikleri - 1

Windows uygulama geliştirme aracı olarak karşımıza çıkan VB,karakteristik işletim sistemi geliştirme araçlarında olduğu gibi kullanıcı taraflı klavye ağırlıklı bir dil değildir. Bu geliştirme ortamına Text - Mod Geliştirme Ortamı diyebiliriz. Bu ortamda kullanıclar seçim için klavye kullanırken Windows ortamında genellikle fare kullanılır.

Page 5: Visual Basic Ders Notu

VB dili nesnel bir programlama dilidir. Nesne tabanlı programlama dillerinde üç ana amaç vardır. Bunlar; nesne hakkında bilgi verilmesi, nesnenin bir diğer nesne üzerine kurulabilmesi ve belli bir işlemin birçok nesne tarafından kullanılmasıdır. 

Visual Basic Özellikleri - 2

Page 6: Visual Basic Ders Notu

VB Olay - Temelli bir programlama dilidir. Yani bir kullanıcı o an hangi olayı yapmak isterse o nesneye ait olaylarını, özelliklerini kullanabilir zira her nesnenin kendine ait bir olay ve özellik örgüsü vardır. 

VB dili Tümleşik Program geliştirme ortamı olarak kabul edilir. Tümleşik Ortamlar size Ekran Tasarımı, Kod Yazma, Hataları Farkedip Anında Giderme, Program Paketleme, Veritabanı Etkileşimi ve diğer birçok olanaklar gibi yararlar sağlar. 

Son olarak da Visual Basic dilinin hangi kısımlardan oluştuğuna bir bakalım. VB dili kullanıcı arabirimi, bilgi işleme, bilgi saklama, rapor işlemleri birimlerinden oluşur.

Visual Basic Özellikleri - 3

Page 7: Visual Basic Ders Notu

Visual Basic dizini...

• Visual Basic yüklenmiş bir bilgisayarda , VB ile ilgili ilgili program dosyaları standart olarak C dizininin:C:\Program Files\Microsoft Visual Studio\alt dizinine yerleştirilir.

• Kullanıcıların oluşturdukları projeler ise standart olarak:C:\Program Files\Microsoft Visual Studio\Vb98dizinine yerleştirilir.

Page 8: Visual Basic Ders Notu

Visual Basic Çalıştırma

• Başlat menüsünü kullanarak >> Start + All Programs + Microsoft Visual Basic 6 komutuna tıklanarak program çalıştırılır.

Page 9: Visual Basic Ders Notu

Visual Basic ilk ekran !• “Standart EXE” seçeneği temeldir.

Seçtikten sonra “Open” komutuna tıklayınız.

• New: yeni proje• Existing: varsayılan kayıt yeri

• Recent: son çalışılan projeler

Page 10: Visual Basic Ders Notu

Visual Basic

-“Standart EXE” seçeneği temeldir.

Seçtikten sonra “Open” komutuna tıklayınız.

Form

ToolBox (Araç Kutusu)

Özellikler Penceresi

Araç Çubuğu

Page 11: Visual Basic Ders Notu

Araç Kutusu (Toolbox)

Page 12: Visual Basic Ders Notu

Standart Visual Basic Kontrolleri ve İşlevleri -1

PictureBox (Resim Kutusu) =Bitmap, Icon, GIF resimlerin gösterilmesini sağlar.Label(Etiket) =Sadece bilgi vermek yada görüntü olarak form üzerinde durur. Genellikle metin kutularının adlarını göstermek için kullanılır.TextBox(Metin Kutusu) =Genellikle veri girişi için kullanılan bir kontroldür. Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusunu bu amaçla kullanabiliriz...Frame (Çerçeve) =Kontrolleri gruplamak için kullanılır.Command Button (Komut Düğmesi)=Bir işlemin başlatılmasını sağlar. Genellikle fare üzerine tıklanarak kullanılır.CheckBox (İşaret Kutusu)=Bir seçim yapmayı sağlar.OptionBox (Seçenek Kutusu)=Seçim yapmayı sağlar.

Page 13: Visual Basic Ders Notu

ListBox (Liste Kutusu) =Birçok elemanı liste biçiminde göstermek için kullanılır HscrollBar (Yatay Kaydırma Çubuğu)=Yatay olarak kullanılan kaydırma çubuğuVscrollBar (Dikey Kaydırma Çubuğu)=Dikey olarak kullanılan kaydırma çubuğuTimer (Zamanlayıcı)=Zamanın takip edilmesini sağlar.DriveListBox (Sürücü Listesi)=Sistemdeki sürücüleri listeler.DirListBox (Dizin Listesi)=Sistemdeki dizinleri (klasörleri) listeler.FileListBox (Dosya Listesi)=Bir dizin içindeki dosyaları listeler.Shape (Şekil)=Şekil çizmeyi sağlar.Line (Çizgi)=Çizgi çizmek için kullanılır.Image (İmaj)=Sadece resimleri göstermek için kullanılır.Data (Veri)=Verileri göstermek için kullanılır.

Standart Visual Basic Kontrolleri ve İşlevleri -2

Page 14: Visual Basic Ders Notu

AraçKutusunu gösterir.

Projenin Kodlarını gösterir.

Özellikler Penceresini gösterir.

Menü Araç Çubuğu + View

Formu Gösterir.

Page 15: Visual Basic Ders Notu

Formu kenarlarından tutarak büyültebilirsiniz. Toolbox içinden aldığınız nesneleri üstünde çizebilirsiniz veya çift tılayarak yerleştirebilirsiniz.

Form penceresi

Page 16: Visual Basic Ders Notu

Kod Penceresi

Kod ekranı sağdaki pencerede görülmektedir. Formda boş bir noktaya tıkladıktan sonra F7 tuşu ile veya bir komuta tıklayarak ekrana getirebilirsiniz.

Burada önemli olan nokta Kod başlangıç satırıdır...

Page 17: Visual Basic Ders Notu

Kod İçerisine Açıklama Ekleme

Koda açıklama eklenmek istenirse ‘ tek tırnak açıklamanın başına konulur.

Page 18: Visual Basic Ders Notu

Form Metodları- 2. bir form oluşturma-Geçişler

Metodlar, nesnelere doğrudan yaptırmak istediğimiz işleri belirtmek için kullanılır. en sık kullanılan metodlar şunlardır:

Show Metodu: Formun ekranda görüntülenmesini sağlar. Metod ile nesne ismi arasına nokta işareti (.) konur.

Dizilim: Form ismi.Show Örnek: Form1.Show

Hide Metodu: Formun görüntüsünü ekrandan kaldırır, formu saklar. Hide metoduyla saklanan form arka planda çalışmasına devam eder.

Dizilim: Form ismi.Hide Örnek: Form1.Hide

Veya tamamen kapatmak için End yazılır.

Page 19: Visual Basic Ders Notu

RUN MENÜSÜ

Run

Geliştirdiğiniz projeyi çalıştırmak için kullanılır. F5 tuşu da kullanılabilir.

Page 20: Visual Basic Ders Notu

Start With Full Compile

Start komutu ile Visual Basic sadece aktif kodu ve ilişkili kısımları derler ve çalıştırır. Belli bir anda projenizin tümünün derlenerek çalıştırılmasını istiyorsanız bu altenatifi seçmelisiniz.

Break

Normal akışını sürdüren programı durdurur ve programın çalışması breake modda sürdürülür. Bu menü altenatifi sadece Run Time’da kullanılabilir. Breake modda programın kaynak kodunda yapılan bazı değişikliklerin çalışması için programın yeniden başlatılması gerekir.

RUN MENÜSÜ

Page 21: Visual Basic Ders Notu

End

Kodlanan programi durdurarak Visual Basic’in kullandiği tüm sistem kaynaklarini iade eder.

Restart

Kodlaması durdurulmuş olan programin yeniden çalışmasını sağlar.

RUN MENÜSÜ

Page 22: Visual Basic Ders Notu

Nesnelere İsim verme (Caption)

Önce Sonra

Page 23: Visual Basic Ders Notu

Nesnelere İsim verme

Private Sub Form_Load()

'form başlığını ver

Form1.Caption = "HESAP MAKİNESİ"

'etiketlerin içeriğini yaz

Label1.Caption = "1. sayı değeri"

Label2.Caption = "2. sayı değeri"

Label3.Caption = "SONUÇ"

'Blgi kutularını boşalt

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Devamı....

'Komut butonlarının adlarını ver

Command1.Caption = "Topla"

Command2.Caption = "Çıkar"

Command3.Caption = "Böl"

Command4.Caption = "Çarp"

'text3 ü yazmaya karşı koruyor

Text3.Locked = True

End Sub

Page 24: Visual Basic Ders Notu

Basit Bir Örnek (temel adımlar)

1. Yeni bir “Form” açın.

2. Forma bir “Button” ekleyin.

3. Buton seçili iken özelliklerine girin. (Properties)

4. Buradan “Caption” seçeneğine “Başla” olarak değiştirin.

5. Butonun üzerine çift tıklayın veya sağ tıklayıp “View Code” komutuna tıklayın.

6. MsgBox ("BAŞARDINIZ")

7. Çalıştırın: F5 veya (Run + Start)

Page 25: Visual Basic Ders Notu

Bir örnek (makine kodu mantığı) 3 x 5 = ?

Dim a,b,c as integer

Page 26: Visual Basic Ders Notu

Değişken Tanımı

Visaul Basic’te değişkenlerin türünü belirtmek için “Dim, Public, Private, ReDim” deyimlerinden biri kullanılır.

Dim a,b,c as integer

Dim a as integer, b as integer, c as integer

Dim a as integer Dim b as integerDim c as integer

Page 27: Visual Basic Ders Notu

•Mutlaka bir harf ile başlar. •Özel amaçlı nokta, virgül, parantez, artı, yıldız, boşluk gibi

işaretleri içeremez. •En fazla 255 harf ve/veya rakamdan oluşur. •VB de kullanılan özel kelimeler değişken olarak

kullanılamaz(örneğin End) Çç İı Ğğ Öö Şş gibi Türkçe’ye özgü karakterler düz yazı

dışında kullanılamaz. IV, LC gibi Romen rakamları kullanılamaz.

Değişken Tanımında Kurallar

Page 28: Visual Basic Ders Notu

Veri Tipleri

Veri Tipi Kullandığı Byte İçerik Aralığı Açıklama

Byte 1 0 den 255 kadar Tam sayı

Integer 2 -32768 den 32767 kadar Tam sayı

Long 4 -2 147 483 648 den 2 147 483 647 kadar Tam sayı

Single 4 ± 3.402823E38 den ± 1.401298E-45 kadar Ondalık sayı

Double 8 ± 1.79769313486232E308 den ± 4.94065645841247E-324 kadar

Ondalık sayı

Boolean 2 True veya False Mantıksal

String 10 + karakter sayısı

Sadece harflerden, rakamlardan ve özel işaretlerden oluşan dizi depolanabilir

Alfa sayısal

Decimal 14 +/-79 228 162 514 264 337 593 543 950 335 Tam/ondalık sayı

Variant 16 Herhangi bir sayısal değer içerebilir, ancak aralığı Double ile aynı

Herhangi bir tip

Date 8 1 Ocak 100 gününden 31 Aralık 9999 gününe kadar Tarih için

Currency 8 +/- 922 337 203 685 477.5807 (noktadan sonra sadece 4 hane)

Para hesabı için

Page 29: Visual Basic Ders Notu
Page 30: Visual Basic Ders Notu

Bazı Matematiksel ve Mantıksal İfadeler (Operatörler)

^ = Üs alma Mod = Kalanlı bölme* = Çarpma & (+) = String birleştirme/ = Bölme\ = Tamsayı Bölme+ = Toplama, - = Çıkarma() = Parantez içi işlemler

Karşılaştırma - ilişki Operatörü  Anlamı  =  Eşit  <>  Eşit değil  <  ... den küçük  >  ... den büyük  <=  Küçük veya eşit  >=  Büyük veya eşit

Page 31: Visual Basic Ders Notu

İŞLEM SIRASI KURALI

Önce üs alma, sonra çarpma ve bölmeler ve daha sonra da toplama çıkarmalar yapılır.

Çarpma ve bölme (veya toplama ve çıkarma) gibi eşdeğer işlemlerde hesap soldan sağa doğru sıra ile yapılır.

Parantezli ifadeler (varsa), yukarıdaki kurala uygun olarak ve en içteki parantezli ifadeden başlanarak, ilk önce hesaplanır.

Page 32: Visual Basic Ders Notu

Visual Basic’de kullanılan bu oparatörlerde öncelik sırası vardır. Öncelik sıraları aşağıda verilmiştir.

 

( )                    ‘Parantez içerisindeki ifadeler önceliğe sahiptir

^                      ‘Üs alma

*/                     ‘Çarpma ve bölme

\                       ‘Tamsayı bölme

Mod                 ‘Kalanlı Bölme

+ -                   ‘Toplama ve çıkarma

Page 33: Visual Basic Ders Notu

Örnek

Dim Sayi As Integer

Sayi= 70 + 80 / 2                    ‘Sonuc 110

Sayi= ( 70 + 80 )  / 2              ‘Sonuc 75

Page 34: Visual Basic Ders Notu

Örnekler

Dim Sayı1 As Integer, Sayı2 As Integer        '2 Tane TamSayı değişken tanımlıyoruz..

Sayı1 = 9

Sayı2 = 2                                ' Değişkenlere değer atıyoruz..

Sonuc = Sayı1  +  Sayı2        ' Sonuc 11

Sonuc = Sayı1  -   Sayı2        ' Sonuc 7

Sonuc = Sayı1  *  Sayı2         ' Sonuc 18

Sonuc = Sayı1  /   Sayı2        ' Sonuc 4,5

Sonuc = Sayı1  \   Sayı2        ' Sonuc 4 . Bu işlem çıkan değerin sadece tamsayı kısmını alır

Sonuc = Sayı1  ^  Sayı2         ' Sonuc 81

Sonuc = Sayı1  Mod  Sayı2 ‘ Sonuc 1. Bölme işlemi yapıldı ve sonuc olarak kalanı verdi.

Page 35: Visual Basic Ders Notu

CheckBox & OptionBox

Page 36: Visual Basic Ders Notu

CheckBox & OptionBox

Private Sub Check1_Click()

If Check1.Value = 1 Then

Label1.FontBold = True

Else

Label1.FontBold = False

End If

End Sub

Private Sub Check2_Click()If Check2.Value = 1 ThenLabel1.FontItalic = TrueElseLabel1.FontItalic = FalseEnd IfEnd Sub

Private Sub Check3_Click()If Check3.Value = 1 ThenLabel1.FontUnderline = TrueElseLabel1.FontItalic = FalseEnd IfEnd Sub

Private Sub Option1_Click()If Option1.Value = True ThenLabel1.ForeColor = vbRedEnd IfEnd Sub

Private Sub Option2_Click()If Option2.Value = True ThenLabel1.ForeColor = vbBlueEnd IfEnd Sub

Private Sub Option3_Click()If Option3.Value = True ThenLabel1.ForeColor = vbYellowEnd IfEnd Sub

Page 37: Visual Basic Ders Notu

Kontrol Nesnelerinin Özellikleri

Private Sub Form_Load() Show FontSize = 16 FontName = "Verdana" Print "İLKER ÇAPLI" FontBold = True Print "Kodkolik.Com" FontBold = False FontItalic = True Print "Visual Basic Dersleri" FontItalic = False Print "Visual Basic Eğitim Kitabı" End Sub

Page 38: Visual Basic Ders Notu

Örnek

Dim Ad As String, Soyad As String, AdSoyad As String

Ad=”Uğur”

Soyad=”Şahin”

AdSoyad = Ad & Soyad                     ‘AdSoyad değişkenin

değeri “UğurŞahin”

AdSoyad = Ad  & “ “ &  Soyad           ‘AdSoyad değişkenin

değeri “Uğur Şahin”

Kontrol Nesnelerinin Özellikleri

Page 39: Visual Basic Ders Notu

MsgBox Deyimine ait Sabit Bilgileri

Seçili düğme(çevresi kesik çizgili)

Tıklanan düğme=MsgBox(mesaj, düğmeler+Seçili düğme+simge, başlık)

Page 40: Visual Basic Ders Notu

Değer VB Sabiti Karşı Gelen Sembol

16 VbCritical Stop sembolü hata

32 VbQuestion Soru işareti sembolü

48 VbExclamation Ünlem sembolü

64 VbInformation Bilgi Sembolü

MsgBox Deyimine ait Sabit Bilgileri

Page 41: Visual Basic Ders Notu

Değer Butonlar

1 Ok , Cancel (Tamam – İptal)

2 Abort, Retry,Ignore (Durdur-Yeniden Dene – Yoksay)

3 Yes,No,Cancel ( Evet – Hayır – İptal)

4 Yes , No ( Evet - Hayır)

5 Retry, Cancel ( Yeniden Dene - İptal)

MsgBox Deyimine ait Sabit Bilgileri

Page 42: Visual Basic Ders Notu

Değer Karşılık gelen buton1 OK (Tamam)2 Cancel (İptal)3 Cancel (İptal)4 Retry (Yeniden Dene)5 Ignore (Yoksay)6 Yes (Evet)7 No (Hayır)

MsgBox Deyimine ait Sabit Bilgileri

Page 43: Visual Basic Ders Notu

Private Sub Form_load()

Dim Cevap As Integer

Cevap = MsgBox("Programdan çıkmak istediğinizde emin misiniz?", 20, "Brain")

If Cevap = 6 Then

Cancel = True

End If

End Sub

MsgBox Deyimine ait Sabit Bilgileri

Page 44: Visual Basic Ders Notu

Private Sub Command1_Click()

Dim a, b, c As Integer

a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, "MsgBox Fonksiyonu")

c = 10

If a = vbYes Then

b = c * 10

Else

b = c * 2

End If

Print b

End Sub

Sonuç;Yes butonuna basınca 100, No butonuna basınca 20 olur veya,

MsgBox Deyimine ait Sabit Bilgileri

Page 45: Visual Basic Ders Notu

veya,

Private Sub Command1_Click()Dim a, b, c as Integera = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, " MsgBox

Fonksiyonu")c = 10If a = 6 Thenb = c * 10Elseb = c * 2End IfPrint b

End Sub

MsgBox Deyimine ait Sabit Bilgileri

Page 46: Visual Basic Ders Notu

Shell (program çalıştırma) fonksiyonu

Shell fonksiyonu Visual Basic kodları kullanılarak, sistemde bulunan .EXE, .COM,.BAT veya .PIF uzantılı dosyaları aktif hale getirmek (çalıştırmak) için kullanılır. Yani, örneğin herhangi bir kontrol nesnesi bir uygulama programına (örneğin Microsoft Word) yönlendirilerek bu programın çalışması sağlanabilir. Bu fonksiyonun genel

Kullanılış şekli; HerHangiBirDeğişkenAdı = Shell (Çalıştırılacak program yolu ve adı,

aktivasyon türü) Şeklindedir. Bu komut dizisindeki Aktivasyon Türü seçeneği 0 ile 6 arasında (5hariç) değer alabilir. Bu değerlerin karşılıklar:

Page 47: Visual Basic Ders Notu

Yukarıdaki form tasarımına ait Shell uygulaması verilmiştir.

Shell (program çalıştırma) fonksiyonu

Page 48: Visual Basic Ders Notu

Aşağıdaki örnekte, Microsoft Word ve Excel programları ile bir oyun programınınshell fonksiyonu ile açılması gösterilmektedir. Bu örnekte kullanılan kodlardaçalıştırılan programların yolları bilgisayarlara göre değişiklik gösterebilir.

Page 49: Visual Basic Ders Notu

Veri Tipleri Arasında Dönüşüm

Bu programda, Double tipindeki d’nin değeri, Integer tipteki C’ye atanarak otomatik olarak Integer’e dönüştürelecektir.

Page 50: Visual Basic Ders Notu

Bu programda, Double tipindeki d’nin değeri, Integer tipteki C’ye atanarak otomatik olarak Integer’e dönüştürelecektir.

Veri Tipleri Arasında Dönüşüm

Page 51: Visual Basic Ders Notu

Girilen Sayının Karesinin ve Kübünün Bulunması

Yeni bir “Form” açın. Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin.

Page 52: Visual Basic Ders Notu

Girilen Sayının Karesinin ve Kübünün Bulunması

1. Yeni bir “Form” açın.

2. Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin.

Üs ifadesi

Page 53: Visual Basic Ders Notu

End

Page 54: Visual Basic Ders Notu

4 İşlem

Page 55: Visual Basic Ders Notu
Page 56: Visual Basic Ders Notu

String

Metin Girdisi

+ Yan yana Yazmayı sağlar.

as String

Page 57: Visual Basic Ders Notu

Date Değişkeni

Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz.DefDate bildirisi ile tarih türünde degişkenler tanımlayabiliriz.

Örnek :

Private Sub Form_Load()

Dim Dogum_tarihi As Date , Evlenme_Tarihi As DateDogum_tarihi =#Dec,9,1977#Evlenme_Tarihi=#May,15,1998#

End Sub

Page 58: Visual Basic Ders Notu

Date Değişkeni

Page 59: Visual Basic Ders Notu

Sistem zamanını gösterir.

Örnek

Private Sub Command1_Click()

Dim zamanMsgBox ("Sistem Tarihi : ") & Time

End Sub

Time Değişkeni

Page 60: Visual Basic Ders Notu

InputBox Fonksiyonu

Programın çalışması esnasında kullanıcıdan bilgi almak istediğimiz zaman bu fonksiyonu kullanabiliriz. Örnek:

Değişken = InputBox (“Mesaj”, Başlık, Varsayım, Xpozisyonu, Ypozisyonu)

Private Sub Command1_Click()Dim ad As Stringad = InputBox("Şehir Adını Giriniz : ?")Print adEnd Sub

Bu fonksiyondan geri dönen değer karakter türünde bir bilgidir. Eğer değişik veri tiplerinde bilgi almak istiyorsak bu aldığımız string türündeki veriyi o veri tipine dönüştürmek zorundayız.

Sayısal veri için    :i=Val(InputBox("Yaşınızı giriniz ..."))

Page 61: Visual Basic Ders Notu

Private Sub Command1_Click()Dim ad As Stringad = InputBox("Şehir Adını Giriniz : ?", " Giriş Kutusu Başlığı")Print adEnd Sub

InputBox Fonksiyonu

Page 62: Visual Basic Ders Notu

İki tane arka arkaya sayı girilerek girilen iki sayının toplamı MsgBox ile bize bildirilsin.

Private Sub Command1_Click()Dim a As IntegerDim b As IntegerDim c As IntegerDim d As Integera = InputBox("1. sayıyı giriniz")b = InputBox("2. sayıyı giriniz")c = a + bMsgBox("iki sayının toplamı = " & c & , 64)End Sub

InputBox Fonksiyonu

Page 63: Visual Basic Ders Notu

Bir şifre sorgulaması

Örnek: Program yüklenirken ve form görüntülenmeden önce kullanıcıya şifresi sorulsun istiyoruz.

Bunun için InputBox penceresini kullanalım. Kullanıcı doğru şifreyi girerek InputBox üzerindeki Ok düğmesini tıkladığında form açılsın, kullanıcı programı kullanabilsin.

Yanlış şifre girmesi durumunda program yüklenmesin. Şifremiz Deve olsun. Gerekli kodları formun Load olayına yazacağız.

Page 64: Visual Basic Ders Notu
Page 65: Visual Basic Ders Notu

Kontrol Komutları

IF – ELSE –ELSE IFSELECT – CASE

FOR – LOOPDO -WHILE

Page 66: Visual Basic Ders Notu

IF / ELSE Sorgusu

1.If (koşul) Then (işlem)

2.If (koşul) Then(işlem1)Else(işlem2)End if

3.If (koşul1) Then(işlem1)ElseIf (koşul2) Then(işlem2)Else(işlem-n)End if

If deyimi belli bir ifadenin değerine göre bir deyimin işletilmesini sağlar. If deyiminin basitten karmaşığa doğru değişik kalıpları vardır:

Page 67: Visual Basic Ders Notu

IF / ELSE %18 KDV Hesabı

Page 68: Visual Basic Ders Notu

IF / ELSE Geçti - Kaldı

Page 69: Visual Basic Ders Notu

IF / ELSE Sabit Sayıdan Sayı Büyük - Küçük

Page 70: Visual Basic Ders Notu

Ortalama

Dim Sinav1 As Byte

Dim Sinav2 As Byte

Dim Ortalama As Byte

Sinav1 = 80

Sinav1 = 60

Ortalama = ( Sinav1 + Sinav2 ) / 2               ‘Ortalama 70

If Ortalama >= 50  Then 

Label1.Caption = “Kazandınız!..”

Else

Label1.Caption = “Kaybettiniz!..”

End If

Page 71: Visual Basic Ders Notu

If...Then karar yapısında birden fazla koşulu kontrol ederken Else If sözdizimini kullanırız.

Dim Sinav1 As ByteDim Sinav2 As ByteDim Ortalama As Byte

Ortalama = ( Sinav1 + Sinav2 ) / 2 If Ortalama >= 85 Then

Label1.Caption = “Takdir Aldınız!..”Else If Ortalama >= 75

Label1.Caption = “Teşekkür Aldınız!..”Else If Ortalama >= 50

Label1.Caption = “Sınıfınızı Geçtiniz!..”Else

Label1.Caption = “Sınıfta Kaldınız!..”End If

Page 72: Visual Basic Ders Notu

IF / ELSE 3 Sayıdan Hangisi En Büyük

Örnekte; Ekrandan Inputbox ile alınan üç sayının en büyüğü bulunur:

Page 73: Visual Basic Ders Notu

IF – ELSE --- GoTo kullanımı

Dim kadi, pass As String

kadi:

kadi = InputBox(“Kullanıcı adını giriniz”, “Kullanıcı Adı”, “”)

pass:

pass = InputBox(“Şifrenizi giriniz”, “Şifre Girişi”, “”)

If kadi = “visual” Then

If pass = “1234” Then

MsgBox (“Hoşgeldiniz” & “Yetkileriniz:Administrator”)

Else

MsgBox (“Hatalı şifre girdiniz. Tekrar deneyin”)

GoTo pass

Else

MsgBox (Hatalı kullanıcı adı. Tekrar girin”)

Goto kadi

End If

Page 74: Visual Basic Ders Notu

AND - OR

Dim Sayi1, Sayi2 As Integer Sayi1 = Val(InputBox("Birinci Sayıyı Giriniz")) Sayi2 = Val(InputBox("İkinci Sayıyı Giriniz")) If Sayi1 < 100 And Sayi2 < 100 Then MsgBox "Girdiğiniz iki sayıda 100'den Küçük" ElseIf Sayi1 < 100 Or Sayi2 < 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100 den küçük" ElseIf Sayi1 > 100 And Sayi2 > 100 Then MsgBox "Girdiğiniz iki sayıda 100'den Büyük" ElseIf Sayi1 > 100 Or Sayi2 > 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100 den Büyük" ElseIf Sayi1 = 100 And Sayi2 = 100 Then MsgBox "Girdiğiniz iki sayıda 100'e eşit" ElseIf Sayi1 = 100 Or Sayi2 = 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100'e eşit«End If

Page 75: Visual Basic Ders Notu

SELECT / CASE

If...Then karar yapısının gelişmişidir. Sadece bir değişkenin durumunu kontrol eder. Kontrolu yapılacak değişken birden fazla değer alabiliyorsa If...Then yapısına oranla daha kulanışlıdır. Kullanım şekli aşağıdaki gibidir.

Kullanımı Kalıbı

select case değişkencasecaseend select

Page 76: Visual Basic Ders Notu

SELECT / CASE

Page 77: Visual Basic Ders Notu

Klavyede 0 - 5 arasında bir rakam girilecek ve ne girildiğini msgbox la bize göstersin

Private Sub Form_Load()

Dim a As Integer

a = InputBox("1 - 5 arasında bir sayı giriniz")

Select Case a

Case 1

MsgBox ("girilen sayı 1'dir")

Case 2

MsgBox ("girilen sayı 2'dir")

Case 3

MsgBox ("girilen sayı 3'dür")

Case 4

MsgBox ("girilen sayı 4'dür")

Case 5

MsgBox ("girilen sayı 5'dir")

'ikinci bölüm 'mesala 8 rakamini girinCase ElseMsgBox ("boyle bir sayi girilemez")End SelectEnd Sub

Page 78: Visual Basic Ders Notu

SELECT / CASE Şifre

Private Sub Command1_Click()

Select Case Text1.Text

Case Is = " "

MsgBox " Biyeri Boş Bırakmışsınız.. "

Case Is = "visual«

If Text2.Text = "1234" Then

MsgBox ("Hoşgeldiniz/Welcome")

Case Else

MsgBox "Üzgünüz.Böyle bir kullanıcı adı bulunmamaktadır."

End Select

End Sub

Page 79: Visual Basic Ders Notu

SELECT / CASE Not Ortalaması

Page 80: Visual Basic Ders Notu

FOR / NEXT

Bir grup deyimi belli sayıda çalıştırarak bir döngü oluşturur. Döngü bir kez işledikten sonra artırım değeri eklenir. Eğer herhangi bir artırım değeri kullanılmadıysa o zaman bir arttırılır. Sayaç değeri bitiş değerinden büyük olduğu zaman döngü sona erdirilir ve program Next deyiminden itibaren devam eder.Döngü değimleri amaç değişkenlerin değerlerini belli aralıklarla yaptırmak. Belli aralıklardaki sayıların toplamı , çıkartmak, çarpmak

DÖNGÜ (ÇEVRİM-LOOP) YAPILARI

Page 81: Visual Basic Ders Notu

Dim Sayac As Integer

For Sayac = 1 To 10

List1.AddItem Sayac

Next Sayac

Liste kutusuna 1’den 10 kadar olan rakamları eklemek için aşağıdaki döngü kurulur.

FOR / NEXT

Page 82: Visual Basic Ders Notu

Private Sub Form_Load()

Dim Sayac As Integer

For Sayac = 2 To 20 Step 2

List1.AddItem Sayac

Next Sayac

End Sub

Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek için aşağıdaki döngü kurulur.

FOR / NEXT

Page 83: Visual Basic Ders Notu

Dim Sayac As Integer

For Sayac = 2 To 20 Step 2

List1.AddItem Sayac

If Sayac=10 Then

Exit For

End If

Next Sayac

For..Next döngüsünden çıkmak için Exit For bildirisi kullanılır

FOR / NEXT

Page 84: Visual Basic Ders Notu

Adımlama azalan biçimde de yapılabilir:

For sayi = 16 to 2 Step -2

Toplam = Toplam + 2

Next Sayi

MsgBox ‘’toplam: ‘’ & Toplam

End Sub

FOR / NEXT

Page 85: Visual Basic Ders Notu

Örnek: Birden yirmiye kadar sayıların toplamını alır:

FOR / NEXT

Page 86: Visual Basic Ders Notu

Örnek: Belirlenen belli bir sayıda ki sayıyı toplayarak bize sonucu bir mesaj kutusunda görüntüler.

FOR / NEXT

Page 87: Visual Basic Ders Notu

Kullanıcının textlere girdiği sayılar dahil arasında kalan sayıların toplamını mesaj kutusunda verir.

FOR / NEXT

Page 88: Visual Basic Ders Notu

FOR / NEXT

Page 89: Visual Basic Ders Notu

KALAN PARA HESABIFOR / NEXT

Page 90: Visual Basic Ders Notu

FOR / NEXT

Page 91: Visual Basic Ders Notu

Faktöriyel Hesabı

( ! ) sembolü ile gösterilir.örneğin n! demek 1'den n'e kadar olan sayılarının yanyana yazılıp çarpımı demektir. 5! demek 1'den 5'e kadar sayıların yanyana yazılıp çarpılmasıdır

Page 92: Visual Basic Ders Notu

Private Sub Form_Load()

Dim i, a, sayi As Integer

a = 1

sayi = InputBox("Sayıyı Giriniz:")

For i = 1 To sayi

a = a * i

Next

MsgBox "Girdiğiniz Sayının Faktöriyeli = " & a

End Sub

Faktöriyel Hesabı

Page 93: Visual Basic Ders Notu

Do ...... Loop ÇEVRIM YAPISI

Visual BASIC’ te Do .... Loop sözcüklerini içeren 4 ayrı tür çevrim yapısı mevcuttur

Do ....... While Loop ÇEVRİM YAPISI Do Until ....... Loop ÇEVRİM YAPISI Do ................ Loop While ÇEVRİM

YAPISI Do ................ Loop Until ÇEVRİM YAPISI

Page 94: Visual Basic Ders Notu

1) Do ....... While Loop ÇEVRıM YAPISI

Önce koşul kontrol edilir. Koşul doğru ise (TRUE), a ile gösterilen komutlar grubu icra edilecektir. Başka bir deyişle, Do ... While Loop yapısı, koşul doğru olduğu sürece sonsuz bir çevrim teşkil edecektir.

ÖRNEK: 1)Form üzerine bir komut butonu yerleştiriniz. Komut

butonunu Caption özelliğini TOPLAM yapınız. Komut butonun kod penceresine aşağıdaki kodu giriniz:

Page 95: Visual Basic Ders Notu

Girilen sayıları kendi içinde toplar

Private Sub Command1_Click()

Dim x, z, y as Long

x = -1

z = 0

Do While x < 4

y = InputBox("Bir sayı giriniz...")

z = z + Val(y)

x = x + 1

Loop

MsgBox z, , "TOPLAM"

End Sub

Page 96: Visual Basic Ders Notu

Kullanıcıdan bir isim yazmasını isteyen bir kod örneği. Ad değişkeni “son” olmadığı sürece devam ediyor. Her defasında font boyutu 1 punto artırılıyor.

Private Sub Form_Load()

Dim Ad As String

Dim Boyut As Integer

Boyut = 12

Tekrar = 0

Ad = InputBox("Lütfen adınızı yazınız. Çıkmak için son yazın")

Do While Ad <> "son"

Form1.FontSize = Boyut

                        Print Ad

                        Boyut = Boyut + 1

                        If Boyut = 20 Then

                                   Exit Do

                        End If

                        Ad = InputBox("Lütfen adınızı yazınız. Çıkmak için son yazın")

Loop

End Sub

Page 97: Visual Basic Ders Notu

Do Until - Loop

For...Next dögüsünün gelişmişidir. Bir koşul yanlış olduğu sürece devam eder. Genel yazım şekli aşağıdaki gibidir. Doğrulanınca durur.

 

Do Until Koşul

Bildiri

Loop

Page 98: Visual Basic Ders Notu

Kullanıcının ilk girdiği sayı dahil 5 defa soru girişi yapılacak ve hepsinin toplamı verilecektir.

Private Sub Command1_Click()

x = -5

y = 0

Do Until x > 0

z = InputBox("Bir sayı giriniz...", , "")

y = y + Val(z)

x = x + 1

Loop

MsgBox y, , "TOPLAM"

End Sub

Page 99: Visual Basic Ders Notu

Program çalıştığı anda kullanıcıya adını soran ve yanlış isim girildikçe soruyu tekrarlayan bir kod örneği. 3.denemeden sonra sonra Do..until döngüsünden çıkılıyor.

Private Sub Form_Load()

Dim Ad As String

Dim Tekrar As Integer

Tekrar = 0

Ad = InputBox("Adınızı Giriniz?")

Do Until Ad = "Uğur"

Tekrar = Tekrar + 1

If Tekrar = 3 Then

MsgBox "Üzgünüm. Deneme hakkınız dolmuştur."

Exit Do

End If

MsgBox "Yanlış isim girdiniz. Lütfen tekrar deneyin."

Ad = InputBox("Adınızı Giriniz?")

Loop

End Sub

Page 100: Visual Basic Ders Notu

Finish