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

Bu derste Visual Studio?nun program geliştirme ortamı hakkında bilgi verilecektir. Daha önce Visual Studio'nun herhangi bir sürümünü kullandıysanız bu dersi atlamak isteyebilirsiniz. Bu derse en azından göz gezdirmenizi önermek isterim. Çünkü bu derste ileride işlenecek bazı konulara temel oluşturan birkaç ayrıntıdan söz edilmektedir.

Visual Studio'nun Program Geliştirme Ortamı

Bu derste Visual Studio'nun program geliştirme ortamı hakkında kısaca bilgi verilecektir. Daha önce Visual Studio'nun herhangi bir sürümünü kullandıysanız bu dersi atlamak isteyebilirsiniz. Bu derse en azından göz gezdirmenizi önermek isterim. Çünkü bu derste ileride işlenecek bazı konulara temel oluşturan birkaç ayrıntıdan söz edilmektedir. Aslında Visual Basic programlama dilinden bağımsız olarak Visual Studio hakkında yüzlerce sayfa yazılabilir. Ne var ki bu derslerde böyle bir amacımız yoktur. Bu derslerde amaç Visual Basic programlama dilini ve .NET Framework ile gelen sınıflar hakkında başlangıç düzeyi bilgi vermek olduğu için Visual Studio hakkında kısa bir özet yapılmakla yetinildi. İkinci bir amacımız, kimseyi başlangıç düzeyi kitap satın almak zorunda bırakmamaktır.

Visual Studio 2008'in kurulması kolay ve sorunsuzdur. Visual Studio 2008 DVD'si sürücüye takıldığında veya DVD'deki 'Setup.exe' programı çalıştırıldığında ekrana aşağıda verilen pencere gelmektedir. Visual Studio'nun değişik sürümleri bulunmaktadır. Professional sürüm işinizi görecektir. Visual Studio'nun deneme sürümünü microsoft.com'dan indirebilirsiniz.



Bu penceredeki ilk seçenek tıklandığında size birkaç tanıdık soru yöneltildikten sonra kurma işlemi tamamlanmaktadır. Bu tanıdık sorulardan birisi Visual Studio'ya ait dosyaların kurulacağı sürücü ve klasördür. Visual Studio varsayım olarak C:Program FilesMicrosoft Visual Studio 9.0 klasörüne kurulmaktadır.



Bu pencerede kurma tipi olarak Custom seçilirse Install düğmesi yerini Next düğmesine bırakır. Custom radyo düğmesini seçip Next düğmesini tıkladığınızda ekrana Visual Studio'nun kurulacak bileşenlerinin seçildiği pencere gelir.



Bu pencereden yararlanıp Visual Studio'nun kurulacak bileşenlerini seçebilirsiniz. Örneğin Visual Studio ile C# veya C++ dilinde uygulama geliştirmeyi düşünmüyorsanız bu dillerle ilgili bileşenlerin kurulmalarını engelleyebilirsiniz. Visual Studio bilgisayara kurulduktan sonra Başlat menüsünde Microsoft Visual Studio 2008 adında bir program grubu hazırlanmakta ve bu program grubuna Visual Studio'ya ait kısayollar dahil edilmektedir.

Visual Studio kurulup ilk kez başlatıldığında ekrana aşağıda verilen diyalog kutusu getirilerek program geliştirme ortamının düzenlenmesi konusunda seçim yapmanız istenir. Visual Basic programları geliştirmek istediğim için bu diyalog kutusunda Visual Visual Basic'ı seçtim. Bu seçim sayesinde Visual Studio'nun ortamı Visual Basic'ın öndeğerlerine göre ayarlanır.



Bu diyalog kutusunda C#'ı seçtiğinizi varsayalım. Bir süre sonra Visual Basic'in ayarlarına dönmek isterseniz Tools menüsünden Import and Export komutu verildiği zaman çalışmaya başlayan Wizard'ın ilk adımını temsil eden diyalog kutusunda Reset all Settings radyo düğmesini seçip ortamın hangi dilin varsayılan ayarlarına göre düzenleneceği konusunda seçim yapılan bu diyalog kutusunu ekrana getirebilirsiniz.



Bu diyalog kutusundaki Reset all settings radyo düğmesini seçip Next düğmesiyle işleme devam ettiğinizde Wizard ekrana Choose a Default Collection of Settings diyalog kutusunu getirir. Hangi dilin ayarlarının geçerli olmasını istiyorsanız o dili seçebilirsiniz. Örneğin eski bir Visual Basic programcısı iseniz Visual Basic uygulamaları geliştirirken Visual Basic'in ayarlarının geçerli olmasını sağlayabilirsiniz.



Visual Basic'in varsayılan ayarları ile C#'ın ayarları arasındaki önemli farklardan birisi şudur: Visual Basic ayarları geçerli iken Visual Studio sizi hazırladığınız projeyi hemen kaydetmek zorunda bırakmıyor. Tabii bu diyalog kutusunda hangi dilin varsayılan ayarlarını seçerseniz seçin sonradan Tools menüsünden Options komutu ile ekrana getirilen diyalog kutusunda ortam ayarlarında istediğiniz değişikliği yapabilirsiniz.

