IRC ve mIRC Kullanıcılarının Buluşma Noktası
  Mobil Sohbet, Sohbet ve Sohbet Odaları




Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 09 Ocak 2012, 21:58   #1
Çevrimdışı
Konsol Uygulamaları ve Express Edition


-- Sponsor Baglantı --


C#'la ilgili ilk derse söylemiş olmama rağmen tekrar edelim: Bu derslerin amacı programcılık ve C# öğrenmek isteyenlere ilk öğrenmeleri gereken konuları anlatmaktır. C# çalışmaya bu dersleri okuyarak başlayanların C# öğrenme süreleri kısalacaktır, C# kitaplarında yazılanları, C# derslerinde anlatılanları anlamaları kolaylaşacaktır. Bu nedenle elinizdeki C# 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# diliyle uygulamalar 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. C#’la ilgili 2. ve 3. derste Not Defteri ile konsol uygulamaları geliştirip C#’a 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 paketi 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 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. Visual Studio 2008 için konuşmak gerekirse Visual Studio ile .NET Framework 3.5 destekli ve istenilen programlama dilinde uygulama geliştirmek mümkün iken C#’e özel Express Edition ile ancak C# uygulaması geliştirmek mümkündür.

Bu söylenenlerden yola çıkarak C# 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 Express Edition’la idare edebililer.

Bu bölümde C# için hazırlanmış Express Edition'ın 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. C# için hazırlanan Express Edition yazdığınız programları derlerken .NET Framework ile gelen C# derleyicisinden yararlanır. .NET uyumlu C# uygulaması geliştirmek isteyenlerin C# 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 C#’le ilgili Express Edition’ın adı “Microsoft C# 2008 Express Edition”. İlk bakışta bu adlandırmada 2008’in C# 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 C# sürümü olduğu yazılmaktadır.


Visual C# İçin Hazırlanmış Express Edition’ı Kurmak

C# 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. C# 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 C# 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. C# ile program 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 C# 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ış olan 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 onay kutusunu seçtiğinizde kurma işlemi sırasında yaşadığınız sorunlar Microsoft’a iletilir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Welcomebaşlıklı bu diyalog kutusunda herhangi bir işlem yapmadan Next düğmesini tıklayınca bu kez ekrana lisans hakları ilgili pencere geldi. Kurma işlemine devam etmek üzere lisans hakları ile ilgili penceredeki ilgili radyo düğmesini seçip Next düğmesini tıklarsanız ekrana aşağıda verilen Installation Options diyalog kutusu gelir. Visual Studio ve C#’la ilgili dokümanların indirilip kurulmasını istiyorsanız bu diyalog kutusundaki Microsoft Express MSDN... onay kutusunu seçmelisiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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. C# ile 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.

Tabii SQL Server’la ilgili bu onay kutusunu seçmeden C# 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 C# 2008 Express Edition’ın kurulacağı sürücü ve klasörün belirlendiği Destination Folder başlıklı diyalog kutusu ekrana gelir. C# için hazırlanmış Express Edition’a ait dosyalar “\Program Files\Microsoft 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 C# 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 aşağıdaki gibi daha fazla olabilirdi.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


İşleme devam etmek üzere Install düğmesini tıklarsanız kurma, 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Visual C# İç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. C# için hazırlanmış Express Edition’ı çalıştırdığınızda aşağıdaki gibi bir pencere ile karşılaşırsınız.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 etme anahtarı isteniyor. Bu anahtar elimizde olmadığına göre Microsoft’tan isteyeceğiz.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Gerek olmamasına rağmen 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


İ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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 aşağıdaki gibi bir diyalog kutusu getirilerek ürünün zaten kayıtlı olduğu işaret edilir.


