Visual Basic İçin Programcılık Dersleri (Bölüm 4)

Bu derste Visual Basic'in .NET uyumlu sürümünü kaldığımız yerden anlatmaya devam ediyoruz. Ağırlıklı olarak konsol uygulamalarından ve Visual Basic için hazırlanan Express Edition'dan söz ediyoruz.

Bu derste Visual Basic'in .NET uyumlu sürümünü kaldığımız yerden anlatmaya devam ediyoruz. Ağırlıklı olarak konsol uygulamalarından ve Visual Basic için hazırlanan Express Edition'dan söz ediyoruz.

Visual Basic'le ilgili ilk derse söylemiş olmama rağmen tekrar edelim: Bu derslerin amacı programcılık ve .NET uyumlu Visual Basic öğrenmek isteyenlere ilk öğrenmeleri gereken konuları anlatmaktır. Visual Basic ile çalışmaya bu dersleri okuyarak başlayanların Visual Basic öğrenme süreleri kısalacaktır, Visual Basic kitaplarında yazılanları, Visual Basic derslerinde anlatılanları anlamaları kolaylaşacaktır. Bu nedenle elinizdeki Visual Basic konulu kitapları okumadan, dokümanları incelemeden önce bu dersleri okumanızı öneriyorum.

Bildiğiniz gibi Microsoft firması 2002 yılından bu yana .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 Visual Basic, C# ve C++ derleyicileri de bulunmaktadır. Başka bir deyişle herhangi bir .NET Framework sürümünden yararlanıp Visual Basic veya C# dilinde uygulama geliştirmek mümkündür. Ne var ki Not Defteri veya başka bir editörle C# veya Visual Basic programlarını yazıp DOS penceresinde derlemek zahmetli olup günümüz şartlarında iğneyle kuyu kazmak gibidir. Visual Basic'le ilgili 2. ve 3. derste Not Defteri ile konsol uygulamaları geliştirip Visual Basic'e alışmaya çalışmıştık.

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

Bu söylenenlerden yola çıkarak Visual Basic için hazırlanmış Express Edition hakkında şunlar söylenebilir: Not Defteri ile uygulama geliştirmek istemeyenler ve Visual Studio'yu pahalı bulup edinemeyenler ilgilendikleri dile özel Express Edition'la idare edebililer.

Bu bölümde Visual Basic için hazırlanmış Express Edition 2008'in program geliştirme ortamı hakkında kısaca bilgi verilecektir. 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. Visual Basic için hazırlanan Express Edition yazdığınız programları derlerken .NET Framework ile gelen Visual Basic derleyicisinden yararlanır. Visual Basic uygulaması geliştirmek isteyenlerin Visual Basic için hazırlanmış Express Edition'ı, Web uygulaması geliştirmek isteyenlerin ise Visual Web Developer Express Edition'la ilgilenmeleri gerekir. Bu arada bir isimlendirme yanlışlığını vurgulayalım. Bu yanlışlığın asıl kaynağı Microsoft firmasıdır. Örneğin Microsoft'un sitesine bakıldığı zaman Visual Basic'le ilgili Express Edition'ın adı 'Microsoft Visual Basic 2008 Express Edition'. İlk bakışta bu adlandırmada 2008'in Visual Basic derleyicisin sürümünü işaret ettiğini sanabilirsiniz. Hal bu ki buradaki 2008 derleyicinin sürümü yerine IDE'nin sürüm numarasıdır. Express Edition'lar piyasaya verildiğinden bu yana bu yanlışlığa defalarca işaret etmeme rağmen bir çok kaynakta 2008'in bir Visual Basic sürümü olduğu yazılmaktadır. Hatta piyasada Visual Basic 2008 adında kitaplar bulunmaktadır.

Visual Basic İçin Hazırlanmış Express Edition'ı Kurmak