2004 yılında yayınlanan ilk C# kitabımda Data Adapter Configuration Wizard ile DataAdapter nesnesinin özelliklerini ayarladım diye yargılandığıma göre yarın bir gün yerli yazarın birisi çıkıp Import and Export Settings Wizard'ı kullanmayı ilk ben akıl ettim derse sorumluluk kabul etmem. Ayrıca bu memlekette Wizard tarafından ekrana getirilen diyalog kutularının birden fazla kitapta aynı sırada olduğunu rapor edecek çok sayıda namuslu bilim adamı(!) olduğuna göre bu Wizard'dan yararlanmak risk teşkil edebilir.

Visual Studio çalıştırıldığında yeni proje hazırlayabilmeniz veya mevcut projeleri açabilmeniz için Start Page ekrana getirilmektedir. Bu sayfadaki Recent Projects kutusunda Open adı altında gruplanan seçenekler ile mevcut projeleri açabilirsiniz. Create adı altında gruplanan 2 seçenekten yararlanıp yeni bir proje hazırlayabilirsiniz.

Mevcut projelerden birisini açmak istiyorsanız Open adı altında gruplanan seçeneklerden Project'i tıklamanız gerekir. Project seçeneğini tıklarsanız geçerli kullanıcıya ait 'Belgelerim' klasörünün altında yer alan Visual Studio Projects klasöründeki projeler listelenir. Visual Studio ile hazırlanan her proje için ayrı bir klasör hazırlanmakta ve projeye ait dosyalar bu klasöre kaydedilmektedir.



Visual Studio ile Visual Basic projesi hazırlamak üzere Start Page'deki Create adı altında gruplanan 2 seçenekten Project'i tıklarsanız ekrana New Project diyalog kutusu gelir. Project types kutusunda listelenen seçenekler Visual Studio'nun bilgisayara kurulan bileşenlerine göre değişmektedir. Visual Basic projesi hazırlamak istediğim için Project types kutusunda Visual Visual Basic ve Templates kutusunda Windows Foms Application şablonunu seçtim. Aşağıda verdiğim ekran görüntüsünü aldığım sırada ortamın düzenlenmesi Visual Basic'in ayarlarına göre yapılmıştı.



Visual Basic uygulamalarını geliştirirken Visual Studio yerine Visual Basic için hazırlanmış Express Edition'ı kullanıyor olsaydım New Project diyalog kutusunda daha az şablon listelenirdi. Aşağıda verilen ekran görüntüsü Visual Basic için hazırlanmış Express Edition'a aittir.



Visual Studio 2003 veya 2005 ile Visual Basic projesi hazırlanmak istendiği zaman ekrana getirilen New Project diyalog kutusunda .NET Framework sürümünü tercih etme imkanı yoktu. Visual Studio 2003 ile .NET Framework 1.1 uyumlu projeler hazırlanabilirken Visual Studio 2005 ile .NET 2.0 uyumlu projeler hazırlanabiliniyordu. Visual Studio 2008'de ise proje hazırlarken .NET Framework'ün 2.0, 3.0 veya 3.5 sürümlerinden birisini seçme imkanı bulunmaktadır. New Project diyalog kutusunda seçilen .NET Framework sürümüne göre Templates liste kutusunda listelenen şablonlar değişmektedir.

Başlangıçta projeler için(yani eğitim amaçlı projelerde) .NET Framework'ün 2.0 veya 3.5 sürümünü seçmenin bir önemi olmamasına rağmen 3.5 sürümünü tercih ettim. New Project diyalog kutusunda .NET Framework'ün 2.0 sürümünü tercih ederseniz Visual Basic 3.0 ile ilgili bazı yeniliklerden yararlanamazsınız. Örneğin LINQ teknolojisi ile sorgulama yapamazsınız. New Project diyalog kutusunda Windows Forms Application şablonu seçili iken Name metin kutusuna Proje1 yazıp OK düğmesini tıklayınca aşağıdaki gibi bir Visual Studio penceresi ile karşılaştım.



Visual Studio bilgisayara kurulup ilk kez başlatıldığında ekrana gelen Choose Default Environment Settings diyalog kutusunda Visual C#'ın ayarlarını kullanacağım dediğinizde proje ilk hazırlandığı zaman hemen kaydedilir. Ancak Visual Basic'in ayarları geçerli iken programcı ister projeyi kaydeder istemezse kaydetmez.

Yukarıda anlatılan şekilde Visual Studio ile hazırladığınız projeyi kaydetmek üzere File menüsünden Save All komutunu verir veya araç çubuğunda bu komutu temsil eden düğmeyi tıkladığınızda ekrana Save Project diyalog kutusu gelir.



Visual Studio ile hazırlanan Visual Basic projelerinin geçerli kullanıcıya ait Belgelerim klasörünün altında bulunan Visual Studio Projects klasörüne kaydedileceği varsayılmaktadır. Hazırlamak istediğim projeyi 'C:' sürücüsündeki 'Projeler' klasörüne kaydetmek istediğim için Browse düğmesini tıklayıp klasör seçilen Project Location diyalog kutusunu ekrana getirip bu klasörü seçtim.