Visual C# 2008 Express Edition’ı(bu adlandırma kafaları karıştırdığı için zaman zaman “C# için hazırlanan Express Edition” deme gereğini duyuyorum) kurup çalıştırırsanız aşağıdaki gibi Visual C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Visual C# 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çenekler ile mevcut projeleri açabilir ve yeni projeler hazırlayabilirsiniz. İsterseniz Start Page sayfasını kapatabilirsiniz. Bazı arkadaşlarımız C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Proje Hazırlamak

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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu sırada C# için hazırlanmış Express Edition yerine Visual Studio kullanıyor olsaydım New Project diyalog kutusunda daha fazla seçenek olurdu. Çünkü Visual Studio ile C# 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 C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan bu kodu incelerseniz size yabancı gelen fazla bir şeyin olmadığını fark edersiniz. Şimdiye kadar anlattıklarımıza ek olarak using deyimiyle System.Collections.Generic, System.Linq ve System.Text adlı namespace’lerdeki sınıflardan yararlanılmak istendiği işaret edilmiştir. Zaten daha önce verdiğimiz kısacık örneklerde bu namespace’lerdeki sınıflara gerek duymamıştık. New Project diyalog kutusunda uygulamaya vermiş olduğum ad aynı zamanda Namespace adı olarak kullanılmış. Devamında Program adında bir Class hazırlanmış. Başka bir deyişle Express Edition, kod dosyasının adını aynı zamanda Class adı olarak kullanmış. Tabii sizler bu Class’a yani sınıfa başka bir ad verebilirsiniz. Her C# uygulamasında Main() metodunun olması zorunlu olduğu için bu Class’ın sınırları içinde Main() metoduna yer verilmiş.

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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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

Save Project diyalog kutusuna ayrıca Solution Name başlıklı bir metin kutusu bulunmaktadır. C# 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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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

C# 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.

C# 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 Program.cs dosyasındaki Main() metoduna aşağıdaki gibi 3 satır ekledim.

using System;
using System.Collections.Generic;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
color="#0000ff"> System.Console.Write("Çıkmak için bir tuşa basın");
System.Console.ReadKey();
}
}
}

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 EXE dosyayı hazırlayıp ç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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan EXE dosya projeye ait klasörün altındaki Bin klasörü içinde yer alan Debug klasörüne kaydedilir. Bu EXE dosyayı alıp .NET Framework kurulu başka bilgisayarda çalıştırabilirsiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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. C# 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: Onların 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 en fazla 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 beni suçlarlar. Bu derslerde yer ve sayfa sorunu olmadığı için kitaplarda kullandığımda çok daha fazla ekran görüntüsüne yer verdim.


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 “csproj” uzantılı dosya ise proje dosyasıdır. “csproj” uzantılı proje dosyalarında projedeki form ve class’lar 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Konsol uygulaması için Express Edition tarafından hazırlanan SLN ve CSPROJ uzantılı dosyalarla ilgimizi şimdilik kopardıktan sonra geriye bir tek “program.cs” dosyası kaldı. Şimdi “Program.cs” dosyasını Not Defteri ile açıp içeriğini size göstereceğim.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


G
ördüğünüz gibi bu satırlar Express Edition penceresinde yazdıklarımızla aynıdır. Daha önceki C# sürümlerini ve Visual Studio 2003’ü kullananlar için söylemek gerekirse; Microsoft firması Visual Studio 2005 ve C# 2.0’dan itibaren C# projelerinde “program.cs” adında bir dosya hazırlamaya başladı. Projeler bu dosyadan, başka bir deyişle bu dosyadaki Main() metodundan itibaren çalışmaktadır.

Konsol uygulamalarında başlangıçta kod içeren bir tek “program.cs” 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu kodu dikkatlice incelerseniz using deyimiyle System.Windows.Forms adlı Namespace’deki Class’lardan yararlanılmak istendiği belirtilmiş. Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelir. Çünkü bu Namespace .NET Framework ile gelen System.Windows.Forms.dll adlı DLL dosyasında yer almaktadır. .NET Framework’e ait 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. Başka bir deyişle Express Edition’ın bu referans hakkında bilgilendirilmesi gerekir. 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 referansını uygulamaya dahil etmelisiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Aşağıda verdiğim ekran görüntüsünü bu referans veya DLL dosyasını uygulamaya dahil ettikten sonra aldım. Her ne kadar burada referansın uygulamaya dahil edildiğinden söz edilse bile gerçek tam böyle değildir. Yapılan, Express Edition’ın dolayısıyla C# derleyicisinin bu referanstan yararlanılmak istendiği konusunda haberdar edilmesinden ibarettir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 sınıfı 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 birisi çıkıp bu değişken adını yani Form1’i kendi namı hesabıma Register ettim derse 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 ekrana New Project diyalog kutusunu getirip Windows Application şablonunu seçtim.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition ile C# projesi hazırlandığı zaman çok kullanılan bazı referanslar veya namespace ve 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 Add Reference diyalog kutusunu ekrana getirmiştik.