Visual Basic için hazırlanmış Express Edition'ı bilgisayarınıza kurmadan önce bilgisayarınıza .NET Framework 2.0 veya 3.5 sürümünü kurmalısınız. Visual Basic için hazırlanmış Express Edition'ın 2005 sürümünü kullanacaksanız .NET Framework 2.0 sürümü yeterli olmaktadır. Express Edition'ın 2008 sürümünü kullanmak istiyorsanız daha önceden .NET Framework 3.5 sürümünü kurmuş olmalısınız. İleri ki sayfalarda işaret edileceği üzere .NET Framework 3.5 sürümünü bilgisayarınıza kurmadan Visual Basic için hazırlanmış Express Edition'ın 2008 sürümünü kurmanız halinde Express Edition ile birlikte .NET Framework'ün 3.5 sürümü otomatik olarak Microsoft'un sitesinden indirilip kurulur. Visual Basic uygulaması geliştirme konusunda henüz yolun başında olanlar için kullanılacak Express Edition sürümünün 2005 veya 2008 olmasının fazla bir önemi yoktur.

Şimdi sırada Visual Basic için hazırlanan Express Edition'ı kurmak var. Microsoft.com'da arama yapıp aşağıda ekran görüntüsünü verdiğim sayfayı buldum. Gördüğünüz gibi bu sayfada değişik programlama dilleri için hazırlanmış Express sürümlerin linkleri var. Bazı Express sürümlerin birden fazla dil için hazırlanan kopyaları olduğundan Select a Language başlıklı liste kutusunda dil seçmek gerekir.



Select a Language liste kutusunda İngilizce veya başka bir dili seçtiğinizde veya Download linkini tıkladığınızda yaklaşık 2.5 MB'lık vbsetup.exe dosyası indirilmek üzere sizden izin istenir. Visual Basic yerine C#'la ile ilgileniyorsanız C#'la ilgili Download linkini tıklamalısınız.



Bu EXE dosyayı indirip çalıştırdığınızda ilk olarak aşağıda verdiğim diyalog kutusu ekrana gelir. Welcome Setup başlıklı bu diyalog kutusundaki Yes, send information... başlıklı onay kutusunu seçtiğinizde kurma işlemi sırasında yaşadığınız sorunlar Microsoft'a iletilir.



Welcome başlıklı bu diyalog kutusunda herhangi bir işlem yapmadan Next düğmesini tıklayınca ekrana bu kez lisans haklarıyla ilgili pencere geldi. Kurma işlemine devam etmek üzere lisans haklarıyla ilgili penceredeki ilgili radyo düğmesini seçip Next düğmesini tıklarsanız ekrana aşağıda verilen Installation Options diyalog kutusu gelir.



Bu arada Microsoft'un sitesinden SQL Server'ın Express Edition adı verilen ücretsiz sürümünün indirilip kurulmasını istiyorsanız SQL Server'la ilgili onay kutusunu seçmelisiniz. Visual Basic'le geliştireceğim uygulamalarda veritabanı olarak hep Access kullanacağım demiyorsanız SQL Server'ın kurulmasını sağlamalısınız. Bu metni kaleme aldığım günlerde SQL Server'ın Express Edition'ın en son sürüm nosu 2005 iken şu günlerde 2008 sürümü kullanıma sunuldu.

SQL Server'la ilgili bu onay kutusunu seçmeden Visual Basic için hazırlanan Express sürümü kuracak olursanız daha sonradan SQL Server'a gerek duyduğunuzda Microsoft'un sitesinden indirip kurabilirsiniz. Daha önce SQL Server'ın Express sürümünü indirdiğim için tekrar indirilsin istemedim. Ayrıca bu sırada kullandığım bilgisayarda SQL Server'ın Express sürümü kurulu olsaydı bu seçenek Installation Options diyalog kutusunda bulunmazdı.