Save Project diyalog kutusundaki bu ayarlara göre proje kaydedildiğinde Visual Studio ayrıca bir Solution hazırlar. Solution'lar proje grubu gibi işlev görmektedir. Solution'a birden fazla proje dahil edeceksiniz projeden farklı bir ad vermeniz önerilir. Proje hazırlanırken Visual Studio tarafından oluşturulan klasörleri gösterebilmek için Solution'a farklı bir ad verdim.

Save Project diyalog kutusunda bu seçim ve ayarlamaları yapıp Save düğmesini tıklarsanız projenin kaydedilmesi tamamlanır. Location kutusuna adı yazılan klasörün içinde önce Solution Name kutusuna yazılan Solution ile aynı ada sahip bir klasör hazırlanır. Bu klasörün içinde ise proje ile aynı ada sahip başka bir klasör hazırlanır.



Proje için hazırlanan klasör ve dosyaları yukarı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örebilirsiniz.

Solution birden fazla projeden meydana gelmeyecekse solution ve projeye ait dosyaların bir arada olmasını sağlayabilirsiniz. Solution için ayrı klasör hazırlanmasını istemiyorsanız New Project diyalog kutusundaki Create directory for solution onay kutusunu pasif duruma getirmelisiniz. Bu onay kutusu pasif iken Solution'a ad verilemez.

Projeye ait klasöre kaydedilen 'Form1.vb' uzantılı dosya projedeki formu temsil etmektedir. Projede birden fazla form olsaydı 'vb' uzantılı birden fazla dosya olurdu. Formların görsel yapısı ile ilgili bilgiler 'xxxDesigner.vb' dosyalarında tutulmaktadır. Visual Basic'in proje dosyalarına 'vbproj' uzantısı verilmektedir. Visual Studio ile proje hazırladığınızda aynı zamanda bir Solution hazırlanır ve Solution'a ait bilgiler 'sln' dosyalarında saklanmaktadır. Daha önce hazırlamış olduğunuz projedeki bir kod dosyasında değişiklik yapmak istiyorsanız bütün projeyi açmak zorunda değilsiniz. File menüsünden Open File komutunu verip ilgilendiğiniz dosyayı açabilirsiniz.

Yukarıda örnek olması için hazırladığım Visual Basic projesine "Proje1" adını verdim. Bu proje adını yerli programcılık kitabı yazarları daha önceden kendi namı hesaplarına register etmiş olabilirler. Bu nedenle kendinizi riske etmeyip "Proje1" yerine projelere argo veya gavurca adlar vermeniz önerilir. Örneğin Proje1 yerine 'Project1' veya 'En_baba_proje' qibi adları tercih edebilirsiniz.

Solution Explorer Penceresi

Üzerinde çalıştığınız projeye hangi formların ve dosyaların dahil edilmiş olduğunu görmek istiyorsanız Visual Studio'nun Solution Explorer penceresine bakabilirsiniz. Solution Explorer penceresinde bir bakıma projeye ait klasörün içeriği görüntülenmektedir. Solution Explorer penceresinin başlık çubuğunu çift tıklayıp bağımsız pencere olmasını sağlayabilirsiniz. Aşağıda verilen ekran görüntüsünü proje için 2. bir form hazırladıktan sonra aldım. Projeye 2. bir form dahil etmek demek gerçekte .NET Framework ile gelen Form sınıfının mirasçısı 2. bir sınıf hazırlamak demektir. Tıpkı Form1 sınıfında olduğu gibi Form2 sınıfının bir yarısı Form2.vb dosyasında, diğer yarısı ise Form2.Designer.vb dosyasında yer almaktadır.



Solution ve proje hakkında bilgi içeren bu pencereyi View menüsünden komut vererek veya Standard araç çubuğundaki ilgili düğmeyi tıklayarak ekrana getirebilirsiniz. Bu ekran görüntüsünü aldığım sırada 'Proje1' adını verdiğim projede Form1 ve Form2 adında 2 form vardı. Visual Studio ile hazırlanan projelerde her form için ikisi VB uzantılı 3 dosya hazırlanmaktadır.

Windows Forms Application şablonu ile hazırlanan projenin kaydedildiği klasöre bakıldığında Bin ve Obj adında 2 klasörün hazırlandığı görülür. Visual Studio başlangıçta bu 2 klasörü Solution Explorer penceresinde listelemiyor. Üzerinde çalıştığınız proje ile ilgili bütün dosya ve klasörlerin listelenmesini istiyorsanız Solution Explorer penceresindeki Show All Files düğmesini tıklamanız gerekir. Bu düğmenin işlevini aşağıda görebilirsiniz.



Visual Basic projesine dahil edilmiş referansları görmek istiyorsanız Solution Explorer penceresinde References seçeneğini tıklamalısınız. Visual Studio 2008 ile hazırlanan Visual Basic projelerine 8 referans otomatik olarak dahil edilmektedir. Ek bir işlem yapmaya gerek kalmadan bu referanslarda bulunan namespace'lerdeki sınıfları kullanabilirsiniz. DLL dosyaları veya buradaki adıyla referanslar doğaları gereği gerek duyulduğunda belleğe yüklenirler.



