Visual Basic Dersi 4

Bu konuyu okuyanlar

Berkin Bozdoğan

Müdavim
Katılım
18 Mayıs 2005
Mesajlar
4,926
Reaksiyon puanı
38
Puanları
0
Visual Basic versleri devam ederken Memik Yanık bize Microsoft'un yazılım geliştirme ortamı olan Visual Studio'yı anlatıyor ve proje hazırlıklarına giriyor.

Microsoft firması son birkaç yıldır .NET Framework adı verilen sınıf kitaplığını ücretsiz olarak dağıtmaktadır. Bütün .NET Framework sürümlerinde hazır sınıflardan başka Visal BASIC, C# ve C++ derleyicileri de bulunmaktadır. Başka bir deyişle yalnızca .NET Framework'ten yararlanıp Visal BASIC veya C# dilinde uygulamalar geliştirmek mümkündür. Ne ki Not Defteri veya başka bir editörle Visal BASIC programları yazıp DOS penceresinde derlemek zahmetli ve günümüz şartlarında iğneyle kuyu kazmak gibidir. Daha önce yayınlanan Visal BASIC ile ilgili 2 derste Not Defteri ile konsol uygulamaları geliştirip Visal Basic'e alışmaya çalışmıştık.

Çözüm ise Microsoft ürünü Visal Studio adı verilen program geliştirme aracından veya IDE'den yararlanmaktadır. Visal Studio paketi ile hem Web uygulamaları hem C# hem C++ hem de Visal Basic dilini kullanan uygulamalar geliştirmek mümkündür. Microsoft firması 2004 yılından itibaren programlama dillerine özel ve Visal Studio'nun kısıtlı özelliklere sahip sürümlerini hazırlayıp ücretsiz olarak dağıtmaya başladı. Bu sürümlere Express Edition adı verildi. Visal Studio 2005 için konuşmak gerekirse Visal Studio 2005 ile .NET Framework 2.0 destekli ve istenilen programlama dilinde uygulama geliştirmek mümkün iken Visal Basic'e özel Express Edition ile ancak Visal Basic uygulaması geliştirmek mümkündür.

Bu söylenenlerden yola çıkarak Visal Basic için hazırlanmış Express Edition hakkında şunlar söylenebilir: Not Defteri ile uygulama geliştirmek istemeyenler ve Visal Studio 2005'i edinemeyenler Express Edition'la idare edebililer. Bu metni kaleme aldığım günlerde Microsoft Express Edition'ların 2008 sürümlerini hazırlayıp dağıtmaya başlamıştı.

Bu derste Visal Basic için hazırlanmış Express Edition 2005'in program geliştirme ortamı hakkında kısaca bilgi verile­cektir. Tekrar etmek gerekirse; Express Edition ilgili programlama dilinin veya derleyicinin adı olmayıp "program geliştirme ortamının" veya yaygın bilinen adıyla IDE'nin adıdır. Visal Basic için hazırlanan Express Edition, yazdığınız programları derlerken .NET Framework ile gelen .NET uyumlu Visal Basic derleyicisinden yararlanır.