Benzer durum Express Edition ile hazırlanan Windows Forms uygulamaları için de geçerlidir. Visual C# 2008 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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.

Birçok yerli yabancı kaynakta bu altını çizdiğim paragrafın benzerini bulma ihtimali yüksektir. Bu paragrafta söylenenler yanlış olmasa bile eksiktir ve okurun konuyu en başından yanlış kavramasına 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.NET\Framework klasörüne yerleştirilmektedir.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 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 yok. 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 aşağıda verdiğim kodda olduğu gibi Class adından önce Namespace adını yazarak söz konusu namespace’teki istediğiniz gibi Class’tan yararlanabilirsiniz.


static void Main(string[] args)
{
System.Windows.Forms.Form Form1;
Form1 = new System.Windows.Forms.Form();
Form1.Text = "memikyanik.com";
System.Windows.Forms.Application.Run(Form1);
}

Her seferinde Class adından önce Namespace adını yazmak istemiyorsanız using deyimiyle söz konusu namespace’teki Class’lardan yararlanmak istediğinizi Visual Studio veya Express Edition’a belirtebilirsiniz. Buradaki using deyimi DOS’un Path komutu ile benzer işleve sahiptir.

using System;
using System.Windows.Forms;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
Form Form1;
Form1 = new Form();
Form1.Text = "memikyanik.com";
Application.Run(Form1);
}
}
}

Ü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 “Program.cs” dosyasına çekmek istiyorum. Daha önceki derslerden bildiğiniz gibi C# projelerinin başlangıç noktası Main() metodudur. Express Edition veya Visual Studio ile hazırlanan projelerde Main() metodu “Program.cs” adlı kod dosyasında bulunduğu için bu dosya önemlidir.

Her ne kadar bu dosya önemlidir desem bile bu dosyaya kayıtsız kalıp usta işi programlar yazmak mümkündür. Ne ki işin geri planının anlaşılması için bu dosyanın üzerinde biraz durmak bir zorunluluk. Solution Explorer penceresinde “Program.cs” dosyasını çift tıklarsanız bu kod dosyasının içeriği görüntülenir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan bu kodu dikkatlice incelerseniz System, System.Collections.Generic ve System.Windows.Forms adlı 3 Namespace’deki sınıfların kullanılmak istendiği konusunda using deyimiyle ayarlama yapılmış olduğunu görebilirsiniz. Program.cs dosyasındaki diğer satırlar hakkında şimdi verilecek bilgilerin altyapısı olmadığı için üzerinde fazla durmayacağım. Buna rağmen şu satırı dikkatinize sunmak istiyorum.

Application.Run(new Form1());

Bu satırı daha önce görmüş olanlar şöyle bir açıklamayı okumuş olabilirler: “Uygulama Run() metodu ile başlatılmaktadır”. Aslında bu tek cümlelik tanım yanlış değildir. Ne ki bu tanım, bu satırla nelerin yapıldığını, geri planda nelerin geliştiğini açıklamaya yetmiyor.

Konunun devamında anlatılacağı gibi Express Edition ile bir Windows Forms uygulaması hazırlandığında System.Windows.Forms adlı Namespace’teki Form adlı Class’ın mirasçısı “Form1” adında bir Class hazırlanmaktadır. İşte bu satırda “Form1” adlı Class’ın örneği alınıp Application nesnesinin Run() metoduna parametre olarak verilmektedir. Yeterince açık olmayan bu 2 cümlenin açıklamasını bir sonraki derse bırakıyorum.

Biraz Reklam