.NET Framework ile gelen veya kendi hazırladığınız referanslardan birisindeki sınıflardan yararlanacaksanız References seçeneğine ait kısayol menüsünden Add Reference komutunu vermelisiniz. Her ne kadar burada referans eklemeden söz edilse bile eklenen herhangi bir şey yoktur. Yapılan şudur: Yararlanılmak istenen referanslar hakkında Visual Studio bilgilendirilmektedir. Yoksa referanslar yani DLL dosyaları ilgili klasörde durmaktadır.



Bu komutu verirseniz ekrana Add Reference diyalog kutusu gelir. Projede kullanmak istediğiniz bileşen veya referansı seçip OK düğmesini tıklamanız yeterlidir.



Bu pencerede .NET sekmesinde listelenen her seçenek veya referans gerçekte .NET Framework ile gelen birer DLL dosyasıdır. Kendiniz Visual Studio ile gelen Class Library şablonu ile kolayca DLL dosyaları hazırlayıp .NET Framework ile gelenlerde oluğu gibi bu DLL dosyalarından yararlanabilirsiniz.

Form Designer ve Code Editor Pencereleri

Visual Studio ile yeni bir proje hazırlandığında projeye otomatik olarak dahil edilen formun görsel yapısı Visual Studio penceresinin Form Designer adı verilen orta kısmında görüntülenmektedir. Formun görsel yapısıyla ilgili olarak teknik bir açıklamaya gerek duyulursa şunlar denilebilir: Visual Studio, System.Windows.Forms'de bulunan ve .NET Framework ile gelen Form sınıfının mirasçısı durumdaki Form1 sınıfının örneği çalışma anında ekrana getirildiğinde nasıl bir pencere ile karşılaşılacaksa Visual Studio bu pencereye görsel olarak benzeyen bir pencereyi tasarım anında görüntülemektedir. Üstelik formun görsel yapısında değişiklik yapıldığında devreye girip Form1 class'ında yani Form1.Designer.vb dosyasında değişiklik yapmaktadır.

Solution Explorer penceresinden yararlanıp projedeki formların veya .NET Framework ile gelen Form sınıfından türetilen sınıfların görsel yapısını görüntüleyebilirsiniz. Aşağıda ekran görüntüsü verilen projede Form1 ve Form2 adında 2 form vardı. Başka bir deyişle bu projede Form1 ve Form2 adında 2 Class'a sahipti.



Bu sırada projede 2 form olmasına rağmen bu formlardan ilki açıktı. Açık olan her form için Windows Form Designer penceresinin üst kısmında bir sekme hazırlanmaktadır. Bu sırada Solution Explorer penceresinde Form2.vb'nin üzerinde çift tıklama yaparsanız bu kod dosyasının temsil ettiği forma açılır ve Visual Studio penceresi aşağıda verilen şekle dönüşür.



Sekmeleri sürükleyip sıralamasını değiştirebilirisiniz. Açık formlardan birisine ait kodları görmek istiyorsanız o formu seçip View menüsünden Code komutunu vermelisiniz. Form2 aktif form iken View menüsünden Code komutu verilirse bu forma ait kodlar görüntülenir. Bu sırada Form2.vb[Design] sekmesini tıklayıp formun görsel yapısını görüntüleyebilirsiniz.



Projedeki mevcut formları açmak için Solution Explorer penceresine başvurmak yerine File menüsünden Open-File komutunu verebilirsiniz. Open File diyalog kutusunda VB uzantılı dosyayı seçip Open düğmesini tıklarsanız Visual Studio penceresi içinde söz konusu formu oluşturan kodlar görüntülenir.

Kod yapısı görüntülenen formun görsel yapısını görüntülemek istiyorsanız View menüsünden Designer komutunu vermelisiniz. Projedeki formlara ait kodları veya görsel yapılarını görüntülerken Solution Explorer penceresinden yararlanabilirsiniz. Söz konusu forma ait kısayol menüsünden View Designer komutunu verirseniz formun görsel yapısı, View Code komutunu verirseniz forma ait kodlar görüntülenir.

ToolBox Penceresi

Visual Studio bilgisayara kurulup başlatıldığında ekrana getirilen bir diğer pencere Toolbox penceresidir. Toolbox başlangıçta otomatik olarak gizlenmekte ve Visual Studio penceresinin sol kenarında bir düğme ile temsil edilmektedir. Toolbox'ta kullanabileceğiniz yani formlara yerleştirebileceğiniz kontrollerin bazıları listelenmektedir.



Visual Studio penceresinin sol tarafında Toolbox'tan başka ayrıca Server Explorer penceresini temsil eden bir düğme bulunmaktadır. Kapatmış olduğunuz Toolbox penceresini tekrar ekrana getirmek istiyorsanız View menüsünden komut verebilir veya Standard araç çubuğundaki ilgili düğmeyi tıklayabilirsiniz. Toolbox'ın otomatik gizlenme özelliğini iptal etmek istiyorsanız Auto Hide düğmesini tıklamalısınız. Auto Hide özelliği devrede değilken Toolbox penceresinin başlık çubuğunda çift tıklama yapıp bu pencerenin bağımsız bir pencere olmasını sağlayabilirsiniz.