Ekranda Installation Options diyalog kutusu varken Next düğmesini tıkladığınızda Visual Basic 2008 Express Edition'ın kurulacağı sürücü ve klasörün belirlendiği Destination Folder başlıklı diyalog kutusu ekrana gelir. Visual Basic için hazırlanmış Express Edition'a ait dosyalar 'Program FilesMicrosoft Visual Studio 9.0' klasörünün altında hazırlanan bir klasöre yerleştirilmektedir. Express Edition'a ait dosyaların başka bir klasöre yerleştirilmesini istiyorsanız bu diyalog kutusunda ayarlama yapabilirsiniz. Bana sorarsanız bu diyalog kutusunda herhangi bir değişiklik yapmayın ve Visual Basic için hazırlanmış Express Edition'ın 2008 sürümünü varsayılan klasöre kurun. Merak edenlere hemen söyleyelim: Kullanılan bilgisayarda hem Visual Studio hem de istenen Express Edition'lar olabilmektedir. Yani Express Edition kuranlar sonradan Visual Studio'yu kurabilirler.



Bu ekran görüntüsünü aldığım sırada kullandığım bilgisayara .NET Framework 3.5 kuruluydu. Bu nedenle kurulacak bileşenlerin listelendiği bu diyalog kutusunda .NET Framework 3.5 listelenmiyor. Bu sırada kullandığım bilgisayara .NET Framework kurulu olmasaydı bu diyalog kutusunda kurulacağı işaret edilen seçenekler daha fazla olabilirdi.

İşleme devam etmek üzere Install düğmesini tıklarsanız kurma işlemi seçilen bileşenlere ve Internet'in hazına bağlı olarak kısa sürede tamamlanır. Kurma işlemi tamamlandığında ekrana aşağıda verilen Setup Complete diyalog kutusu getirilir. Bu diyalog kutusundaki Windows Update linkini tıklayabilir veya Microsoft'un sitesinden servis paketlerini(varsa) daha sonra indirip kurabilirsiniz.



Visual Basic İçin Hazırlanmış Express Editon'ı Register Etmek

Anlatılan şekilde kurulan Express Edition'ı register etmeden 30 gün boyunca kullanabilirsiniz. Ürün ücretsiz olduğu için register işlemini sorun yapmayın derim. İnsanlar kurdukları programı hemen kullanmak istiyorlar ve nasıl olsa 30 günüm var deyip Register işlemini erteliyorlar. Ben de bu alışkanlığa uyup Setup Complete diyalog kutusundaki Exit düğmesini tıklayıp Register işlemi sonraya bıraktım. Visual Basic için hazırlanmış Express Edition'ı çalıştırdığınızda aşağıdaki gibi bir pencere ile karşılaşırsınız.



Bu sırada nasıl proje hazırlanıp nasıl kod yazıldığı ayrı bir konudur. İleriki sayfalarda bu konu işlenecektir. Eski Türk filmlerindeki gibi 30 günün göz açıp kapayıncaya kadar geçtiğini varsayıp hemen Register etmeye çalışalım. Bu amaçla Help menüsünden Register Product komutunu verelim.

Help menüsünden bu komutu verdiğinizde ekrana aşağıda verilen diyalog kutusu gelir. Bu diyalog kutusunda sizden register anahtarı isteniyor. Bu anahtar elimizde olmadığına göre Microsoft'tan isteyeceğiz.



Microsoft'tan Registration anahtarını istemek için bu diyalog kutusundaki Register now linkini tıklamak gerekiyor. Bu linki tıkladığınızda karşınıza aşağıda verdiğim sayfa gelir ve mail adresinizle parolanız istenir.



Bu işlem için başka bir mail adresini kullanmak istiyorsanız veya mail adresiniz yoksa Sign up now düğmesini tıklayıp Hotmail'den yeni bir adres edinebilirsiniz. Mevcut mail adresinizi ve parolanızı girip Sing in düğmesini tıkladığınızda ekrana aşağıda verilen sayfa getirilerek sizden bazı ek bilgiler istenir.