C# hakkında ayrıntılı bilgi edinmek istiyorsanız aşağıda resmini verdiğim C# 3.0 kitabıma bakabilirsiniz. En kapsamlı C# kitabı iddiası ile hazırlanan bu kitabı kitapçılardan, [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...], [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'dan veya [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'undan temin edebilirsiniz. Orada burada Memik Yanık ve bu kitap aleyhine yazılan bir şeyler görürseniz inanmayın ve kitabın nasıl bir içeriğe sahip olduğunu görmek istiyorsanız bu kitaptan alınma [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bakabilirsiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.





Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
C#'la ilgili ilk derse söylemiş olmama rağmen tekrar edelim: Bu derslerin amacı programcılık ve C# öğrenmek isteyenlere ilk öğrenmeleri gereken konuları anlatmaktır. C# çalışmaya bu dersleri okuyarak başlayanların C# öğrenme süreleri kısalacaktır, C# kitaplarında yazılanları, C# derslerinde anlatılanları anlamaları kolaylaşacaktır. Bu nedenle elinizdeki C# 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# diliyle uygulamalar 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. C#’la ilgili 2. ve 3. derste Not Defteri ile konsol uygulamaları geliştirip C#’a 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 paketi 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 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. Visual Studio 2008 için konuşmak gerekirse Visual Studio ile .NET Framework 3.5 destekli ve istenilen programlama dilinde uygulama geliştirmek mümkün iken C#’e özel Express Edition ile ancak C# uygulaması geliştirmek mümkündür.

Bu söylenenlerden yola çıkarak C# 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 Express Edition’la idare edebililer.

Bu bölümde C# için hazırlanmış Express Edition'ın 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. C# için hazırlanan Express Edition yazdığınız programları derlerken .NET Framework ile gelen C# derleyicisinden yararlanır. .NET uyumlu C# uygulaması geliştirmek isteyenlerin C# 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 C#’le ilgili Express Edition’ın adı “Microsoft C# 2008 Express Edition”. İlk bakışta bu adlandırmada 2008’in C# 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 C# sürümü olduğu yazılmaktadır.


Visual C# İçin Hazırlanmış Express Edition’ı Kurmak

C# 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. C# 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 C# 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. C# ile program 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 C# 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ış olan 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 onay kutusunu seçtiğinizde kurma işlemi sırasında yaşadığınız sorunlar Microsoft’a iletilir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Welcomebaşlıklı bu diyalog kutusunda herhangi bir işlem yapmadan Next düğmesini tıklayınca bu kez ekrana lisans hakları ilgili pencere geldi. Kurma işlemine devam etmek üzere lisans hakları ile ilgili penceredeki ilgili radyo düğmesini seçip Next düğmesini tıklarsanız ekrana aşağıda verilen Installation Options diyalog kutusu gelir. Visual Studio ve C#’la ilgili dokümanların indirilip kurulmasını istiyorsanız bu diyalog kutusundaki Microsoft Express MSDN... onay kutusunu seçmelisiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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. C# ile 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.

Tabii SQL Server’la ilgili bu onay kutusunu seçmeden C# 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 C# 2008 Express Edition’ın kurulacağı sürücü ve klasörün belirlendiği Destination Folder başlıklı diyalog kutusu ekrana gelir. C# için hazırlanmış Express Edition’a ait dosyalar “\Program Files\Microsoft 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 C# 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 aşağıdaki gibi daha fazla olabilirdi.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


İşleme devam etmek üzere Install düğmesini tıklarsanız kurma, 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Visual C# İç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. C# için hazırlanmış Express Edition’ı çalıştırdığınızda aşağıdaki gibi bir pencere ile karşılaşırsınız.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 etme anahtarı isteniyor. Bu anahtar elimizde olmadığına göre Microsoft’tan isteyeceğiz.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Gerek olmamasına rağmen 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


İ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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 aşağıdaki gibi bir diyalog kutusu getirilerek ürünün zaten kayıtlı olduğu işaret edilir.


Visual C# 2008 Express Edition’ı(bu adlandırma kafaları karıştırdığı için zaman zaman “C# için hazırlanan Express Edition” deme gereğini duyuyorum) kurup çalıştırırsanız aşağıdaki gibi Visual C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Visual C# 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çenekler ile mevcut projeleri açabilir ve yeni projeler hazırlayabilirsiniz. İsterseniz Start Page sayfasını kapatabilirsiniz. Bazı arkadaşlarımız C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Proje Hazırlamak

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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu sırada C# için hazırlanmış Express Edition yerine Visual Studio kullanıyor olsaydım New Project diyalog kutusunda daha fazla seçenek olurdu. Çünkü Visual Studio ile C# 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 C# 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan bu kodu incelerseniz size yabancı gelen fazla bir şeyin olmadığını fark edersiniz. Şimdiye kadar anlattıklarımıza ek olarak using deyimiyle System.Collections.Generic, System.Linq ve System.Text adlı namespace’lerdeki sınıflardan yararlanılmak istendiği işaret edilmiştir. Zaten daha önce verdiğimiz kısacık örneklerde bu namespace’lerdeki sınıflara gerek duymamıştık. New Project diyalog kutusunda uygulamaya vermiş olduğum ad aynı zamanda Namespace adı olarak kullanılmış. Devamında Program adında bir Class hazırlanmış. Başka bir deyişle Express Edition, kod dosyasının adını aynı zamanda Class adı olarak kullanmış. Tabii sizler bu Class’a yani sınıfa başka bir ad verebilirsiniz. Her C# uygulamasında Main() metodunun olması zorunlu olduğu için bu Class’ın sınırları içinde Main() metoduna yer verilmiş.

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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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