.NET Framework ile birlikte Toolbox'ta birer düğme ile temsil edilenlerden çok daha fazla kontrol verilmektedir. Kullanmak istediğiniz kontrol Toolbox'ta yer almıyorsa Tools menüsünden Choose Toolbox Items veya Toolbox'a ait kısayol menüsünden Choose Items komutunu verebilirsiniz.



Com Components sekmesinde eski tip bileşenler, .NET Framework Components sekmesinde ise .NET uyumlu bileşenler listelenmektedir. Başlangıçta Toolbox'ta temsil edilmeyen DirListBox kontrolünü kullanmak istediğim için bu kontrole ait onay kutusunu seçip OK düğmesini tıklayınca bu kontrol Toolbox'ta temsil edilmeye başlandı.

Choose Toolbox Items diyalog kutusunu dikkatlice incelerseniz listelenen her kontrolün adından başka dahil olduğu Namespace, ardından söz konusu namespace'i içeren Assembly ve en son olarak bu assembly'in bulunduğu klasör işaret edilmektedir. Örneğin DirListBox kontrolü Microsoft.VisualBasic.Compability.VB6 adlı namespace yer almaktadır. DirListBox kontrolü Microsoft.VisualBasic.Compability.dll'de bulunmaktadır.

Sözünü ettiğim Assembly'i temsil eden DLL dosyasının diskteki yerini aşağıda görebilirsiniz. Aşağıda verilen ekran görüntüsünü dikkatlice incelerseniz Assembly'leri temsil eden dosyaların klasik dosyalar gibi olmadığını fark edersiniz.



Toolbox'ta listelenen her kontrol gerçekte birer Class'tır. Ancak .NET Framework ile gelen her Class Toolboox'ta yer alabilen kontrol değildir. Toolbox'ta bir kontrolü alıp projedeki mevcut formun birisinin üzerine yerleştirmek demek gerçekte o class'ın örneğini almak demektir. Örneğin Toolbox'ta Button kontrolünü temsil eden düğmeyi seçip forma yerleştirmek demek; söz konusu formu temsil eden kod dosyasında Button nesnesinin kopyasını almaya neden olacak kodun Visual Studio tarafından yazılmasını istemek demektir. Bu konunun ayrıntılarından daha sonra söz edilecektir.

Form ve Kod Pencerelerinin Organizasyonu

Şimdiye kadar verilen ekran görüntülerinden tespit etmiş olabileceğiniz Properties, Toolbox, Solution Explorer ve Server Explorer gibi pencerelerin dışında açık olan her form için Visual Studio penceresinin orta kısmında bir sekme hazırlanmaktadır. Programcı açık olan hangi formla ilgileniyorsa o formu temsil eden sekmeyi tıklar. Aşağıda verilen ekran görüntüsünü aldığım sırada açık durumda olan 3 form vardı ve Form2'nin görsel yapısı görüntüleniyordu.



Programcı bu sırada Form1 veya Form2'ye ait sekmeyi tıklayıp bu formları görüntüleyebilir. Başka bir deyişle bu şartlarda form pencerelerini simge durumuna küçültmek mümkün değildir. Açık olan her formun ayrı bir pencereye sahip olmasını istiyorsanız Tools menüsündeki Options komutu ile ekrana getirilen diyalog kutusunda ayarlama yapmalısınız.



Options diyalog kutusunda General adı altında gruplanan seçeneklerden Multiple documents radyo düğmesini seçerseniz açık olan her form ayrı bir pencereye sahip olur ve bu pencereleri simge durumuna küçültebilirsiniz. Aşağıda verilen ekran görüntüsünü 'Multiple documents' radyo düğmesini seçtikten sonra aldım.



Bu ekran görüntüsünü aldığım sırada 3 form açıktı. Bu pencerelerinin boyutlarını ve Visual Studio penceresi içindeki konumlarını istediğiniz gibi ayarlayabilirsiniz. Bu metni kaleme alırken ekran görüntülerini istediğim gibi ayarlayabilmek için Options diyalog kutusunda Multiple documents radyo düğmesini seçip formların bağımsız pencere olmalarını sağladım.

Solution Hazırlamak

Yukarıda belirtildiği gibi Visual Studio ile yeni bir proje hazırladığınızda proje ile birlikte ayrıca bir Solution hazırlanmaktadır. Bu konuda adım adım bilgi vermek için File menüsünden komut verip New Project diyalog kutusunu ekrana getirip Windows Forms Application şablonu ile bir proje hazırladım. Ardından bu projeyi kaydetmek üzere File menüsünden Save All komutunu verip ekrana Save Project diyalog kutusunu getirdim.



Visual Studio, projeye verilen adı aynı zamanda solution adı olarak kullanmaktadır. Karışıklık olmasın diye proje adı ile solution adının farklı olmasını sağladım. Bu şartlarda Save düğmesi tıklanırsa kullandığım bilgisayardaki 'C:Projeler' klasöründe 'Solution1' adında bir klasör hazırlanıp solution'a ait SLN uzantılı dosya bu klasöre konulur. Ayrıca bu klasörün içinde proje için 'WindowsApplication1' adında bir alt klasör hazırlanır ve projeye ait dosya ve diğer klasörler bu klasörün içine konulur.

