VISUAL BASIC DE VERİ GİRİŞİ VE EKRAN MESAJLARI INPUTBOX() ile Veri Girişi Yapısı : Default Değer Form Üzerindeki Konum (0,0) sol üst köşe Değişken adı Veri Giriş Kutusu Gövdesindeki Mesaj Veri Giriş Kutusu Başlığı (Caption) VB DE PROGRAMA VERİ GİRİŞİ İÇİN INPUTBOX() FONKSİYONU KULLANILIR. INPUTBOX FONKSİYONU AKTİF FORMDAN BAĞIMSIZ OLARAK BİR DİYALOG KUTUSU İÇİNDE KULLANICININ DIŞARIDAN VERİ GİRİŞİNE İMKAN VERİR. 1
MSGBOX() ile MESAJ YAZMAK PEOGRAMIN ÇALIŞMASI SIRASINDA KULLANICIYA BELİRLİ DURUMLARDA BİR DİYALOG KUTUSU İLE MESAJ VERMEK İÇİN MSGBOX DEYİMİ VEYA MSGBOX() FONKSİYONU KULLANILIR. FONKSİYON PROGRAMA BİR DEĞER DÖNDÜRÜR. KULLANICINN SEÇİMİNE BAĞLI OLARAK DEĞİŞEN İŞLEM YAPILACAKSA MSGBOX() FONKSİYONU KULLANILIR. Yapısı : MsgBox("Program Sonlandirildi...") vbmsg = MsgBox("Program Sonlandirildi...", vbinformation) Proje Adı Prompt 2
MESAJ KUTUSU ÜZERİNDE TIKLANAN BUTONA GÖRE PROGRAM YÖNLENDİRİLEBİLİR. vbmsg = MsgBox("Devam Etmek Istiyor musunuz? (Y/N)", vbquestion + vbyesno, "Program Sonu") If vbmsg=vbyes Then Exit Sub If vbmsg = vbno Then End MESAJ KUTUSU ÜZERİNDEKİ DEFAULT BUTON ÖNCEDEN SEÇİLEBİLİR. vbmsg = MsgBox("Devam Etmek Istiyor musunuz? (Y/N)", vbquestion + vbyesno+vbdefaultbutton2, "Program Sonu") 3
MESAJ BUTONU DÜZENLEMELERİ vbquestion vbokonly vbexclamation vbyesno vbcritical vbokcancel vbinformation vbyesnocancel 4
Bir Visual Basic Programının n Yapısı Bir Visual Basic programı bir proje olarak geliştirilir. Proje vbp uzantılı bir dosyadır. Proje içinde form (frm) ve modül (bas) gibi diğer bileşenler yer alır. Bir proje şu u birimlerden oluşur. ur. Bir proje dosyası. Bütün n elemanları takip etmeyi sağlayan bu dosyanın n uzantısı vbp dir. Her form içini in bir frm dosyası Her formun özellikleri için i in binary (ikili) bir dosya Her class modulu için i in bir cls dosyası ( seçenek) enek) Her standart modül l için i in bir bas dosyası (seçenek) enek) 5
Proje ve elemanları 6
Formlar ve Modüller VISUAL BASIC KODU MODÜL İÇİNDE SAKLANIR Visual Basic te kodların yazıld ldığı ve saklandığı üç tür modül l vardır: r: Form Modül Standart modül Class modülü 7
Form Modülleri Form modülleri (.FRM ) bir Visual basic uygulamasının temelini oluşturur. Form modülleri olay yordamlarını (kodlar), genel yordamları ve form düzeyindeki veri tanımlamalarını içerir. 8
Standart modüller BAS dosya uzantılı olan Standart modüller Uygulama içerisindeki diğer modüllerden de ulaşılabilen (global) ya da Modül düzeyindeki tanımlamaları içerirler. Burada yazılan kodlar belirli bir uygulamaya ait olmak zorunda değildir. Standart modüller birçok uygulama tarafından kullanılabilir. 9
Class modüller CLS dosya uzantılı olan Class modüllerde yazılan kodlarla yeni nesneler yaratılır. Bu nesneler kendi özel metot ve özelliklerine sahiptirler. Class lar program içinde kullanılan birimlerdir. VB kontrolleri de birer Class tır. 10
Değişkenler Değişkenler program içinde i inde kullanılan lan sayısal sal ve alfanümerik değerleri, erleri, bilgileri, sonuçlar ları hafızada tutabilmek için i in kullanılan lan adresleri temsil ederler. VB de sayısal, sal, alfanümerik, mantıksal, tarih gibi bilgileri atamak için i in farklı tiplerde değişkenler tanımlanabilir. Değişkenin kullanılmadan lmadan önce tanımlanmas mlanması hafızada ayrılacak hafıza miktarının n belirli olmasını sağlar lar. Değişkenlerin mutlaka bir adı ve tipi vardır. r. Değişken tanımlamada Implicit ve Explicit olmak üzere iki farklı yöntem bulunmaktadır. Bir değişken önceden tanımlanmadan değer er ataması yapılır ise buna İmplicit yöntem y adı verilir. R=12.4 A=3.1415*R^2 Değişkenler kullanılmadan lmadan önce tanımlan mlanır r ise bu yönteme y Explicit t yöntem y adı verilir. Bu tanımlama Dim deyimi ile değişken kullanılmadan lmadan önce yapılır. Dim R, A R=12.4 A=3.1415*R^2 11
Veri Tipleri Visual Basic de farklı veri tipleri ile işlem yapmak mümkündür. Değişken tanımlamalarında veri tipi önceden belirtilir ise ilgili değişken için hafızadaki yer önceden rezerve edilmiş olur. Dim R As Double Dim n As Integer Byte Boolean Currency Date Double Integer VERİ TİPLERİ Long Object Single String Variant 12
Örnek : Private Sub Form_Load() Dim Ad,, Soyad As String Dim Maas As Currency Dim D_tarihi As Date Dim Adres As String Dim Sira As Integer... End Sub Burada görmg rmüş olduğunuz unuz gibi 6 adet degişken tipi ile birlikte tanımlanmaktad mlanmaktadır. Ad,, Soyad değişken kenleri string (Alfanümerik) tipinde değişken kenlerdir. Maaş değişkeni Currency tipinde bir değişkendir. D_tarihi değişkeni Date tipinde bir değişkendir. Adres değişkeni string tipinde bir değişkendir. Sira değişkeni integer tipinde bir değişkendir. 13
Veri Tipi Byte Integer Long Single Double Currency String Boolean Date Variant Boyut 1 byte 0-255 2 byte -32768 ile 32767 Tanım m Aralık 4 byte -2147483648 ile 2147483647 4 byte Negatif Değerler: erler: -3.402823E38 ile -1.401298e-4545 Pozitif Değerler: erler: 1.401298e-45 45 ile3.402823e38 8 byte Negatif Değerler: erler: -1.79769313486232E308 ile 4.94065645841247E-324 Pozitif Değerler: erler: 4.94065645841247E-324 ile 1.79769313486232E308 8 byte -922337203685477.5808 ile 922337203685477.5807 10 byte 0 ile 2 milyar arasında karakter atanabilir 2 byte True veya False 8 byte 1 Ocak 100 ile 31 Aralık k 9999 16 byte Tüm m verileri ifade edebilir 14
Integer Visual Basic te tam sayı degişkenleri tanımlamak için i in kullanılır. Hafızada 2 byte yer kaplarlar. Alabilecegi değer er aralığı 32768 ile +32767 arasındad ndadır. Değişkenin sonunda % karakteri bulunuyorsa bu degişken integer tipindedir. Örnek : Private Sub Form_Load() Dim Maas As Integer Oran% = 100 A_sayı = 100 B_sayı = Oran*A_sayı C_sayı = B_sayı + A_sayı 1000 Maas= 32767 End Sub UYARI : Eğer burada tanımlanan değişkenlere daha büyük b k sayılar atanırsa overflow hatası oluşur. ur. 15
Long Daha büyük b k bir aralıkta integer yani tamsayı tanımlamak için in kullanabilecegimiz bir veri tipidir. Hafızada 4 byte yer kaplar. Kullanılabilecek labilecek uçu degerler +2,147,483,647 ile - 2,147,483,648 dir. Long tipinde bir degişken tanımlamak için i in degişken sonunda & karakterini kullanabiliriz. Örnek : Private Sub Form_Load() Dim Bolum As Long Bolum=50000 Cıkan&=600000 Kalan& = (Cıkan( / Bolum B m ) * 10000 End Sub 16
Single Tam sayı olmayan küsüratlk ratlı sayılar içini in kullanabilecegimiz bir veri tipidir. Kayan-noktal noktalı sayı olarak isimlendirilir. Single tipindeki veriler bellekte 4 byte yer kaplarlar. Negatif sayılar için i in alabilecegi aralık -3.402823E38 ile 1.401298E-45 45, pozitif sayılar için i in alabilecegi aralık k 1.401298E-45 45 ile 3.402823E38 arasındad ndadır. Single tipinde veri tanımlamak için i in degişken sonuna! karakteri konur. 7 haneye kadar hassastır.daha sonrası yuvarlatılır. r. Örnek : Private Sub Form_Load() Bölüm=50000 Cıkan!=600000 End Sub 17
Double Visual Basic te kullanılabilecek labilecek en büyük b k sayısal sal degerlerin veri tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar. Maximum alabilecegi degerler pozitif sayılar için i in 4.94065645841247E-324 ile 1.797693134862232E308 negatif sayılar için i in de -1.797693134862232E308 ile - 4.94065645841247E-324 arasındad ndadır. # sembölü ile double tipinde degişkenler tanımlanabilir Örnek : Private Sub Form_Load() Dari=50000 Bugday=600000 Arpa=340.56 End Sub 18
Currency Sayısal tipdeki veriler için i in tanımlanm mlanmış özel bir veri tipidir. Hafızada 8 byte yer kaplarlar. 4 hane ondalık k kısmk smı olmak üzere toplam 19 haneden oluşur ur (nokta hariç). Alabilecegi maximum degerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasındad ndadır. @ sembolü ile Currency tipinde değişken ken ler tanımlanabilirler. Örnek : Private Sub Form_Load() Dim Maas,, Borc As Currency Maas = 500000000 Borc = 68000000 Zayi@ = 340000.56 End Sub 19
Date Tarih türündeki t bilgileri i kullanmak için i in oluşturulmu turulmuş bir veri tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak 100 ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz. Örnek : Private Sub Form_Load() Dim Dogum_tarihi, Evlenme_Tarihi,Bugun As Date Dogum_tarihi = 23/05/1990= 23/05/1990 Evlenme_Tarihi= 02,June,2005 02,June,2005 Bugun=Date veya saat ile birlikte Now Print Bugun End Sub 20
Boolean Mantıksal veri tipleri için in kullanılır. İki seçenekten enekten birisini alabilir.bunlar True veya False degerleridir. Bellekte 2 byte yer işgali eder. Örnek : Private Sub Form_Load() Dim Durum,, Duyum As Boolean Durum = True Duyum = False End Sub 21
String Metin türüt bilgileri saklamak için i in kullanılabilecek labilecek veri türüdür. t r. 16 bitlik versiyonda 0 ile 65538 arasında, 32 bitlik versiyonda ise 0 ile 2,000,000,000 arasında karakter alabilir. String türünde t degişken tanımlamak için i in $ sembolü kullanılır. Örnek : Private Sub Form_Load() Dim Adi, Soyadi As String Adı = Kemal Soyadı = Tas No$="1323970067" End Sub 22
Değişken adlandırılmas lmasıyla ilişkin kurallar Bir harf ile başlamal lamalıdır. Nokta içermezler. i 255 karekterden fazla olmazlar. ( Kontrol adları, form adları,, class ve modül l adları 40 karekteri geçmez) Bir Visual Basic deyimi adlandırmada kullanılmaz. lmaz. Kapsama alanı içinde inde tek olmalıdır. 23
Değişkenleri nerede tanımlamal mlamalıyız? Değişkeni bir formun, standart modülünün n Declarations bölümünde b tanımlamak. Bir değişken Public sözcs zcüğü ile tanımlamak onu tüm t m uygulama tarafından kullanılabilir labilir yapar. Yerel bir değişkenin Static sözcs zcüğü tanımlama onun içerii eriğinin inin procedure in sonlanmasına na rağmen sürmesine neden olur. 24
Visual Basic Projesi Standart Modüle (*.bas) dosyası (Project/Add Module) (Public X as Integer de kullanılabilir) 25
Yerel Değişkenlerin Tanımlanmas mlanması Static deyimi ile tanımlanan yerel değişkenler program çalıştığıığı sürece bellekte kalırlar ve istenildiği i zaman kullanılabilirler. labilirler. Dim deyimi ile procedürler rler içerisinde i tanımlanan yerel değişkenler ise procedure çalıştığıığı süre içinde inde bellekte kalırlar, prosedür çalıştıktan sonra hafızadan silinirler. 26
Sabitler Sabitler, sahip oldukları değerler erler ile kullandığı ığımız bilgi tanımlamalar mlamalarıdır. r. Özellikle belli (bilinen) değerlerin erlerin kullanımını sağlar. Kodlamayı ve kodun okunabilirliğini ini kolaylaştırır. r. 27
Örnek: Buton Clickleme Adedinin Sayılması Private Sub Command1_Click() Cls Dim click_adet As Integer click_adet = click_adet + 1 Print "Tiklama Adedi="; click_adet End Sub Private Sub Command1_Click() Cls Static click_adet As Integer click_adet = click_adet + 1 Print "Tiklama Adedi="; click_adet End Sub BAŞARISIZ BAŞARILI Form General Declerations BAŞARILI 28
Sabitlerin Tanımlanmas mlanması Const AD [ As Tip] = Değer er Programda değişmeyecek değerler Const (Sabit) tanımlaması ile tanımlanır. Bu değişkenlere daha sonra değer ataması yapılamaz. Const PI = 3.141592 Const KATSAYI = 2.5 Sabitlerin değeri eri bir sayı ya da karakter olabileceği i gibi bir ifade de olabilir. Const ALT_ORAN=3 Const ORAN = Alt_ORAN * 2 Sabitlerin kapsamı da değişken kapsamı kurallarına benzer. 29