Save Project diyalog kutusuna ayrıca Solution Name başlıklı bir metin kutusu bulunmaktadır. C# 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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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

C# 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.

C# 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 Program.cs dosyasındaki Main() metoduna aşağıdaki gibi 3 satır ekledim.

using System;
using System.Collections.Generic;
using System.Text;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
color="#0000ff"> System.Console.Write("Çıkmak için bir tuşa basın");
System.Console.ReadKey();
}
}
}

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 EXE dosyayı hazırlayıp ç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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan EXE dosya projeye ait klasörün altındaki Bin klasörü içinde yer alan Debug klasörüne kaydedilir. Bu EXE dosyayı alıp .NET Framework kurulu başka bilgisayarda çalıştırabilirsiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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. C# 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: Onların 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 en fazla 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 beni suçlarlar. Bu derslerde yer ve sayfa sorunu olmadığı için kitaplarda kullandığımda çok daha fazla ekran görüntüsüne yer verdim.


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 “csproj” uzantılı dosya ise proje dosyasıdır. “csproj” uzantılı proje dosyalarında projedeki form ve class’lar 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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Konsol uygulaması için Express Edition tarafından hazırlanan SLN ve CSPROJ uzantılı dosyalarla ilgimizi şimdilik kopardıktan sonra geriye bir tek “program.cs” dosyası kaldı. Şimdi “Program.cs” dosyasını Not Defteri ile açıp içeriğini size göstereceğim.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


G
ördüğünüz gibi bu satırlar Express Edition penceresinde yazdıklarımızla aynıdır. Daha önceki C# sürümlerini ve Visual Studio 2003’ü kullananlar için söylemek gerekirse; Microsoft firması Visual Studio 2005 ve C# 2.0’dan itibaren C# projelerinde “program.cs” adında bir dosya hazırlamaya başladı. Projeler bu dosyadan, başka bir deyişle bu dosyadaki Main() metodundan itibaren çalışmaktadır.

Konsol uygulamalarında başlangıçta kod içeren bir tek “program.cs” 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 forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu kodu dikkatlice incelerseniz using deyimiyle System.Windows.Forms adlı Namespace’deki Class’lardan yararlanılmak istendiği belirtilmiş. Aynı satırı sizler yazmaya kalkışırsanız hata meydana gelir. Çünkü bu Namespace .NET Framework ile gelen System.Windows.Forms.dll adlı DLL dosyasında yer almaktadır. .NET Framework’e ait 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. Başka bir deyişle Express Edition’ın bu referans hakkında bilgilendirilmesi gerekir. 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 referansını uygulamaya dahil etmelisiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Aşağıda verdiğim ekran görüntüsünü bu referans veya DLL dosyasını uygulamaya dahil ettikten sonra aldım. Her ne kadar burada referansın uygulamaya dahil edildiğinden söz edilse bile gerçek tam böyle değildir. Yapılan, Express Edition’ın dolayısıyla C# derleyicisinin bu referanstan yararlanılmak istendiği konusunda haberdar edilmesinden ibarettir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 sınıfı 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 birisi çıkıp bu değişken adını yani Form1’i kendi namı hesabıma Register ettim derse 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 ekrana New Project diyalog kutusunu getirip Windows Application şablonunu seçtim.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition ile C# projesi hazırlandığı zaman çok kullanılan bazı referanslar veya namespace ve 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 Add Reference diyalog kutusunu ekrana getirmiştik.

Benzer durum Express Edition ile hazırlanan Windows Forms uygulamaları için de geçerlidir. Visual C# 2008 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.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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.