Bildiğiniz gibi Save Project diyalog kutusundaki Create directory for solution onay kutusu seçili değilken solution için ayrı bir klasör hazırlanmayıp proje ve solution dosyaları bir arada tutulmaktadır. Tekrar etmek gerekirse, Visual Studio ile bir Visual Basic projesi hazırladığınızda otomatik olarak SLN uzantılı bir solution dosyası hazırlanmaktadır. Solution'lar projeleri gruplamaya yaradıkları için geliştirdiğiniz uygulama birden fazla projeden meydana gelmeyecekse SLN uzantılı Solution dosyasını unutabilirsiniz.



Otomatik olarak hazırlanan Solution'u görmek istiyorsanız Solution Explorer penceresine bakabilirsiniz. Birden fazla proje söz konusu olmadığı sürece otomatik olarak hazırlanan Solution işlevsel değildir. Başka bir deyişle aynı anda birden fazla projeyi açmayı düşünmüyorsanız Solution'lar ile ilgilenmenize gerek yoktur.

Bu bölümde Visual Studio hakkında bilgi verirken Tools menüsünden komut verilerek ekrana getirilen Options diyalog kutusunda Project and Solution seçenek grubundaki Show advanced build configurations ve Always show solution onay kutularının seçili durumda olduğunu varsayacağım. Bu 2 seçenek başlangıçta seçili durumda olmadığı için en azından bu bölümde anlatılanları izleyebilmeniz için bu 2 seçeneği aktif duruma getirmeniz önerilir.



Visual Studio tarafından hazırlanan Solution'a ait kısayol menüsündeki New Project komutu ile yeni bir projeyi veya Existing Project komutu ile mevcut projelerden birisini Solution'a dahil edebilirsiniz. Kısayol menüsünden New Project komutunu verirseniz ekrana Add New Project diyalog kutusu gelir.

Solution'larda Visual Studio ile gelen herhangi bir programlama dili ile hazırlanmış başka projeler olabilmektedir. Konumuz Visual Basic olduğu için Project Types kutusunda Visual Basic Projects ve Templates liste kutusunda ise Windows Application'i seçip OK düğmesini tıklayınca Solution Explorer penceresi aşağıda verilen şekle dönüştü.



Solution'da birden fazla proje varken bu projelerden birisi aktif projedir. Aktif projenin adı Solution Explorer penceresinde kalın olarak yazılmaktadır. Yanda verilen ekran görüntüsünü aldığım sırada 'WindowsApplication1' adlı proje aktifti. Diğer projeyi aktif proje yapmak istiyorsanız o projeye ait kısayol menüsünden Set as StartUp Project komutunu vermelisiniz. Projelerden birisini Solution'dan çıkarmak istiyorsanız o projeye ait kısayol menüsünden Remove komutunu verebilirsiniz.

Yukarıda otomatik olarak hazırlanan Solution'a sonradan 2. bir projeyi dahil ettim. Ancak işe Solution hazırlamak ile başlayabilirsiniz. Herhangi bir projeye sahip olmayan Solution hazırlamak istiyorsanız New Project diyalog kutusundaki Blank Solution şablonundan yararlanabilirsiniz.



Herhangi bir proje içermeyen yeni bir Solution hazırlamak için Project Types liste kutusunda Visual Studio Solutions ve Templates kutusunda ise Blank Solution şablonunu seçip solution için klasör seçip ve ad girip OK düğmesini tıklarsanız aşağıdaki gibi Visual Studio penceresi ile karşılaşırsınız. Bu sırada Solution'a dahil edilmiş olan herhangi bir proje olmadığı için Solution Explorer penceresinde yalnızca Solution adı listelenir.



Bu sırada mevcut projelerden birisini Solution'a dahil edebilir veya Solution için yeni bir proje hazırlayabilirsiniz. Bu 2 işlem için Solution Explorer penceresinde Solution'a ait kısayol menüsünden New Project veya Existing Project komutlarından birisini verebilirsiniz.

Projeleri Çalıştırmak ve Derlemek

Şimdi sırada yukarıda anlatılan şekilde hazırladığınız projeyi çalıştırmak veya test etmek var. Bu düşünce ile New Project diyalog kutusunu ekrana getirip Windows Forms Application şablonu ile 'Proje1' adında bir proje hazırlayıp bu projeyi 'C:' sürücüsünde Proje1 klasörüne kaydettim.

New Project diyalog kutusunda Create directory for solution onay kutusu pasif duruma getirip proje hazırlanırken otomatik olarak hazırlanan Solution'la ilgili dosyanın ayrı bir klasöre konulmasını engelledim. Program geliştirme aracı olarak Visual Studio yerine Visual Basic için hazırlanmış Express Edition'ı kullananlar için şunu söylemek isterim: Projeleri çalıştırmak bağlamında Visual Studio ile Express Edition birbirinden farklı değildir.

Şimdi hazırladığım projede herhangi bir değişiklik yapmadan, başlangıç formuna kontrol yerleştirmeden ve proje için başka bir Class hazırlamadan çalıştıracağım. Projeleri çalıştırmak için genellikle Debug menüsündeki Start Debugging komutu kullanılmaktadır. Genellikle dedim; çünkü projeleri çalıştırmanın başka yöntemleri de vardır. Başlangıçta Visual Studio penceresinin başlığı Proje1-Microsoft Visual Studio iken proje çalıştırıldığında Visual Studio penceresinin başlığı Proje1[Running]-Microsoft Visual Studio olmaktadır.



