Bu yazıda Visual Basic 5.0 ile ilgili tüm yenilikleri bulamayacaksınız, fakat yeni VB’nin özelliklerini görürken, Microsoft’un Internet stratejilerinde ne kadar ciddi olduğunun bir kez daha farkına varacaksınız, bir programlama dilinden öteye gidilen Visual Basic 5.0’da kullanıcının işinin bir yandan ne kadar kolay bir düzeye indirildiğini görürken aynı zamanda kompile olayların nasıl üstesinden gelindiğine de şahit olacaksınız.
Sayfaya ilk baktığınızda "Form Layout Window" ve "Form Editor" adlı iki yeni pencereye rastlıyorsunuz. İçerisinde küçük bir pencere resmi bulunan "Form Layout Window" sayesinde artık formların ekranın neresinde görünmesini istiyorsanız kolayca oraya taşıyabiliyorsunuz.
Aynı zamanda Format menüsünde de bir kopyasını bulabileceğiniz Form Editor ise birden fazla kontolü aynı anda biçimlendirmek, formun düzenini sağlamak için kullanılıyor. Visual Basic’in önceki sürümlerinde kullandığınız birçok kontrolü Properties kutucuğu yoluyla değiştirme imkanı Form Editörü sayesinde çok daha esnek bir hale getirilmiş.
VB’nin her sürümünde az çok değişikliğe uğrayan Properties kutusu VB5.0 ile bambaşka bir görünüm kazanmamış ama işlevselliği arttırılmış, yeni kutunun en güzel özelliği listeden seçilen kontrol özelliklerinin kısa açıklamalarını kutun hemen altında bir pencerede görebilmeniz. Properties kutusu ayrıca isim ve kategorilere göre ayrılmış, kullanıcı kendi isteğine göre kontrol özeliklerini harf sırasına veya kategorilere göre listeleyebiliyor.
Kod penceresine ilk bakıldığında her zamanki gibi sol tarafta kontrol sağ tarafta özellik kutularını görüyorsunuz, "bir kaç satır kod yazalım bakalım" dediğinizde ise bütün işler değişiyor, çünkü VB yazdığınız ilk kontrol isminde veya komut’ta size bir sürpriz hazırlamış oluyor.
Belki de yeni VB’nin en can alıcı özelliklerinden biri olan kod yardımı gerçekten süper tasarlanmış, kullanıcı bir kontrol ismi girdiğinde VB kontrol ile ilgili kullanabileceğiniz tüm özellikleri bir araya getiriyor ve bir liste hazırlıyor, programcıya sadece ok tuşlarıyla uygun özelliği bulup ENTER ile kodların arasına eklemek kalıyor. Pencereye bir komut girildiğinde ise VB hemen ilgili komut için bir yardım baloncuğu çıkarıyor.
Kod yardımı sadece kontroller ve komutlar için değil tüm sınıflar, değerler gibi VB’nin tüm bileşenleri için geçerli. VB 4.0 ile gelen altyordamların çizgi ile ayrılma özelliği VB5’de default olarak geliyor.
Programlar artık bir proje gibi değil de bir "GRUP" gibi görünüyor, kod aşamasında yazdığınız tüm ActiveX kontrolleri, dökümanları, sınıflar ve formlar VB5’de bir grup gibi görünüyor. VB5 tüm bir projeyi kaydetmek istediğinizde projenin soyadını VBG olarak atıyor. Grup mantığı içerisinde kontrolleri ve diğer bileşenleri başka projelerde veya tek başına kullanabilseniz bile gruplar, örneğin bir ActiveX kontrolü bulunamadığında hata veriyor ve çalışmıyor.
Programlarınızın tüm hiyerarşisini her zamanki gibi Project penceresinde görebiliyor ve değiştirebiliyorsunuz, her ActiveX dökümanı, sınıf, form ve ileride değineceğimiz "Property Page" yaratıldığı anda burada beliriyor.
Kontrol özelliklerini "Expose Etmek"
Bir Visual Basic kontrolünü seçtiğinizde ve properties kutusuna baktığınızda onun kullanabileceğiniz tüm özelliklerini görürsünüz. Kendi tasarladığınız kontroller için de değişen bir şey yok. Kontrol, tasarım aşamasındayken tüm özellikleri properties kutucuğunda beliriyor, fakat kontrolü form üzerine yerleştirdiğinizde işler değişiyor çünkü kontrolün sadece renk boyu gibi temel özelliklerini listede görebiliyorsunuz. Microsoft’un amacı son kullanıcının bir kontrolün tüm özelliklerini değil sadece programcının tayin ettiği özellikleri özellikleri görebilmesini sağlamak. Bu da Visual Basic 5’deki
bazı komutlar ve sihirbazlarla sağlanmış. Menülerden bulacağınız "ActiveX Control Wizard" ile kontrolde programınız tarafından kullanacağınız özellikleri seçebilir yani kontrol özelliklerinin bazılarını expose edebilirsiniz.
Bir kontrolü expose ettiğinizde aşağıdaki gibi kodlar ortaya çıkacaktır. Get Color ve Let Color kontrol özelliklerinin form içinden hem okunmasını hem de değiştirilmesini sağlamak amacıyla kullanılmıştır.
Option Explicit Public Property Get Color() As Long Color = BackColor End Property Public Property Let Color(NewValue As Long) BackColor = NewValue End Property Private Sub UserControl_Initialize() End SubProperty Page
Program içerisinde bir kontrol en fazla 1 property page’e sahip olabilirken projede istediğiniz kadar property page kullanabilirsiniz.
Visual Basic’de yeni bir fonksiyon: enumerate
Bir değişkene atanabilen tüm değerleri teker teker saymak anlamına gelen "enumerate" olayı MS Visual C++ gibi güçlü programlama dillerinde çok önceleri kullanılmaya başlansa da Visual Basic’e hiç bir zaman dahil edilmemişti. VB5 ile birlikte ENUM fonksiyonunu API’lerden çağrılmasına izin verilmiş.
Aşağıdaki küçük program fonksiyonun yapabileceklerinin en güzel kanıtı. Form üzerinde bir liste kutusu bir de komut butonu yarattıktan sonra aşağpıdaki kodları girin. Program, Windows içinde açık olan tüm pencereleri, açıklamalarını ve kodlarını liste kutusuna yazacaktır.
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, _ ByVal lParam As Long) As Long Function enumerate(ByVal xhwnd As Long, ByVal lret As Long) As Boolean If lret = 0 Then enumerate = False Else Form1.List1.AddItem CStr(xhwnd) enumerate = True End If End Function Private Sub Command1_Click() Dim x As Integer x = EnumWindows(AddressOf enumerate, 5) Select Case x Case 0 MsgBox "Hata oluştu" Case Else MsgBox "Tüm uygulamalardaki pencere sayısı " & List1.ListCount End Select End Sub
Öncelikle VB açıldığında yeni bir ActiveX kontrolü yaratın ve bunun içerisine rastgele işler yapan bir buton v.s. yerleştirin. Bundan sonra yeni bir form yaratın ve arkada kalan ActiveX kontrolünü "silmeden tamamen KAPATIN", kontrol çobuğunda silik olan bir buton, renklenecek ve kullanılabilir hale gelecektir. Bu butona basarak formunuzun üstüne gidin ve sağ tuşa basılı olarak formun üzerine bir kare çizin. Şu anda kendi yarattığınız ve Microsoft’un liste kutusu, klasör kutusu gibi ve aynı kategoriye giren bir ActiveX kontrolünü formunuzun üstüne yerleştirdiniz. VB5 ayrıca kontrolleri derleyerek OCX haline getirmenizi ve sonradan formlarınızın içinde bunları tekrar kullanabilmenize izin vermektedir.
Bu işlemlerden sonra VB projenizi DENEME.VBG olarak kaydedin ve "Application Setup Wizard"ı çalıştırın. Bu program size ne tip bir uygulama yapmak istediğinizi sorduğunda ona ActiveX uygulaması olarak cevap verin ve DENEME.VBG’yi seçerek işleme başlayın. Tüm işlemler bittiğinde programı derlendiğiniz dizinde bir CAB uzantılı bir de HTM uzantılı ili dosya ile karşılaşacaksınız.
HTM dosyasının içeriğine baktığınızda VB tarafından otomatik olarak yazılmış olan aşağıdakine benzer kodlarla karşılaşacaksınız.
Nihayet HTM sayfasını Explorer ile görüntülediğinizde kontrolün aynı Visual Basic formunda çalıştığı gibi çalıştığına şahit olacaksınız. En sonunda Internet üzerinde de çalışabilen bir uygulama geliştirdiniz.