İstenen bilgileri girip sayfanın alt kısmındaki Continue düğmesini tıklayıp işleme devam ettiğinizde aşağıda verilen sayfa ekrana getirilerek sizin için hazırlanan kayıt anahtarı sayfaya yazılır.



14 karakterden meydana gelen bu anahtarı kopyalayıp Help menüsündeki Register Product komutu ile ekrana getirilen diyalog kutusuna yapıştırmak gerekiyor. Aşağıda verilen ekran görüntüsünü bu işlemi yaptıktan sonra aldım.



Register anahtarını bu diyalog kutusuna yapıştırıp Complete Registration düğmesini tıkladığınızda işlem tamamlanmış olur. Anlatılan şekilde Express Edition'ı register edip ondan sonra Help menüsünden Register Product komutunu verdiğinizde ekrana bir diyalog kutusu getirilerek ürünün zaten kayıtlı olduğu işaret edilir.

Visual Basic 2008 Express Edition'ı(bu adlandırma 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 Visual Basic 2008 Express Edition penceresi ile karşılaşırsınız. Bu ekran görüntüsünü dikkatlice incelediğinizde pencerenin sol tarafında gizlenmiş Toolbox penceresinin sağ tarafında ise açık durumda olan Solution Explorer penceresinin olduğunu görürsünüz.



Kurup çalıştırdığım Express Edition'in 2005 sürümü olsaydı aşağıdaki gibi sonuçla karşılaşırdım. Bu derslerin içeriği bağlamında Express Edition'ın 2005 ile 2008 sürümü arasında pek fark yoktur.



Visual Basic 2005/2008 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 ve yeni projeler hazırlayabilirsiniz. İsterseniz Start Page sayfasını kapatabilirsiniz. Bazı arkadaşlarımız Visual Basic ile çalışırken Express Edition yerine Visual Studio'yu tercih edebilirler. Bu dersler bağlamında Visual Studio ile Express Edition birbirinden pek farklı değildir.



Proje Hazırlamak

Daha önce açılıp kapatılan Visual Basic projeleri Start Page sayfasında Recent Projects kutusunda listelenmektedir. Yukarıda verilen ekran görüntüsünü aldığım sırada herhangi bir Visual 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ıklayabilir veya File menüsünden komut verebilirsiniz. Yeni bir Visual Basic projesi hazırlamak üzere Start Page'deki Create seçeneğinin yanındaki Project linkini tıklarsanız ekrana New Project diyalog kutusu gelir. Bu diyalog kutusunda Visual Basic için hazırlanan Express Edition ile birlikte verilen şablonlar listelenmektedir.



Bu sırada Visual Basic için hazırlanmış Express Edition yerine Visual Studio kullanıyor olsaydım New Project diyalog kutusunda daha fazla seçenek veya şablon olurdu. Çünkü Visual Studio ile Visual Basic uygulamalarından başka C#, C++ ve Web uygulamalarını geliştirmek mümkündür.

Madem daha önceki derslerde DOS penceresinde derlenip çalıştırılan Visual 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.



Express Edition tarafından hazırlanan bu kodu incelerseniz size yabancı gelen fazla bir şeyin olmadığını fark edersiniz. Console Application şablonu kullanılarak hazırlanan Visual Basic projesi için "Module1.vb adında bir kod dosyası ve bu kod dosyası içinde "Module1" adında bir module hazırlamaktadır. .NET uyumlu Visal Basic projeleri çalışmaya Main() metodundan başladıkları için Module1.vb adı verilen kod dosyası içinde Main() metoduna yer verilmektedir. Sizler Module yerine Class'ı tercih edebilirsiniz. Tabi bu durumda Main() metodunu Shared olarak ayarlamanız gerekir.