Çalışır durumdaki projeye ait ilk formu Kapat düğmesi ile kapatıp projenin çalışmasını sona Visual Studio ile hazırlanan Visual Basic projeleri Debug menüsünden komut verilerek çalıştırıldıkları zaman Visual Studio tarafından otomatik olarak EXE dosya hazırlanmaktadır. Proje çalıştırıldığında hazırlanan EXE dosyanın yerini aşağıda görebilirsiniz. Bu EXE dosya ancak proje hazırlanırken tercih edilen .NET Framework sürümünün(2.0, 3.0 veya 3.5) kurulu olduğu bilgisayarda çalışabilir. Aşağıda ekran görüntüsü verilen dosya listesindeki 'pbd' uzantılı dosyaya dikkatinizi çekmek istiyorum. Kodun debug edilmesi yani hatalardan ayıklanması ile ilgili bilgiler bu dosyaya yazılmaktadır. Tabii burada hata ayıklama işlemleri üzerinde durmayacağımız için pdb uzantılı dosyanın işlevinden ve nasıl kullanıldığından söz edilmeyecektir.



Yukarıda söylendiği gibi Visual Studio ile hazırladığınız Visual Basic projesini çalıştırmak için Debug menüsünden Start Debugging komutunu verebilir veya direk F5 tuşuna basabilirsiniz. Aslında Debug menüsünden bu komutu vermekle Visual Studio'ya bir bakıma 'hazırladığım projeyi entegre hata ayıklayıcısının nezaretinde test etmek ve varsa hataları ayıklamak istiyorum' demiş oluyorsunuz. Üzerinde çalıştığınız projeyi Ctrl+F5 tuşları ile çalıştırırsanız projeyi entegre hata ayıklayıcısından(Debugger'dan) bağımsız çalıştırmış olursunuz. Bu konunun ayrıntılarından daha sonra söz edilecektir.

En başında belirtmek gerekir ki Start Debugging komutu verildiği zaman proje için otomatik olarak hazırlanan EXE dosya projeden yararlanacaklara yani kullanıcılara verilecek EXE kopya değildir. Elbette Start Debugging komutu sayesinde hazırlanıp projeye ait klasörün içinde yer alan 'BinDebug' klasörüne yerleştirilen EXE dosyayı alıp başka bilgisayarda çalıştırmak mümkündür. Ancak debug modunda iken hazırlanan EXE dosyanın dağıtılması önerilmiyor.

Şimdi gelelim şu Debug moduna. Programcılar genelde uygulamalarını geliştirmeyi ve test etmeyi Debug modunda yaparlar. Ne zaman ki uygulama tamamlanıp testlerden geçer o zaman Release sürümü hazırlayıp kullanıcılara öyle verirler. Yukarıdaki sayfalarda işaret edildiği gibi Visual Studio ile yeni Visual Basic projesi hazırlanıp kaydedildiği zaman projeye ait klasörün içinde 'Bin' ve 'Obj' adında 2 klasör hazırlanmaktadır.

Derleme sırasında hazırlanan geçici dosyalar 'Obj' klasörüne konulmaktadır. Obj klasörünün altında 'Debug' ve 'Release' adında 2 klasör hazırlanmaktadır. Aynı şekilde 'Bin' klasörünün içinde yine 'Debug' ve Release' adında 2 klasör hazırlanmaktadır. Uygulamanın Debug sürümü Bin klasörünün içinde bulunan BinDebug klasörüne konulurken Release sürümü BinRelease klasörüne yerleştirilmektedir.

Yukarıda belirtildiği gibi Visual Studio ile bir Windows Forms Application hazırlayıp bu uygulamayı kaydedip sonrada Debug menüsünden Start Debugging komutunu verdiğinizde Visual Studio söz konusu uygulamayı önce derlemektedir. Tabi Visual Studio bu işlemi yaparken .NET Framework ile gelen Visual Basic derleyicisini kullanmaktadır. Derleme işlemi sırasında hazırlanan dosyalar uygulamaobjDebug klasörüne yerleştirilmektedir.



Start Debugging komutu verildiği zaman Visual Studio derleme yapıp bu dosyaları hazırladıktan sonra ayrıca 'uygulamaBinDebug' klasörüne kodun EXE'sini ve birkaç dosya daha yerleştirilip bu EXE dosya çalıştırılmaktadır. Hazırladığınız projeyi çalıştırıp test etmek yerine derlemek istiyorsanız Build menüsündeki komutlardan yararlanmanız gerekir. Build menüsünde gerçekte aşağıda verilen ekran görüntüsündekinden daha fazla komut bulunmaktadır. Başlangıçta Solution'ların derlemesiyle ilgili komutlar Build menüsünde yer almıyor. Eğer birden fazla projeyi bir Solution'da topluyorsanız Tools menüsünden komut verip ekrana Options diyalog kutusunu getirip Project And Solutions sekmesinde ayarlama yapabilirsiniz.



