2. VISUAL BASIC PROGRAM YAPISI Bir Visual Basic programı bir proje olarak geliştirilir. Proje içinde form ve modül gibi diğer bileşenler yer alır. Bir proje şu birimlerden oluşur. Bir proje dosyası ve uzantısı “vbp” dir. Her form için “frm” uzantılı dosya Her formun özellikleri için binary (ikili) bir dosya Her class modulu için bir “cls” uzantılı dosya (seçenek) Her standart modül için bir “bas” uzantılı dosya (seçenek)
Proje ve Formlar Yeni bir Visual Basic programına bir proje olarak başlanır. Varsayılan proje türü standart EXE’ dir. Proje penceresiyle birlikte bir form ekrana gelir. Projenin başlangıç adı Project1, formun başlangıç adı ise Form1’dir. Her Visual Basic uygulamasında bir form bulunur. Form üzerine denetimler ve grafikler eklenerek uyugulama geliştirilir. Her bir form aynı zamanda form tasarımının yapıldığı bir alandır. Formlar uygulamanın kullanıcı arabirimini oluşturur. Visual Basic kontrollerinden istenilen kontroller form üzerine fare ile yerleştirilerek uygulamanın arabirimi oluşturulur. Bu arabirim üzerinde metin kutuları (textbox), komut düğmeleri(command buttons) gibi veri işlem elemanları yer alır. Ardından istenilen olaylara göre kodlar yazılarak programın yazılması sağlanır.
VB programları dahilinde hazırlanan alt program veya yordamlar Sub bildiri deyimi ile başlar ve End Sub bildiri deyimi ile biter. Private bildiri deyimi ile alt programın geçerlilik alanı belirlenmektedir. Load olayı formla ilgili ilk çalışan olay olması sebebiyle form üzerinde yapılacak işlemler (Kontrollerin yerlerini değiştirmek, gizlemek, ilk değerleri vermek gibi) burada yapılır. Private Sub Form_Load () ..... End Sub Form_Load () olayının başlangıcı Form_Load () olayına ait kod
Örnek: Proje çalıştırıldığında Form1 üzerine “DEÜ Makina Müh. Böl.” yazdıralım. Private Sub Form_Load() Show FontSize = 15 FontBold = True Print "DEÜ Makina Müh. Böl." End Sub Bu örnekte SHOW ve PRINT komutları kullanlır. SHOW Sadece Form_Load yordamında kullanılır ve form yüklendiği anda ekrana yazılan yazının gelmesi için kullanılır. PRINT Ekrana sabit bir bilgiyi yazmak için kullanılır.
Form Modülü Standart modülü Class modülü Formlar ve Modüller Visual Basic’te kodların yazıldığı ve saklandığı üç tür modül vardır: Form Modülü Standart modülü Class modülü 1. Form Modülleri Form modülleri “frm” bir Visual basic uygulamasının temelini oluşturur. Form modülleri olay yordamlarını, genel yordamları ve form düzeyindeki veri tanımlamalarını içerir.
Örnek: Bir proje ve içerdiği proje elemanları
2. Standart modüller “bas” dosya uzantılı olan standart modüller birçok uygulama tarafından kullanılabilir. Burada yazılan kodlar belirli bir uygulamaya ait olmak zorunda değildir. Uygulama içerisindeki diğer modüllerden de ulaşılabilen (global) ya da modül düzeyindeki tanımlamaları içerirler. Örnek:
3. 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. VB kontrolleri de birer Class’tır. Class’lar program içinde kullanılan birimlerdir. Örnek:
FORMLARIN İDARE VE KONTROLÜ Bir form, kullanıcı arayüzüne eklenen tüm kontrolleri içerir. Formlar, herhangi bir kod (title bar, resize, vb.) yazımı gerekmeden, önceden oluşturulmuş hazır altprogramlardır. Bir formun özellikleri, hazır olarak sunulmuştur. Bazı özellikler: ControlBox Caption, MinButton, MaxButton, Windowstate, Başlık Barı Minimize Maximize Kontrol Menüsü Kapat Form Özellikleri
VB’de çok sayıda form kullanılabilmektedir. Bunun için, “Project” Menüsünden, “Add Form” u seçmek yeterlidir. Yeni bir form ilave edilebilir ve “Project Explorer Window”da bu görülebilir.
Proje içinde birden fazla FORM içermesi durumuda, önce hangi formun yükleneceğini belirlemek için şu yol takip edilir; “Project” “ProjectName Properties” “Startup Object”
Form Durumları ve Gösterimi Programda birden fazla form varsa program çalıştığında sadece ana form gösterilir, diğer formlar gösterilmese de yüklenmiştir, yani bellektedir. Diğer formlar Show metodu ile gösterilebilir. Show metodu, formu yükler ve görüntüleyerek aktif hale getirir. Form1.Show Formun Visible özelliği sadece formu gizler, form bellekte kalır, yani form yüklenmiştir. Hide komutu da benzer işi yapar. Form1.Visible= True Fom1.Hide
Geri plandaki işlemleri gerçekleştiren prosedürlerin yer aldığı bazı formların gösterimi başlangıçta gerekmeyebilir. Bunun için aşağıdaki komutlar kullanılabilir. UnLoad Form1 Load Form1 Özet olarak formlar için aşağıdaki durumlar söz konusudur: Yüklendi ve görüntülendi: Form görüntülendi ve etkileşime açık. (Show) Yüklenmedi: Form, bir disk dosyasında mevcut ve herhangi bir kaynaktan alınmadı. (Unload) Yüklendi fakat görüntülenmedi: Form, hafızaya yüklendi ve gösterim için hazır. (Visible, yada Hide)
Bir formun diğerlerinin içinden kontrolü; Bir formun içinden, diğer formun içine kontrol etmek için ulaşılabilinir. Örnek: Form 1‘deki bir “TextBox”ın text özelliklerine ulaşmak için yapılması gereken: Bu kodta, form1’deki Text1’in değeri, string şeklinde, “merhaba” olarak oluşturulmuştur. Form1.Text1.Text = “merhaba” VB kontrolleri için genel format şöyledir, Sub Kontroladı_Olay ([parametreler)] ........ End Sub
DİYALOG PENCERELERİ InputBox () InputBox () fonksiyonu aktif formdan bağımsız olarak bir diyalog kutusu içinde kullanıcının dışarıdan bilgi girmesine imkan verir. InputBox fonksiyonu bir iletişim kutusu görüntüleyerek kullanıcının bir değer girmesini sağlar. InputBox fonksiyonu kullanıcıdan aldığı değeri programa geri döndürür. Değişken = InputBox (“mesaj”, “başlık”, varsayım, xpoz, ypoz) Örnek : ad= InputBox( “ Adı Soyadı :”, “Bilgi Girişi”,”Ahmet”)
a1 = MsgBox("Program kapansın mı=?", 4, "BIL1002") Ekrana bir diyalog kutusu içinde mesaj vermek için msgbox deyimi veya msgbox() fonksiyonu kullanılır. Fonksiyon geriye bir değer döndürür. Kullanıcınn seçimine bağlı olarak değişen işlem yapılacaksa msgbox() fonksiyonu kullanılır. Msgbox Deyimi: MsgBox (“Mesaj”) Msgbox Fonksiyonu: Değişken = MsgBox (“Mesaj”, Simge ,“Başlık) Örnek: MsgBox “Bilgisayar Programlama BIL1002” Örnek: a1 = MsgBox("Program kapansın mı=?", 4, "BIL1002")
a = MsgBox (“mesaj”, simge, “başlık”) Değeri Anlamı vbOKOnly Sadece OK düğmesini gösterir. vbOKCancel 1 OK ve Cancel düğmesini gösterir. vbAbortRetryIgnore 2 Durdur, Yeniden dene, Yoksay vbYesNoCancel 3 Yes, No, Cancel düğmelerini gösterir. vbYesNo 4 Yes ve No düğmelerini gösterir. vbRetryCancel 5 Retry ve Cancel düğmelerini gösterir. Örnek: a = MsgBox("Hoşgeldiniz", vbYesNO) veya a = MsgBox("Hoşgeldiniz", 4)