Bu şartlarda 'Proje1' adını verdiğim konsol uygulaması henüz kaydedilmiş değildir. Şimdi henüz herhangi bir değişiklik yapmadığımız bu konsol uygulamasını kaydedelim. Bu amaçla Express Edition'ın File menüsünden Save All komutunu verebilir veya Standard araç çubuğundaki Save All düğmesini tıklayabilirsiniz. File menüsünden Save All komutunu verdiğinizde ekrana aşağıda verdiğim Save Project diyalog kutusu gelir.



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 vardır. 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ıklayıp mevcut klasörlerden birsini seçebilirsiniz.

Save Project diyalog kutusuna ayrıca Solution Name başlıklı bir metin kutusu bulunmaktadır. Visual Basic için hazırlanmış Express Edition veya Visual Studio sayesinde hazırlanan 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.



Express Edition veya Visual Studio ile hazırlanan projelerin geçerli kullanıcıya ait 'Belgelerim' klasörünün altındaki 'Visual Studio 2008Projects' 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 kutusunda 'C:Projeler' yazdım.

Visual Basic projesi 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.



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.



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 konsol uygulaması için çok sayıda klasör ve dosyayı hazırladığını fark etmiş olmalısınız. Beni dinlerseniz şimdilik kafayı bu dosyaların işlevine takmayın.

Visual Basic için hazırlanmış 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 Module1.vb dosyasındaki Main() metoduna aşağıdaki gibi 3 satır ekledim.


Module Module1

    Sub Main()

        System.Console.WriteLine("www.memikyanik.com")

        System.Console.Write("Çıkmak için bir tuşa basın")

        System.Console.ReadKey()

    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 hazırladığı EXE dosyayı çalıştırır. Aşağıda verdiğim ekran görüntüsünü bu konsol uygulamasını Debug menüsündeki Start Debugging komutu ile çalıştırdıktan sonra aldım.



Express Edition tarafından hazırlanan EXE dosya projeye ait klasörün altındaki Bin klasörünün içinde yer alan Debug klasörüne yerleştirilmektedir. Bu EXE dosyayı alıp .NET Framework kurulu başka bilgisayarda çalıştırabilirsiniz. Tekrar etmek gerekirse; .NET uyumlu programlar .NET Framework'ün kurulu olmadığı bilgisayarlarda çalışmazlar.



Fırsattan istifade hemen kısa bir reklam arası vereceğim: Daha önce Visual Studio veya Express Edition'ı temel alan programcılık kitabı incelemiş olanların malumu olduğu gibi dünyanın hiçbir yerinde hiç kimse Visual Studio veya Express Edition'ı böyle anlatmıyor. Hele hele biraz sonra anlatacaklarımı hiçbir kitabın başlangıç sayfalarında bulamazsınız. Visual Basic veya .NET uyumlu başka programlama dili hakkında kitap veya makale yazanlar burada anlattıklarımı bilmiyorlar mı' Bilmez olurlar mı' Mutlaka bilirler, belki de bazıları Memik YANIK'tan daha iyi biliyorlardır. O zaman neden anlatmazlar bunları' Nedeni çok basit: Herkesin Memik YANIK gibi ilk okumada anlaşılma gibi bir kaygıları yoktur. Tabii Memik YANIK ilk okumada mutlaka anlaşılacağım dediği için veya böyle bir tercihi olduğu için başka yazarların 10 sayfada anlattıklarını Memik YANIK ortalama olarak 12 sayfada anlatır. Bu nedenledir ki bazıları her fırsatta 'Memik YANIK kitaplarını ekran görüntüleri ile doldurup şişiriyor' diye suçlarlar. Bu derslerde yer ve sayfa sorunu olmadığı için kitaplarda kullandığımdan daha fazla ekran görüntüsüne yer verdim. Yoksa bu metni kitap için hazırlamış olsaydım ekran görüntülerinin sayısı en azından yarı yarıya azalırdı.

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 proje dosyasıdır. 'vbproj' uzantılı proje dosyalarında projedeki form, class'lar vs. hakkında bilgi bulunmaktadır. 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 ilgisiz kalabilirsiniz.