Bu menüdeki komutların adlarına üzerinde çalışılan projenin adı eklenmektedir. Bu sırada üzerinde çalıştığım projenin adı Proje1'di. Üzerinde çalıştığınız projeyi derlemek üzere Build menüsünden Build komutunu verirseniz Visual Studio projenizi derler. Derleme sırasında önce UygulamaobjDebug klasörüne bazı dosyalar yerleştirilir. Derleme işleminin ikinci aşamasında birisi EXE olmak üzere birkaç dosya daha hazırlanıp UygulamaBinDebug klasörüne yerleştirilir. EXE dosyayı çift tıklayıp veya Başlat menüsünden Çalıştır komutunu verip projenizi çalıştırabilirsiniz. Tabii profesyonel programcılar projeleri için kurma CD'si hazırlayıp uygulamalarını öyle dağıtırlar. Kurma CD'sini Visual Studio ile gelen Setup Wizard'dan yararlanarak hazırlayabilirsiniz.

Derleme sonucu hazırlanıp ObjDebug ve BinDebug klasörlerine yerleştirilen dosyaları silmek istiyorsanız Build menüsünden Clean komutunu vermelisiniz. Daha önce derlediğiniz projeyi Build komutu ile tekrar derlediğinizde projenin yalnızca değişen kısımları gözetilir. Rebuild komutu ise projeyi sanki ilk kez derleniyormuş gibi yeni baştan derler.

Debug modundan Release moduna geçmek istiyorsanız Visual Studio'nun Debug menüsünden komut verip Cunfiguration Manager diyalog kutusunu ekrana getirmelisiniz. Başlangıçta bu komut Debug menüsünde yer almıyor. Bu nedenle Tools menüsündeki Options komutu ile ekrana getirilen diyalog kutusunda ayarlama yapmak gerekmektedir.

Options diyalog kutusunda Project and Solution seçenek grubundaki Show advanced build configurations onay kutusunu seçmelisiniz. Bu ayarlamayı yapıp Debug menüsünde Cunfiguration Manager komutunun yer almasını sağlayıp bu komutu verdiğinizde akrana aşağıda verilen diyalog kutusu gelir.



Bu ekran görüntüsünü aldığım sırada üzerinde çalıştığım projenin dahil olduğu Solution bir tek projeye sahipti. Bu sırada Solution'da birden fazla proje olsaydı o projeler de listelenirdi. Bu diyalog kutusundaki Active Solution configuration ve Active solution platform liste kutularında yapılan seçimlerden bütün projeler etkilenmektedir.

Active Solution configuration liste kutusunu açıp Release'i seçerseniz Debug modundan Release moduna geçmiş olursunuz. Bu andan itibaren Debug menüsünden Start Debugging komutunu verip projeyi çalıştırırsanız EXE kodun Release sürümü hazırlanır ve bu EXE dosya 'BinRelease' klasörüne yerleştirilir. Bu sırada yani Release modunda iken Build menüsünden Clean' komutunu verirseniz 'ObjRelease' ve 'BinRelease' klasörlerine yerleştirilmiş dosyalar silinir.

Debug modunda iken Build menüsünden Build' veya Rebuild' komutu verilerek derleme yapıldığında derleme sonucu hazırlanan dosyalar yine 'ObjRelease' ve 'BinRelease' klasörlerine yerleştirilmektedir. Hangi modda olduğunuzu öğrenirken Project Properties penceresinden yararlanabilirsiniz.



Bu dersi baştan sonra inceleyenlerin tespit etmiş olabileceği gibi bazı küçük ayrıntılar hariç burada anlatılan işlemler hakkında bilgiyi başka kaynaklarda bulmanız yüksek bir ihtimaldir. Hatta daha önce eski Visual Basic ve Delphi IDE'sini az çok kullanmış olanların kaynak karıştırmalarına bile gerek kalmadan bu metinde anlatılanları kendilerinin zaten biliyor olmaları uzak bir ihtimal değildir. Buna rağmen yarın bir gün sırf bu metni kaleme aldım diye yargılanmamak, sanık pozisyonunda hakim karşısına çıkmamak için ek açıklama yapma gereğini duyuyorum:

"Ey yetkililer, ey yerli programcılık kitabı yazarları, ey namuslu bilirkişiler; 1994 yılından bu yana Microsoft'un IDE'lerini kullanan programlama dilleri üzerine çok sayıda kitap yazmış birisi olarak yukarıdaki sayfalarda yazdıklarımı gidip bozuk cümlelerle dolu yerli programcılık kitaplarından öğrenmemin bir mantığı var mıdır? Yani yukarıda verilen bilgilerin daha önce yayınlanan bazı programcılık kitaplarında yer alıyor olması olsa olsa Visual Studio'nun suçudur."
  • Etiketler;
Yorum Yaz

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

Hocam teşekkür ediyorum sizin makalenizi okudum yalnız sizin kişisel sitenizde engellenme var. Google engellemiş Ama makalenizi sık sık okumak istiyorum şimdi buraya kadar herşeyi öğrendim.Vb.net'i artık geliştirme kısmına geldi geliştirmek için ne yapmam lazım hangi projeleri ve siteleri takip etmem lazım. Bilgi verirseniz sevinirim. Görüşmek üzere..

Yukarı Git