Birçok yerli yabancı kaynakta bu altını çizdiğim paragrafın benzerini bulma ihtimali yüksektir. Bu paragrafta söylenenler yanlış olmasa bile eksiktir ve okurun konuyu en başından yanlış kavramasına 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.NET\Framework klasörüne yerleştirilmektedir.



Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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 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 yok. 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 aşağıda verdiğim kodda olduğu gibi Class adından önce Namespace adını yazarak söz konusu namespace’teki istediğiniz gibi Class’tan yararlanabilirsiniz.


static void Main(string[] args)
{
System.Windows.Forms.Form Form1;
Form1 = new System.Windows.Forms.Form();
Form1.Text = "memikyanik.com";
System.Windows.Forms.Application.Run(Form1);
}

Her seferinde Class adından önce Namespace adını yazmak istemiyorsanız using deyimiyle söz konusu namespace’teki Class’lardan yararlanmak istediğinizi Visual Studio veya Express Edition’a belirtebilirsiniz. Buradaki using deyimi DOS’un Path komutu ile benzer işleve sahiptir.

using System;
using System.Windows.Forms;
namespace Proje1
{
class Program
{
static void Main(string[] args)
{
Form Form1;
Form1 = new Form();
Form1.Text = "memikyanik.com";
Application.Run(Form1);
}
}
}

Ü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 “Program.cs” dosyasına çekmek istiyorum. Daha önceki derslerden bildiğiniz gibi C# projelerinin başlangıç noktası Main() metodudur. Express Edition veya Visual Studio ile hazırlanan projelerde Main() metodu “Program.cs” adlı kod dosyasında bulunduğu için bu dosya önemlidir.

Her ne kadar bu dosya önemlidir desem bile bu dosyaya kayıtsız kalıp usta işi programlar yazmak mümkündür. Ne ki işin geri planının anlaşılması için bu dosyanın üzerinde biraz durmak bir zorunluluk. Solution Explorer penceresinde “Program.cs” dosyasını çift tıklarsanız bu kod dosyasının içeriği görüntülenir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Express Edition tarafından hazırlanan bu kodu dikkatlice incelerseniz System, System.Collections.Generic ve System.Windows.Forms adlı 3 Namespace’deki sınıfların kullanılmak istendiği konusunda using deyimiyle ayarlama yapılmış olduğunu görebilirsiniz. Program.cs dosyasındaki diğer satırlar hakkında şimdi verilecek bilgilerin altyapısı olmadığı için üzerinde fazla durmayacağım. Buna rağmen şu satırı dikkatinize sunmak istiyorum.

Application.Run(new Form1());

Bu satırı daha önce görmüş olanlar şöyle bir açıklamayı okumuş olabilirler: “Uygulama Run() metodu ile başlatılmaktadır”. Aslında bu tek cümlelik tanım yanlış değildir. Ne ki bu tanım, bu satırla nelerin yapıldığını, geri planda nelerin geliştiğini açıklamaya yetmiyor.

Konunun devamında anlatılacağı gibi Express Edition ile bir Windows Forms uygulaması hazırlandığında System.Windows.Forms adlı Namespace’teki Form adlı Class’ın mirasçısı “Form1” adında bir Class hazırlanmaktadır. İşte bu satırda “Form1” adlı Class’ın örneği alınıp Application nesnesinin Run() metoduna parametre olarak verilmektedir. Yeterince açık olmayan bu 2 cümlenin açıklamasını bir sonraki derse bırakıyorum.

Biraz Reklam

C# hakkında ayrıntılı bilgi edinmek istiyorsanız aşağıda resmini verdiğim C# 3.0 kitabıma bakabilirsiniz. En kapsamlı C# kitabı iddiası ile hazırlanan bu kitabı kitapçılardan, [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...], [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'dan veya [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'undan temin edebilirsiniz. Orada burada Memik Yanık ve bu kitap aleyhine yazılan bir şeyler görürseniz inanmayın ve kitabın nasıl bir içeriğe sahip olduğunu görmek istiyorsanız bu kitaptan alınma [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bakabilirsiniz.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.





Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
radyo44.com.tr
Cevapla

Etiketler
edition, express, konsol, uygulamaları, ve

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Visual C# Express Edition Program Cemalizim C# 0 19 Temmuz 2008 16:14
Visual Studio 2008 Express Edition Talya Programlar 0 26 Aralık 2007 02:05