Konsol uygulaması için Express Edition tarafından hazırlanan SLN ve VBPROJ uzantılı dosyalarla ilgimizi kestikten sonra geriye bir tek 'Module1.vb' dosyası kaldı. Şimdi 'Module1.vb' dosyasını Not Defteri ile açıp içeriğini size göstereceğim.



Konsol uygulamalarında başlangıçta kod içeren bir tek 'Module1.vb' dosyası olduğu için konsol uygulaması çalıştırıldığında 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.



Bu kodu dikkatlice incelerseniz System.Windows.Forms adlı namespace'deki Form ve Application sınıflarından yararlanmış olduğumu fark edersiniz. Aynı satırları sizler yazmaya kalkışırsanız hata meydana gelebilir. Çünkü Express Edition'la konsol uygulaması hazırlandığında bu namespace'i içeren referans yani DLL dosyasından Express Edition haberdar edilmemektedir. Başka bir deyişle bu referanstaki namespace'ten yararlanılmak istendiği konusunda ayarlama yapılmış değildir. Bu referans yani DLL dosyasındaki namespace'lerden yararlanabilmek için Express Edition'ın Solution Explorer penceresinde listelemek gerekmektedir. Aşağıda verilen ekran görüntüsünden fark etmiş olacağınız gibi başlangıçta uygulamanın yararlanabileceği referanslar Solution Explorer penceresinde listelenmiyor.



Solution Explorer penceresinde söz konusu uygulamayla ilgili bütün klasör, dosya ve referansların listelenmesini istiyorsanız Solution Explorer penceresine ait araç çubuğundaki Show All Files düğmesini tıklamanız gerekir. Aşağıda verilen ekran görüntüsünü bu düğmeyi tıkladıktan sonra aldım.



Yukarıda verilen kodda önce Form1 adında ve System.Windows.Forms.Form tipinde bir nesne hazırladım. Ardından bu nesnenin Text özelliğini ayarlayıp Application sınıfının Run() metoduna parametre olarak verdim. Yukarıda yararlandığım Application ve Form sınıfları System.Windows.Forms adlı namespace'te, bu Namespace ise .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, daha doğrusu Visual Studio veya Express Edition'ın bu DLL dosyasından haberdar 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şka bir deyişle Express Edition'ın bu referans hakkında bilgilendirilmesi gerekir. Add Reference diyalog kutusunda bu referansı seçip OK düğmesini tıklarsanız Solution Explorer penceresinde listelenmeye başlar.



Söz konusu Namespace'deki sınıflardan sık yararlanıyorsanız Imports deyimiyle kodun başında söz konusu namespace'in kaynaklarından yararlanmak istediğiniz belirtebilirsiniz. Imports deyimiyle işaret edilen namespace'teki sınıflardan yararlanılırken her seferinde sınıf adından önce namespace adını yazmak zorunda kalmazsınız. Imports deyiminin işlevini aşağıda görebilirsiniz.



Bu konuda daha sonra bilgi verileceği için bu örneği denemeyebilirsiniz. Konsol uygulamaları üzerinde fazla durmayacağım için referans nedir' gibi soruları 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.



Buna rağmen yukarıda verilen kodun üzerinde biraz duralım. Main() metoduna yazdığım bu satırların ilkinde 'Form1' adında ve System.Windows.Forms adlı namespace'teki Form tipinde bir değişken tanımlanmaktadır. Devamında new anahtar kelimesi ile Form sınıfının örneğini alıp(yani nesne hazırlayıp) referansını Form1 adını verdiğim değişkene aktardım. En son olarak bu Form nesnesini Application sınıfının Run() metoduna parametre olarak verdim. Dikkat ederseniz burada tanımladığım değişkene Form1 adını verdim. Yarın bir gün mesleğinin zirvesinde bulunan yerli programcılık kitabı yazarının birisi çıkıp bu değişken adını yani Form1'i kendi namı hesabıma Register ettim, dolayısıyla değişken adımı çaldınız derse ona gülüp geçin.

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 New Project diyalog kutusunu ekrana getirip Windows Application şablonunu seçtim.