Visal Basic için hazırlanan Express Edition'ı indirip kurma konusunda sorun yaşıyorsanız daha önce bu amaçla hazırladığım FDF formatındaki metni kişisel sitemden indirip okumanız önerilir. Visal Basic 2005 Express Edition'ı(bu adlandırma veya Microsoft'un verdiği bu ad kafaları karıştırdığı için zaman zaman "Visual Basic için hazırlanan Express Edition" deme gereğini duyuyorum) kurup çalıştırırsanız aşağıdaki gibi Visal Basic 2005 Express Edition penceresi ile karşılaşırsınız.

vb_ders_4_resim_01.gif

Visal Basic 2005 Express Edition çalıştırıldığında yeni proje hazırlayabilmeniz veya mevcut projeleri açabilmeniz için Start Page ekrana getirilmektedir. Recent Projects kutusundaki Open ve Create seçenekleri ile mevcut projeleri açabilir yeni projeler hazırlayabilirsiniz. İsterseniz Start Page sayfasını kapatabilirsiniz.

Proje Hazırlamak

Daha önce açılıp kapatılan Visal Studio projeleri Start Page sayfasında Recent Projects kutusunda listelenmektedir. Yukarıda verilen ekran görüntüsünü aldığım sırada herhangi bir Visal Basic projesini daha önce açıp üzerinde çalışmamıştım.

Mevcut projelerden birisini açmak istiyorsanız Open seçeneğinin karşısındaki Project linkini tıklamanız gerekir. Yeni bir Visal Basic projesi hazırlamak üzere Start Page'deki Create seçeneğine ait Project linkini tıklarsanız ekrana New Project diyalog kutusu gelir. Bu diyalog kutusunda .NET uyumlu Visal Basic için hazırlanan Express Edition ile birlikte verilen şablonlar listelenmektedir.

vb_ders_4_resim_02.gif

Madem daha önceki derslerde DOS penceresinde derlenip çalıştırılan Visal Basic programları hazırladık; kaldığımız yerden devam etme niyetine bir konsol uygulaması hazırlayalım. Bu amaçla New Project diyalog kutusunda Console Application şablonunu seçip Name kutusuna konsol uygulamasına vermek istediğim adı yazdım. Bu şablonu seçip OK düğmesini tıklarsanız aşağıdaki gibi bir Express Edition penceresi ile karşılaşırsınız.

vb_ders_4_resim_03.gif

Express Edition tarafından hazırlanan bu kodu incelerseniz size yabancı gelen fazla bir şeyin olmadığını fark edersiniz. New Project diyalog kutusunda uygulamaya vermiş olduğum ad aynı zamanda Module adı olarak kullanılmış. .NET uyumlu Visal Basic projeleri çalışmaya Main() metodundan başladıkları için Module adı verilen kod dosyası içinde Main() metoduna yer verilmektedir.

Bu şartlarda "Proje1" adını verdiğim konsol uygulaması henüz bellekte tutulmaktadır. Henüz herhangi bir değişiklik yapmadığımız bu konsol uygulamasını kaydedelim. Bu amaçla File menüsünden Save All komutunu verebilir veya Standard araç çubuğundaki ilgili düğmeyi tıklayabilirsiniz. File menüsünden Save All komutunu verdiğinizde ekrana aşağıda verdiğim Save Project diyalog kutusu gelir.

vb_ders_4_resim_04.gif

Her ne kadar projeyi veya konsol uygulamasını hazırlarken New Project diyalog kutusunda bir ad vermekle birlikte projeyi kaydederken bu adı değiştirme imkanımız var. Projeye vermek istediğiniz adı Name kutusuna, projenin kaydedileceği klasörü ise Location klasörüne yazmanız gerekir. Klasör adını doğrudan yazmak yerine Browse düğmesini tıklayabilirsiniz.

Save Project diyalog kutusuna ayrıca Solution Name başlıklı bir metin kutusu bulunmaktadır. Visual Basic 2005 Express Edition ve Visual Studio sayesinde bir veya birden fazla proje bir araya getirilerek Solution hazırlanmaktadır. Başlangıçta proje adı ile proje grubu işlevi gören "Solution" adının aynı olacağı varsayılmaktadır. Projenin kaydı sırasında hazırlanan dosya veya klasörleri sizlere göstermek için Solution'a farklı bir ad verdim.

vb_ders_4_resim_05.gif

Express Edition ile hazırlanan Visual Basic projelerinin geçerli kullanıcıya ait "Belgelerim" klasörünün altındaki "Visual Studio 2005\Projects" klasörüne kaydedilmek istendiği varsayılmaktadır. Bu konsol uygulaması için Express Edition tarafından hazırlanan klasör ve dosyalara dikkatinizi çekmek için Location metin kutusuna "C:\Projeler" yazdım.

Proje hazırlanırken belirtilen klasörün altında önce Solution ile aynı ada sahip bir klasör hazırlanıyor. Ardından Solution'a ait klasörün içinde proje için ayrı bir klasör hazırlanmaktadır. Çünkü Solution'lar çok sayıda projeye sahip olabilirler. Proje için hazırlanan klasör ve dosyaları aşağıda görebilirsiniz.

vb_ders_4_resim_06.gif

Bu ekran görüntüsünü incelerseniz Solution için hazırlanan klasörün içinde proje ile aynı ada sahip bir klasörün hazırlanıp projeye ait dosyaların bu klasöre yerleştirildiğini görebilirsi­niz. Solution birden fazla projeden meydana gelmeyecekse Solution ile projeye ait dosyaların bir arada olmasını sağlayabilirsiniz.

Solution için ayrı bir klasör hazırlanmasını istemiyorsanız Save Project diyalog kutusundaki Create directory for solution onay kutusunu pasif duruma getirmelisiniz. Bu onay kutusunu pasif duruma getirdiğinizde Save Project diyalog kutusunda Solution'a ad veremezsiniz. Aşağıda verilen ekran görüntüsünü "Create directory for solution" onay kutusunu pasif duruma getirip "Proje1" adında bir konsol uygulaması hazırladıktan sonra aldım.

vb_ders_4_resim_07.gif

Eminim ki bu dersleri izleyenlerin çoğunluğu şimdiye kadar bilgisayarlarına Express Edition'ı kurdular ve bu metni okurken bir taraftan yukarıda yaptığım gibi kendileri de konsol uygulaması hazırladılar. Bu ekran görüntüsüne veya kendi hazırladığınız proje için hazırlanan klasöre bakarsanız Express Edition'nın konsol uygulaması için birkaç klasör ve dosya hazırladığını fark etmiş olmalısınız.

Express Edition ile yukarıda anlatılan şekilde hazırlanan projeyi çalıştırırsanız projenin çalışması ile çalışmasının sona ermesi bir olur. Projenin veya konsol uygulamasının çalışmasının hemen sona ermesini engellemek için Main() metodun aşağıdaki gibi 3 satır ekledim.


Module Module1
Sub Main()
System.Console.WriteLine("shiftdelete.net")
System.Console.Write("çıkmak için bir tuşa basın")
System.Console.Read()
End Sub
End Module



Bu satırlar Express Edition penceresinde Main() metodu ile sınırlanan bloğa yazılıp sonra da Debug menüsünden Start Debugging komutu verilir veya Standard araç çubuğundaki Start Debugging düğmesi tıklanırsa Express Edition otomatik olarak derleme yapıp önce EXE dosyayı hazırlar sonra da bu EXE dosyayı çalıştırır. Hazırlanan EXE dosya Bin klasörü içinde yer alan Debug klasörüne kaydedilir.

vb_ders_4_resim_08.gif

Solution ve Proje Dosyaları

Express Edition tarafından hazırlanan SLN uzantılı dosya Solution dosyasıdır. Tekrar etmek gerekirse Solution'lar proje grubu gibi işlev görmekte ve birden fazla proje üzerinde çalışıldığı zaman kolaylıklar sağlamaktadır. Bu örnekte konsol uygulamamız bir projeden meydana geldiği için SLN uzantılı dosyayı şimdilik unutabiliriz.

Buradaki "vbproj" uzantılı dosya ise proje dosyasıdır. "vbproj" uzantılı proje dosyalarında projedeki form ve class'lar hakkında bilgi bulunmaktadır. Yukarıda proje hazırlarken Console Application şablonundan yararlandığım bu proje herhangi bir forma sahip değildir. Express Edition tarafından hazırlanan proje dosyasının içeriğini size göstermek için Not Defteri'nden yararlandım. XML formatındaki bu dosyaya şimdilik ilgisiz kalabilirsiniz.

vb_ders_4_resim_09.gif

Express Edition tarafından konsol uygulaması için hazırlanan SLN ve VBPROJ uzantılı dosyalarıyla ilgimizi şimdilik kopardıktan sonra geriye bir tek "module.vb" dosyası kaldı. Şimdi "module1.vb" dosyasını Not Defteri ile açıp içeriğini size göstereceğim.

vb_ders_4_resim_10.gif

Gördüğünüz gibi bu satırlar Express Edition penceresine getirilen satırlar ile aynıdır. Visual Basic projeleri çalışmaya Main() metodundan başlamaktadır. Main() metodu Module bloğu içinde yer alabileceği gibi Class bloğuna konulabilir.

Konsol uygulamalarında başlangıçta kod içeren bir tek "module1.vb" dosyası olduğu için işletilmesini istediğiniz satırları Main() metodunun içine yazabilirsiniz. Şimdi öyle bir ayarlama yapacağım ki bu konsol uygulaması çalıştırıldığı zaman ekrana bir pencerenin gelmesini sağlayacağım.

vb_ders_4_resim_11.gif

Bu kodu dikkatlice incelerseniz Imports deyimi ile System.Windows.Forms adlı Namespace'i koda dahil etmiş olduğumu fark edersiniz. Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelebilir. Çünkü bu Namespace .NET Framework ile gelen System.Windows.Forms.dll adlı dosyada yer almaktadır. .NET Framework'ün kurulu olduğu klasöre baktığınızda bu dosyayı görebilirsiniz.

Konsol uygulamaları dahilinde ekrana pencere getirmek için bu DLL dosyasının konsol uygulamasına dahil edilmesi gerekiyor. Bunun için Express Edition penceresi içinde yer alan Solution Explorer penceresinden yararlanıp Add Reference diyalog kutusunu ekrana getirip System.Windows.Forms.dll adlı referansı uygulamaya dahil etmelisiniz. Başlangıçta üzerinde çalıştığınız projeye dahil edilmiş referanslar Solution Explorer penceresinde listelenmiyor. Bu nedenle Express Edition penceresinin sağ tarafına yuvalanmış Solution Explorer penceresini açarsanız aşağıdaki gibi bir sonuçla karlışılaşırsınız.

vb_ders_4_resim_12.gif

Üzerinde çalıştığınız projeye dahil edilmiş referansları görmek istiyorsanız Solution Express penceresine ait araç çubuğundaki Show All Files düğmesini tıklamalısınız. Aşağıda verdiğim ekran görüntüsünü Show All Files düğmesi projeye ait bütün dosyaların görüntülenmesini sağlayıp bu referans veya DLL dosyasını projeye dahil ettikten sonra aldım.

vb_ders_4_resim_13.gif

Konsol uygulamaları üzerinde fazla durmayacağım için referans vs nedir gibi soruları şimdilik atlıyorum. Yukarıda verdiğim konsol uygulaması çalıştırıldığı zaman önce bir DOS penceresi açılır. Ardından yaptığım hazırlıktan dolayı ekrana bir pencere gelir. Bu pencereyi kapattığınızda konsol uygulamasının çalışması sona erer ve DOS penceresi kapatılır.

vb_ders_4_resim_14.gif

Windows Forms Uygulamaları

Daha önceki derslerde söylendiği gibi konsol uygulamalarına çok az ihtiyaç duyacağınız için Express Edition ile hazırlanan konsol uygulamaları üzerinde fazla durmaya gerek duymadan Windows Forms denilen normal uygulamalara odaklanacağız. Bu nedenle yukarıda hazırladığım konsol uygulamasını kapatıp ekrana New Project diyalog kutusunu getirip Windows Application şablonunu seçtim.

Image
vb_ders_4_resim_15.gif

Bildiğiniz gibi C# için hazırlanan Express Edition ile hazırlanan projelerde New Project diyalog kutusunda projeye verilen ad sonradan değiştirilebilmektedir. Projeye vermek istediğim adı Name kutusuna yazıp OK düğmesini tıklayınca aşağıdaki gibi bir Visual C# 2005 Express Edition penceresi ile karşılaştım.

vb_ders_4_resim_16.gif

Windows Application şablonu ile hazırlanan projeye bir form dahil edilmekte ve bu form açılıp Express Edition penceresine gerilmektedir. Bu proje üzerinde herhangi bir değişiklik yapmadan çalıştırırsanız karşınıza bu form veya pencere gelir. Bu formun üzerine hemen düğmeler, TextBox'lar veya ListBox'lar yerleştirmek yerine Windows Application şablonu ile hazırlanan projenin özelliklerine bakalım. Bu amaçla Solution Explorer penceresini açtım.

vb_ders_4_resim_17.gif

Express Edition ile C# projesi hazırlandığı zaman çok kullanılan bazı referanslar veya namespace ile sınıfları içeren DLL dosyaları projeye dahil edilmektedir. Hatırlarsanız yukarıdaki sayfalarda konsol uygulaması dahilinde ekrana form veya pencere getirmek için System.Windows.Forms'deki Form adlı sınıftan yararlanmıştık.

Üzerinde çalışılan projede .NET Framework ile gelen sınıflardan birisinden yararlanmak için o sınıfın yer aldığı Namespace'i içeren DLL dosyasının veya referansın projeye dahil edilmesi gerektiği için Solution Explorer penceresinden yararlanıp ekrana Add Reference diyalog kutusunu getirmiştik.

Benzer durum Express Edition ile hazırlanan Windows Forms uygulamaları için de geçerlidir. Visual Basic 2005 Express Edition en çok gerek duyulan referansları projelere kendisi dahil ettiği için bir süre referanslar ile ilgilenilmeyebilir. Express Edition ile hazırlanan projelere dahil edilen referansları size göstermek için Solution Explorer penceresinde References seçeneğine ait artı(+) işaretini tıkladım.

vb_ders_4_resim_18.gif

Gördüğünüz gibi Express Edition tarafından 6 referans veya DLL dosyası Windows Forms uygulamalarına otomatik olarak dahil edilmektedir. Yararlanmak istediğiniz sınıf hangi DLL dosyası veya referansta yer alıyorsa o referansın Solution Explorer penceresinden yararlanılarak projeye dahil edilmesi gerekir. .NET Framework ile gelen herhangi bir sınıftan yararlanabilmek için referansın projeye dahil edilmesi yetmez. Ayrıca ilgili Namespace'in Imports deyimi ile koda dahil edilmesi gerekir.

Üzerinde çalışılan Solution veya proje hakkında bilgi edinilmek istendiği zaman başvurulan Solution Explorer penceresini dikkatlice incelerseniz projedeki formla ilgili olarak 3 dosyanın hazırlanmış olduğunu görürsünüz. Burada dikkatinizi öncelikle "Form1.Designer.vb" dosyasına çekmek istiyorum. Visual Basic'in .NET uyumlu sürümünde projeler için geri planda yapılan işlemler karışık olduğu için burada ayrıntıya girmiyorum.

Yazan: Memik Yanık
SDN - http://shiftdelete.net
 
Üst