Visual Basic 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 Basic 2008 Express Edition penceresi ile karşılaştım.



Windows Application şablonu ile hazırlanan projeye bir form dahil edilmekte ve bu formun görsel yapısı Express Edition penceresine gerilmektedir. Bu projede herhangi bir değişiklik yapmadan Debug menüsündeki Start Debugging komutu ile çalıştırırsanız karşınıza bu form yani pencere gelir.



Bu formun üzerine hemen düğmeler, TextBox'lar veya ListBox'lar yerleştirmek yerine Windows Forms Application şablonu ile hazırlanan projenin özelliklerine biraz bakalım. Bu amaçla Solution Explorer penceresini açtım.



Visual Basic 2008 Express Edition en çok gerek duyulan referansları projelere kendisi dahil ettiği için şimdilik referanslarla 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.



Gördüğünüz gibi Express Edition tarafından 9 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.

Birçok yerli yabancı kaynakta bu altını çizdiğim paragrafın benzerine rastlama ihtimaliniz yüksektir. Bu paragrafta söylenenler yanlış olmasa bile eksiktir ve okurun konuyu en başından yanlış öğrenmesine neden olmaktadır. Gelin bu paragrafı yeniden yazalım. .NET Framework ile birlikte çok sayıda DLL dosyası gelmektedir ve dosyalar Windows'un kurulu olduğu klasörün altındaki Microsoft.NETFramework klasörüne yerleştirilmektedir.



Daha önce söylendiği gibi bu DLL dosyalarında Namespace'ler bulunmaktadır. Örneğin System.Windows.Forms.dll adlı dosyada System.Windows.Forms adlı namespace yer almaktadır. Namespace'lerde ise Class'lar ve/veya yapılar vs. bulunmaktadır. Uygulamanızda hangi Class'ı kullanmak istiyorsanız o Class'ın yer aldığı namespace'i içeren DLL dosyasını yani referansı Solution Explorer penceresinde listelemeniz gerekiyor. Bir referansı Solution Explorer penceresinde listelemek demek bir bakıma Visual Studio veya Express Edition'a 'bu referanstan yararlanmak istiyorum' demektir. Yoksa uygulamaya dahil edilen bir şey yoktur. Çünkü söz konusu DLL dosyası yerinde duruyor. Yararlanmak istediğiniz sınıfın yer aldığı Namespace'i içeren DLL dosyasını Solution Explorer penceresinde listeledikten sonra Class adından önce namespace adını yazarak söz konusu namespace'teki Class'lardan yararlanabilirsiniz.

Burada Windows Forms Application'larla ilgili olarak yazılanlara bakacak olursanız Main() metodundan hiç söz etmedik. Hal bu ki konsol uygulaması hakkında bilgi verilen sayfalarda Visual Basic uygulamalarının çalışmaya Main() metodundan başladıklarını işaret etmiştik. Main() metodu nereye gitti gibi soruları sonraya bırakacağız. Bir sonraki derste Visual Studio'dan biraz söz edeceğiz.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Teşekkür ederim. Çok samimi paylaşımlar.
arkadaş bi şey anlamadım ya bu bende visual basic express edition var bu program nedir nasıl kullanılır kullanılan komutlar nelerdir onları yazsanıza neden hayat hikayenizi yazıyorsunuz burda
sonuç ney , ben birşey anlamadım.
Derslerinizi seve seve hic sıkılmadan okuyorum . Umarım yakında sayenide iyi bir programcı olacağım :)

Yukarı Git