Microsoft Visual C# 2010 Express - Görsel Anlatımlı Kurs

Başlatan YARARMAN, 01 Haziran 2012, 04:41:23

YARARMAN



Bu konuyu açmamın esas amacı, forumda bu yönde bir istek oluşu ve öğrenmek isteyenlere bir nebze de olsa yardımda bulanabilmek.
Öncelikle uzun soluklu bir kurs olacağı kesin gibi görünüyor.
Kısmet olursa, sonuna kadar sürdüreceğim.
Bu kurs en temel anlatımdan başlayacaktır.
C# bilenler için sıkıcı gelebilir. :)
Mutlaka soru sormak isteyen arkadaşlar olacaktır.
O yüzden soruların, başka bir konu açılıp orada sorulmasının daha mantıklı olacağı kanısındayım.

Bu vereceğim görsel anlatımlı kurs, 5 temel bölümden oluşacaktır ve bunlar da kendi içlerinde alt bölümlerden oluşacaktır.
Elbette gözden kaçırdığım temel konular, ipuçları vs olacaktır.
Artık onları da bir şekilde tamamlayacağız el birliğiyle.

1 - Microsoft Visual C# 2010 Express Ortamının Hazırlanması
### Microsoft Visual C# 2010 Express'i İndirme ve Kurma  (Tamamlandı)
### Microsoft Visual C# 2010 Service Pack 1'i İndirme ve Kurma (Tamamlandı)
### Microsoft Visual C# 2010 Express Ürününü Kayıt Etme (Tamamlandı)
2 - .NET ve C#'ı Tanımak
### .NET Nedir? (Tamamlandı)
### C# Nedir? (Tamamlandı)
### Microsoft Visual C# 2010 Express Ortamı (Tamamlandı)
### Örnek Bir Yazılım (Tamamlandı)
### C# Sözdizimi (Syntax) (Tamamlandı)
### Değişkenler (Variables) (Tamamlandı)
### Veri Türleri
### İfadeler
### Akış Denetimleri
### Gelişmiş Değişkenler
### Fonksiyonlar
### Hata Ayıklama (Debugging)
### Nesne-Yönelimli Programlama (OOP - Object-Oriented Programming)
### Sınıflar (Classes)
### Ek Konular
3 - Windows Programlama
### Temel Denetimler (TextBox, Label, Button vs.) Kullanımı
### Windows Formları
### Menü ve Araççubukları (Toolbar)
### Diğer Denetimler
### Windows Uygulamalarını Dağıtma
4 - Veri Yönetimi
### Dosya Yönetimi
### XML Kullanımı
### LINQ Kullanımı
### SQL ile Veri Yönetimi
5 - Pratik Uygulamalar
### Değişik Alanlarda Her Türlü Uygulama Geliştirme

YARARMAN

1 - Microsoft Visual C# 2010 Express Ortamının Hazırlanması

### Microsoft Visual C# 2010 Express'i İndirme ve Kurma

ÖNEMLİ NOT: Bu kurulumu 64Bit Windows 7'de gerçekleştirdim. Diğer işletim sistemlerinde kurmak isteyenler, farklı ekranlarla karşılaşabilirler. Eğer halledemeyecekleri sorun çıkarsa, paylaşırlar, ben de çözüm bulmaya çalışırım.

Öncelikle aşağıdaki resimdeki gibi Google'a girip 'C# Express' diye yazıp arattırma yapacağız.
Ondan sonra ilk çıkan bağlantıya tıklayıp, indirme sayfasına yönleneceğiz.

[IMG]http://img15.imageshack.us/img15/2259/01googlearama.png[/img]

Karşımıza çıkan sayfada, 'INSTALL NOW - ENGLISH' düğmesine tıklayıp, açılan indirmeyi Farklı Kaydet deyip, masaüstüne kaydedeceğiz.

[IMG]http://img204.imageshack.us/img204/702/02mswebsite.png[/img]

[IMG]http://img440.imageshack.us/img440/5679/03farklikaydet.png[/img]

İnen 'vcs_web.exe' uygulamamız masaüstünde belirdi.
Çift tıklayıp çalıştıralım, karşımıza çıkan soruda 'Çalıştır'a tıklayalım.
Sonrasında ön yükleme başlatılacaktır.

[IMG]http://img29.imageshack.us/img29/6603/04inendosya.png[/img]

[IMG]http://img715.imageshack.us/img715/5008/05calistiruyarisi.png[/img]

[IMG]http://img26.imageshack.us/img26/4183/06onyukelem.png[/img]

Ön yükleme bittikten sonra karşımıza kuruluma hoşgeldin penceresi çıkacak.
Bu penceredeki; yes ile başlayan cümlenin yanındaki kutucuğun işaretini kaldırın ve 'Next' düğmesine tıklayın.
Sonrasında lisansı kabul etme penceresi çıkacaktır.
Bu pencerede de; I have read ile başlayan cümleyi seçin.
Sonrasında kurulum yeri penceresi çıkacaktır.
Bu ekranda ise 'Instal' düğmesine tıklayıp, geçin.

[IMG]http://img20.imageshack.us/img20/1340/07ilkanlasma.png[/img]

[IMG]http://img411.imageshack.us/img411/2184/08ilkanlasmakabulet.png[/img]

[IMG]http://img600.imageshack.us/img600/442/09kurulumyeri.png[/img]

Artık yazılımımız kurulmaya başlamıştır.
Kurulum bittikten sonra bir sonraki pencere karşınıza çıkacak.
O pencerede de 'Exit' düğmesine tıklayarak, kurulumu başarıyla sonlandırabilirsiniz.

[IMG]http://img137.imageshack.us/img137/3951/10kuruluyor.png[/img]

[IMG]http://img3.imageshack.us/img3/1310/11kurulumtamam.png[/img]

### Microsoft Visual C# 2010 Service Pack 1'i İndirme ve Kurma

Artık Başlat>Tüm Programlar>Microsoft Visual Studio 2010 Express>Microsoft Visual Studio 2010 Express yolunu seçerek yazılımı başlatabilirsiniz.

[IMG]http://img33.imageshack.us/img33/9973/12baslatprogramlar.png[/img]

Ancak karşınıza aşağıdaki gibi bir uyarı penceresi çıkacaktır.
Zira Microsoft Visual Studio 2010 Express'in tam bir şekilde açılabilmesi için Service Pack 1'in kurulması gerekmektedir.
Bu pencerede mavi renkteki 'here' yazısına tıklayıp, SP1 indirme sayfasına gidiyoruz.
Bu sayfada Download düğmesine tıklayıp, yine masaüstüne kaydediyoruz.

[IMG]http://img840.imageshack.us/img840/7965/13sp1error.png[/img]

[IMG]http://img850.imageshack.us/img850/5323/14sp1downloadpage.png[/img]

[IMG]http://img151.imageshack.us/img151/5391/15sp1farklikaydet.png[/img]

İnme işlemi bittikten sonra yine masaüstünde 'VS10sp1-KB983509.exe' uygulaması belirecektir.
Çift tıklayıp çalıştıralım, karşımıza çıkan soruda 'Çalıştır'a tıklayalım.
SP1 indirilmeye başlayacaktır.

[IMG]http://img687.imageshack.us/img687/1550/16inendosya.png[/img]

[IMG]http://img515.imageshack.us/img515/2361/17calistiruyarisi.png[/img]

[IMG]http://img17.imageshack.us/img17/6025/18sp1download.png[/img]

SP1 indikten sonra karşımıza kurulum ekranı çıkacaktır yine.
'Next' düğmesi aktif oluncaya kadar bekleyin.
Aktif olduktan sonra da tıklayıp, bu pencereyi geçin.
Bir sonraki ekranda yine lisansı kabul etmek için 'I have read' ile başlayan yazının yanındaki kutucuğu işaretleyin.
Ancak bir alttaki kutucuktaki (varsa) işareti kaldırın.

[IMG]http://img94.imageshack.us/img94/2944/19sp1kurulumsor.png[/img]

[IMG]http://img844.imageshack.us/img844/1190/20sp1kurulumilk.png[/img]

[IMG]http://img43.imageshack.us/img43/6092/21sp1kabulet.png[/img]

SP1 kurulmaya başlayacaktır.
Kurulum bittikten sonraki çıkan pencerede 'Finish' düğmesini tıklayarak SP1 kurulumunu başarıyla sonlandırın.

[IMG]http://img189.imageshack.us/img189/4941/22sp1kuruluyor.png[/img]

[IMG]http://img818.imageshack.us/img818/3930/23sp1kurulumbitti.png[/img]

### Microsoft Visual C# 2010 Express Ürününü Kayıt Etme

Microsoft Visual C# 2010 Express ürünü her ne kadar ücretsiz bir yazılım olsa da;
Microsoft'un siyasi ve politik düşünceleri neticesinde, size ürünün kayıt edilmesi konusunda ısrar eder.
Bu ürünü kayıt ettirmeden 30 gün boyunca kullanabilirsiniz.
Ancak sonunda yine kayıt ettirmek zorundasınız.
Yine Başlat>Tüm Programlar>Microsoft Visual Studio 2010 Express>Microsoft Visual Studio 2010 Express yolunu seçerek yazılımı başlatın.
Karşımıza yazılımın yüklenme ekranı çıkacaktır.
Orada da ürünün kayıtlı olmadığı belirtilmektedir.
Sonunda karşımıza Microsoft Visual Studio 2010 Express ortamı çıkmaktadır.

[IMG]http://img337.imageshack.us/img337/1531/01baslatprogramlar.png[/img]

[IMG]http://img805.imageshack.us/img805/6645/02yukleniyor.png[/img]

[IMG]http://img803.imageshack.us/img803/1000/03ilkekran.png[/img]

Öncelikli olarak bu ürünü kayıt etmemiz gerekiyor.
Help>Register Product yolunu takip ediyoruz.
Karşımıza çıkan pencerede, bizden 'Registration Key' istiyor.
Onu alabilmek için 'Obtain a registration key online' düğmesine tıklayıp, kayıt sayfasına yöneliyoruz.

[IMG]http://img526.imageshack.us/img526/349/04helpregisterproduct.png[/img]

Kayıt sayfasında gerekli bilgileri doldurup 'Continue' düğmesine tıklıyoruz.
Sonrasında, posta adresimizi onaylamamız gerektiğini söyleyen başka bir sayfa çıkıyor.
Posta kutumuzu denetliyoruz ve gelen postadaki ilk bağlantıya tıklıyoruz.

[IMG]http://img42.imageshack.us/img42/378/05serialalma.png[/img]

[IMG]http://img546.imageshack.us/img546/74/06mailonaylamamesaj.png[/img]

[IMG]http://img38.imageshack.us/img38/9024/07onaylamapostasi.png[/img]

Karşımıza çıkan sayfada, posta adresimizin başarıyla onaylanadığı yazıyor.
Bu sayfada 'Continue' düğmesine tıklayarak yine devam ediyoruz.
Sonunda anahtarımıza ulaşabiliyoruz.
Onu hemen bir yere kopyalıyoruz.
(Bu arada, ürün anahtarımız aynı zamanda postamıza da gönderiliyor.)

[IMG]http://img825.imageshack.us/img825/4045/08postaonaylama.png[/img]

[IMG]http://img28.imageshack.us/img28/5628/09registerserial.png[/img]

Önceden bir yerlere kopyaladığımız ürün anahtarını alıp;
Help>Register Product deyip, 'Registration Key' yazısının altındaki kutucuğa yapıştırıyoruz.
Bu penceredeki 'Register Now' yazılı düğmeye tıklayarak, ürünümüzü başarıyla kayıt etmiş oluyoruz.

[IMG]http://img585.imageshack.us/img585/3801/10serialgirme.png[/img]

İlk temel konumuz böylelikle sonlanmış oluyor.
Fırsat buldukça kursa devam edeceğim.

YARARMAN

###.NET Nedir?


- .NET Mimarisi -

.NET Framework; bilgisayar yazılımlarını ortak bir platform üzerinde çalıştırabilmek için Microsoft'un geliştirdiği bir teknolojidir. .NET, kararlı bir şekilde çalışabilen uygulamaları kolayca geliştirebilmek için sağlanan bir ortamdır. .NET Framework, tamamen diller arası uyumluluk için geliştirilmiştir. Diller arası uyumluluğu; .NET bileşenlerinin, hangi dilde yazıldığına bakılmaksınız diğer bir dil ile etkileşime geçebilmesi diye de yorumlayabiliriz. Örnek olarak; .NET teknojisi sayesinde, VB'de yazılmış bir uygulama C# ile yazılmış bir DLL dosyasını referans olarak kullanabilir. .NET, iki önemli bileşenden meydana gelmiştir:
# Çalışma-Zamanı Ortak Dil (Common Language Runtime – CLR)
# Sınıf Kütüphaneleri (Class Libraries)

Çalışma-Zamanı Ortak Dil (Common Language Runtime – CLR)
CLR için kısaca .NET'i çalıştıran motor da diyebiliriz. Normalde, .NET ortamında geliştirilmeyen bir yazılım derlendiğinde, makine kodundan oluşan bir exe dosyası üretirilir ve bu işletim sistemi bu exe dosyasını olduğu gibi çalıştırır. Ancak .NET'te geliştirilmiş bir yazılım derlendiğinde saf makine kodundan (ASM) oluşan çalıştırılabilir bir exe dosyası üretilmez. Üretilen dosya, Microsoft Ara Dili (Microsoft Intermediate Language - MSIL) diye adlandırılan ASM tarzı özel bir kod türü içerir. MSIL; CLR tarafından okunup yorumlanabilmek için tasarlanmış düşük seviyeli bir dildir. Ortak Dil Tanımlaması (Common Language Specification – CLS), .NET derleyicilerinin onayladığı asgari standartları içerir. Böylelikle .NET derleyicisi ile derlenmiş herhangi bir kod, .NET Framework ile birlikte çalıştırılabilir.

Dip Not: Java sistemi bilenler için durum daha kolay anlaşılacaktır. JRE kurulan ortamda, nasıl Java uygulamaları sorunsuzca çalıştırılabiliyorsa, .NET Framework kurulu ortamlarda da, .NET yazılımları rahatlıkla çalıştırılabilir. O yüzden diller arası uyumluluktan bahsedilir.

Sınıf Kütüphaneleri (Class Libraries)
Sınıf kütüphanesi, .NET uygulamalarında ortak olarak kullanabilmek için önceden oluşturulmuş kod kütüphaneleridir. Bu kütüphane sayesinde .NET uygulamaları daha kolay bir şekilde geliştirilebilmektedir.

.NET şuan için şu dilleri destekliyor:
APL, VC++,  C#,  Cobol, Component Pascal, Curriculum, Eiffel, Forth, Fortran, Haskell, Java Language, Microsoft JScript, Mercury, Mondrian, Oberon, Pascal, Perl, Python, RPG, Scheme, Small Talk, Standard ML, Microsoft Visual Basic...

Biz, C# dilini kullanacağız. :)

Şimdilik bu alt konumuzun da sonuna geldik. Bazı yerler fazla teorik kaçmış ya da sıkıcı gelmiş olabilir. Ancak bu teknolojiyi kullanarak yazılım geliştirmek istiyorsak, temel çalışma prensibini bilmemiz gerekli. Kursta elimden geldiği kadar aktif olmaya çalışıyorum. Bu arada, kurs ile sadece geceleri ilgilenebiliyorum.

ULAGA

C# Nedir?

C#, .NET'te çalışacak uygulamalar oluşturabilmek için geliştirilmiş bir dildir. C ve C++ gelişmiş bir sürümüdür ve Microsoft tarafından .NET platformu ile çalışması için geliştirilmiştir. C# dili, Turbo Pascal derleyicisini ve Delphi'yi oluşturan takımın lideri olan Anders Heljsberg ve Microsoft'da Visual J++ takımında çalışan Scott Wiltamuth tarafından geliştirilmiştir. C# dili diğer dillerin en iyi özellikleri birleştirilerek oluşturulmuştur. Sözdiziminin (sytax) C++'dan daha basit olduğu için C# kullanarak uygulama geliştirme, daha kolaydır. C# güçlü bir dildir. C++'da yapmak isteyip de, C#'da yapılamayacak şey yok denecek kadar azdır. C++'ın sistem belleğine direk olarak erişimi ve yönetimi gibi çok gelişmiş özelliklerini, C# da barınmaktadır. Bu programlama tekniği potansiyel bir tehlike riski içerir. Zira yanlışlıkla bellekteki önemli sistem alanlarının üzerine veri yazılabilir ve çok ciddi sistem hataları meydana gelebilir.
Bu yüzden tehlikeli sonuçlar doğurabileceği için kursumuzda bu konu üzerinde fazla durmayacağız.

C# kullanılarak; Windows uygulamaları, Web uygulamaları ve siteleri, Web servisleri geliştirilebilir.

NOT: Bu bölümü kısa tuttum. Zira C#'ı diğer bölümlerdeki ayrıntılı olarak özelliklerini anlatırken daha iyi anlayacaksınız...

ULAGA

Microsoft Visual C# 2010 Express Ortamı

Microsoft Visual C# 2010 Express ortamında; Windows uygulamaları, yeni nesil WPF uygulamaları, konsol uygulamaları ve sınıf kütüphaneleri (DLL) geliştirilebilir.
Kursta, temel C# yapısını anlatırken, genellikle konsol uygulamaları üzerinden gideceğim.
Ancak ileriki aşamalarda, bütün uygulamalar tamamen Windows uygulamaları üzerine olacak.
Microsoft Visual C# 2010 Express ortamını ise örnek bir Windows uygulaması üzerinden anlatacağım.


Başlangıç Ekranı



Visual C# 2010 Express'i çalıştırdığımızda, yukarıdaki gibi karşımıza başlangıç ekranı gelir.
Üst tarafta menü ve araççubukları, sağ ve sol yanlarda açılır pencereler ve orta içerikte ise kısayollar ve internet bağlantıları bulunmaktadır.
Orta içerikte hızlıca yeni proje oluşturulabilir, var olan proje ve en son açılan projeler açılabilir.
Şimdi sırasıyla bu ortamdaki pencereleri, araççubuklarını, menüleri anlatacağım.
Bu ortamdaki yazılım geliştirme genel olarak Tasarım (Design) ve Kodlama (Code) olmak üzere iki bölümden oluşur.
Konsol uygulamaları geliştirirken ise sadece Kodlama (Code) üzerine oluşur.






Toolbox (Araç Kutusu) Penceresi

Aşağıdaki pencerede de gördüğünüz gibi Windows uygulamaları yazarken ihtiyaç duyduğumuz bütün denetimleri içerir.
Button, Label, TextBox, CheckBox, RadioButton gibi.
Bu denetimleri, tasarladığımız forma ekleyebilmek için ya üzerine çift tıklarız ya da o denetimi tutup forma sürükler bırakırız.
Denetimler bu kadar ile sınırlı değildir.
İstersek internetten bulduğumuz ya da kendi hazırladığımız denetimleri de bu araç kutusuna ekleyebiliriz.
En çok kullanılan denetimleri kursun ilerleyen safhalarında, örnekleri ile birlikte açıklayacağım.




Solution Explorer (Çözüm Gezgini) Penceresi

Bu pencere, aslında geliştirdiğimiz yazılımların temel taşlarını oluşturan önemli bir denetim penceresidir.
İçerisinde, geliştirdiğimiz yazılımın projesine ait bütün dosyaları hiyerarşik bir şekilde barındırır ve o dosyaları yönetmemizi sağlar.
Bu pencerede, projemize yeni formlar, sınıf dosyaları ve referansları, klasörler, veritabanı ve normal dosyaları ekleyebiliriz.




Properties (Özellikler) Penceresi

Form üzerinde seçtiğimiz denetimlerin bütün özelliklerini ayarladığımız penceredir.
Başta o denetimin ID'si, görünen yazısı, genişliği, boyu, konumu olmak üzere bütün özelliklerini tanımlayabiliriz.




Toolbars (Araççubukları)

Toolbars (Araççubukları), yazılım geliştirirken iş hızımızı arttırmak için yapacağımız işlerin kısayollarını barındırırlar.
Örneğin yeni proje, dosya kaydet, kes, kopyala, yapıştır gibi işlemlere hızlıca ulaşmamızı sağlarlar.




Menü Çubuğu

Menü çubuğu, bu ortamda yapacağımız bütün işlevlerin hiyerarşik bir şekilde toplandığı yerdir.
Menüdeki en kullanışlı olan seçenekleri sırasıyla açıklayacağım.

Not : Menü seçenekleri, ortam içeriklerine göre değişiklikler göstermektedir.





File > New Project... : Yeni bir proje oluşturmak için yukarıdaki pencereyi açar.
File > Open Project... : Var olan bir projeyi açmak için kullanılır.
File > Open File... : Herhangi bir dosyayı açmak için kullanılır.
File > Add > New Project... : Var olan Solution'a yeni bir proje eklemek için kullanılır.
File > Add > Existing Project... : Var olan Solution'a var olan bir projeyi eklemek için kullanılır.
File > Close : O an açık olan dosyayı kapatır.
File > Close Solution : O an açık olan Solution'ı kapatır.
File > Save : O an seçili olan dosyayı kaydeder.
File > Save As... : O an seçili olan dosyayı farklı kaydeder.
File > Save All : Bütün dosyaları kaydeder.
File > Export Template : Seçili olan dosyayı şablon olarak kaydeder.
File > Page Setup... : Yazdırılacak olan sayfanın ayarlarını barındırır.
File > Print... : Seçili olan sayfayı yazdırır.
File > Recent Files : Son açılan dosyaları gösterir.
File > Recent Projects and Solutions : Son açılan proje ve Solutionları gösterir.
File > Exit : Programdan çıkmamızı sağlar.

Edit > Undo : Son yaptığımız işlemi geri alır.
Edit > Redo : Son yaptığımız işlemi tekrardan getirir.
Edit > Cut : Seçilen yazıyı/dosyayı keser.
Edit > Copy : Seçilen yazıyı/dosyayı kopyalar.
Edit > Paste : Kesilen ya da kopyalanan yazıyı/dosyayı yapıştırır.
Edit > Select All : O an açılı olan dosyadaki bütün yazıları/parçaları seçer.
Edit > Delete : Seçilen yazıyı/dosyayı siler.
Edit > Quick Find : O an açılı olan dosyada istediğimiz yazıyı bulmamızı sağlar.
Edit > Quick Replace : O an açılı olan dosyada değiştirmek istediğimiz yazıyı bulup, değiştirmemizi sağlar.
Edit > Format Document : Yazdığımız C# kodlarını hiyerarşik bir şekilde düzenler.
Edit > Comment Selection : Seçilen yazıyı açıklama satırı haline getirir.
Edit > Uncomment Selection : Açıklama satırı olan kodların başındaki // açıklama işaretini kaldırır.
Edit > Insert Snippet... : Seçilen satıra if, for, switch gibi kod parçacıkları ekler.

View > Code : Kodlama ekranına geçer.
View > Design : Tasarım ekranına geçer.
View > Start Page : Başlangıç ekranını gösterir.
View > Other Windows : Toolbox, Solution Explorer ve Properties gibi pencereler kapalı ise onları gösterir.
View > Toolbars : İşimizi hızlandıran araççubuklarını açıp kapatmamızı sağlar.
View > Full Screen : Microsoft Visual C# 2010 Express ortamını tam ekran yapar.

Project > Add Windows Form... : Projeye yeni bir form ekler.
Project > Add Class... : Projeye yeni bir sınıf ekler.
Project > Add New Item... : Projeye yeni bir parça ekler.
Project > Add Existing Item... : Projeye var olan bir parça ekler.
Project > Add Reference : Projeye referans ekler.
Project > Add Service Reference : Projeye servis referansı ekler.
Project > Set as StartUp Project : Seçilen projeyi, Solution'da başlangıç projesi olarak ayarlar.
Project > Add Class : Projeye yeni sınıf ekler.
Project > Publish : Bitirdiğimiz yazılımı dağıtım edilecek hale getirir.

Debug > Start Debugging : Yazılımı hata ayıklama modunda çalıştırır.
Debug > Build Solution : Solution'ı derler.
Debug > Step Into : Hata ayıklama modunda fonksiyonların içlerine girerek adım atlar.
Debug > Step Over : Hata ayıklama modunda fonksiyonların içlerine girmeyerek adım atlar.
Debug > Toggle Breakpoint : Hata ayıklama modunda o satırda dursun diye seçilen satıra Breakpoint ekler ya da kaldırır.
Debug > Window > Output : Derleme ile ilgili bilgileri gösteren Output penceresini gösterir..
Debug > Window > Immediate : Yazılımı çalıştırmadan, metodları test edebileceğiniz Immediate penceresini gösterir.
Debug > Clear All DataTips : Bütün VeriGöstergeçlerini (DataTips) siler.
Debug > Export DataTips... : Tanımlanmış VeriGöstergeçlerini (DataTips) XML olarak dışarıya kaydeder.
Debug > Import DataTips... : Önceden XML olarak dışarıya kaydedilmiş VeriGöstergeçlerini (DataTips) proje içerisine aktarır.
Debug > Options and Settings : Debug modu ile ilgili ayarların da bulunduğu ortamın ayarlarını düzenleyebileceğiniz  ayarlar dialog penceresini açar.
Not : Immediate penceresi ve VeriGöstergeçlerini (DataTips), Hata Ayıklama konusunda ayrıntılı bir şekilde açıklanacaktır.

Data > Show Data Sources : Projeye eklenmiş veri kaynaklarını gösterir.
Data > Add Data Source... : Projeye yeni bir veri kaynağı ekler.

Format > Align > Lefts : Form üzerinde seçili olan denetimleri yatay eksende sola dayalı olarak hizalar.
Format > Align > Centers : Form üzerinde seçili olan denetimleri yatay eksende merkeze dayalı olarak hizalar.
Format > Align > Rights : Form üzerinde seçili olan denetimleri yatay eksende sağa dayalı olarak hizalar.
Format > Align > Tops : Form üzerinde seçili olan denetimleri dikey eksende üste dayalı olarak hizalar.
Format > Align > Middles : Form üzerinde seçili olan denetimleri dikey eksende ortaya dayalı olarak hizalar.
Format > Align > Bottoms : Form üzerinde seçili olan denetimleri dikey eksende aşağıya dayalı olarak hizalar.
Format > Align > to Grid : Form üzerinde seçili olan denetimlerin ızgaraya dayalı olarak hizalar.
Format > Make Same Size > Widht : Form üzerinde seçili olan denetimlerin genişliklerini eşitler.
Format > Make Same Size > Hight : Form üzerinde seçili olan denetimlerin boylarını eşitler.
Format > Make Same Size > Both : Form üzerinde seçili olan denetimlerin ebatlarını eşitler.
Format > Make Same Size > Size to Grid : Form üzerinde seçili olan denetimlerin ebatlarını ızgaraya göre boyutlandırır.
Format > Horizontal Spacing > Make Equal : Form üzerinde seçili olan denetimlerin arasındaki yatay eksen üzerinde olan boşlukları eşitler.
Format > Horizontal Spacing > Increase : Form üzerinde seçili olan denetimlerin arasındaki yatay eksen üzerinde olan boşlukları arttırır.
Format > Horizontal Spacing > Decrease : Form üzerinde seçili olan denetimlerin arasındaki yatay eksen üzerinde olan boşlukları azaltır.
Format > Horizontal Spacing > Remove : Form üzerinde seçili olan denetimlerin arasındaki yatay eksen üzerinde olan boşlukları kaldırır.
Format > Vertical Spacing > Make Equal : Form üzerinde seçili olan denetimlerin arasındaki dikey eksen üzerinde olan boşlukları eşitler.
Format > Vertical Spacing > Increase : Form üzerinde seçili olan denetimlerin arasındaki dikey eksen üzerinde olan boşlukları arttırır.
Format > Vertical Spacing > Decrease : Form üzerinde seçili olan denetimlerin arasındaki dikey eksen üzerinde olan boşlukları azaltır.
Format > Vertical Spacing > Remove : Form üzerinde seçili olan denetimlerin arasındaki dikey eksen üzerinde olan boşlukları kaldırır.
Format > Center in Form > Horizontally : Form üzerinde seçili olan denetimi/denetimleri, yatay eksen üzerinde form/panel/gropbox içinde ortalar.
Format > Center in Form > Vertically : Form üzerinde seçili olan denetimi/denetimleri, dikey eksen üzerinde form/panel/gropbox içinde ortalar.
Format > Order > Bring to Front : Form üzerinde üstüste gelmiş olan denetimlerin içinde seçili olan denetimi/denetimleri, üste getirir.
Format > Lock Controls : Form üzerinde seçili olan denetimi/denetimleri sabitler. Sabitlenen o denetim/denetimler artık form üzerinde fare ile sürüklenerek konumları değiştirilemez.
Not : Bu seçenekleri, bir form üzerindeki denetim ya da denetimler üzerinde deneyerek ne işe yaradıklarını daha kolay anlayabilirsiniz.

Tools > Extension Manager... : Microsoft Visual C# 2010 Express ortamı için olan eklentileri düzenlemeye yarayan aşağıdaki pencereyi açar.
Tools > Settings : Bu alt menü, Microsoft Visual C# 2010 Express ortamındaki menü, araççubuğu ve pencerelerin düzenini değiştiren hazır seçenekleri barındırır ve bu barındırdığı seçenekleri dışarıdan alır ya da dışarıya aktarır.
Tools > Customize... : Menü ve araççubuklarındaki seçenekleri düzenlemeye yarayan aşağıdaki pencereyi açar.
Tools > Options... : Geliştirme ortamındaki bütün ayarlarını düzenleyebileceğiniz aşağıdaki ayarlar dialog penceresini açar.







Window > New Window : Sekme grubunda seçili olan kod penceresinden, bir tane daha oluşturur.
Window > Split/RemoveSplit : Sekme grubunda seçili olan kod penceresini, ikiye böler ya da böldüğünü kaldırır.
Window > Float : Sekme grubunda seçili olan pencereyi, sekme grubundan kaldırarak serbest bırakır.
Window > Dock : Açılır/kapanır olan pencereleri sabitler.
Window > Dock as Tabbed Document : Açılır/kapanır olan pencereleri, sekme grubuna açık bir şekilde sabitler.
Window > Auto Hide : Açılır/kapanır olan pencereleri, imlecin üzerinden çekildiğinde otomatik biçimde gizlenecek hale getirir.
Window > Hide : Açılır/kapanır olan pencereleri, geliştirme ortamından kaldırır.
Window > Auto Hide All : Açılır/kapanır olan bütün pencereleri, imlecin üzerinden çekildiğinde otomatik biçimde gizlenecek hale getirir.
Window > New Horizontal Tab Group : Sekme grubunda seçili olan pencere için yatay olarak yeni bir sekme grubu oluşturulur.
Window > New Vertical Tab Group : Sekme grubunda seçili olan pencere için dikey olarak yeni bir sekme grubu oluşturulur.
Window > Close All Documents : Sekme gruplarındaki bütün açılı olan pencereleri kapatır.
Window > Reset Window Layout : Geliştirme ortamındaki bütün pencerelerin düzenlerini sıfırlar.
Window > ... ... ... : Son açılan pencerelerin listesidir.

Not : Help menüsünün seçeneklerini, internete dayalı olduğu için açıklamayacağım. Geliştirme ortamı ve diller hakkındaki bütün yardımları içeren MSDN yardım kütüphanesi Visual Studio ile kurulabilmektedir. Ancak günümüzde yazılımcılık ile uğraşanların %99'un evinde internet olduğu için MSDN yardım kütüphanesinin çok da gerekli olacağını düşünmüyorum.

Ortam Kullanımı ile İlgili Birkaç Bilgi

Çoğu zaman yazdığımız binlerece satır kod içindeki bir kelimeyi ya da metni topluca değiştirmek isteyebiliriz.
Bunun için menüden Edit > Quick Replace seçeneğini seçerek, aşağıdaki Quick Replace penceresini açabiliriz.
Ayrıyeten klavyede CTRL+H kısayolunu kullanarak da bu işi gerçekleştirebiliriz.
Değiştirilecek olan kelimeyi ya da metni 'Find what:' kutucuğuna, yeni kelimeyi de 'Replace with:' kutucuğuna yazıyoruz.
'Find Next' düğmesine tıklarsak, değiştirmek istediğimiz kelimeyi ya da metni bulur.
'Replace' düğmesine tıklarsak, değiştirmek istediğimiz kelimeyi ya da metni bulup, yeni kelime ile değiştirir.
'Replace All' düğmesine tıklarsak, değiştirmek istediğimiz kelime ya da metinden aynı olanın hepsini bulup, yeni kelime ile değiştirir.




Bazenleri kod içindeki bazı satırları topluca açıklama satırı haline getirmek isteriz.
Böyle bir şey istediğimizde, her satırın başına tek tek // işareti koymak yerine, Text Editor araççubuğundaki Comment tuşunu kullanabiliriz.
Öncelikle açıklama satırı haline getirilecek olan satırları seçer, sonra da Comment tuşuna basarız.
Açıklama satırı haline getirdiğimiz satırları tekrardan normal kod satırı haline dönüştürmek istersek de;
Comment tuşunun hemen yanındaki Uncomment tuşunu kullanabiliriz.






Bu konu burada sonlanmaktadır. Ortam ile ilgili daha fazla merak edilen bir konu olursa, şamata bölümünde sorulabilir.

sinankul

Sırf bu güzel ayrıntılı anlatımınız siteye üye olmama yetti üstat... teşekkürler...

ULAGA

#6
### Örnek Bir Yazılım


Uzun bir aradan sonra tekrardan yeni bir konu hazırladım.
Bu konuda, çok basit bir konsol uygulaması geliştireceğiz.
Öncelikle File menüsünden New Project'i seçin.
Aşağıdaki pencere çıkacaktır karşınıza, bu pencereden Console Application'ı seçip OK düğmesine basın.




Yeni bir konsol uygulaması hazırlanmış bir şekilde açılacaktır.
Aşağıdaki ekran görüntüsü üzerinde genel bir inceleme yapabiliriz.




C# programlama dili, C dilinin torunu olduğu için yazım kuralları C ile nerdeyse aynıdır.
Program yazılırken belirli bir kurala uyulması gereklidir.

1 numaralı bölümdeki 'using' kelimesi bir yönergedir (direktif).
(Not: Ayrıca C# dilinde 'using' ifadesi (statement-deyim) de vardır. O daha sonraki konularda ele alınabilir.)
Bu direktif iki farklı amaç için kullanılır.
Birincisi, yukarıdaki örneğimizdeki gibi başka bir kütüphaneyi yazdığımız programa dahil etmek içindir.
İkincisi ise herhangi bir türe ya da alan adına (namespace) takma ad vermek içindir:
using Multiple = Libraries.Math.Multiple; gibi.
Böylelikle çarpma işlemine ulaşmak için her seferinde uzunca 'Libraries.Math.Multiple' yazmak yerine sadece Multiple yazmış olacağız.

2 numaralı bölümdeki 'namespace' (alan adı) anahtarı (keyword), yazılım projemizin en üst erişim noktasıdır.
Bir projedeki bir ya da birden fazla sınıfı (class) aynı çatı altında toplamak için bu alan adı anahtarı kullanılır.
Projemizde birden fazla alan adı bulunabilir.
Alan adlarını, içerisinde bir çok sınıf barındıran bir kütüphane ya da bir küme olarak da düşünebiliriz.
Bu alan adları sayesinde projemizi daha kolay yönetebiliriz ve sınıflarımıza rahatça erişebiliriz.
Bu konuda, alan adlarına ayrıntılı bir şekilde girmek istemiyorum.
Sınıflar (Class) bölümünde ayrıntılı bir şekilde anlatılacaktır.

3 numaralı bölümdeki 'class' (sınıf) anahtarı C# dilinin en temel anahtar kelimelerinden birisidir.
Sınıflar programımızdaki değişkenleri, metodları ve alt sınıfları bir arada tutmaya yarar.
Sınıflar sayesinde yazdığımız program çok daha düzenli olur.
OOP'un (Object Oriented Programming-Nesne Yönelimli Programlama) temelini oluşturur.
Sınıflar konusunda ayrıntılı bir şekilde üzerinde duracağız bu konunun.

4 numaralı bölümdeki 'Main' metodu ise C dilinden kalma standart temel bir metodtur.
Bu metod Windows uygulamarı dahil bütün uygulamalarda olmak zorundadır.

Şimdi küçük bir konsol uygulaması yazalım.
Yazdığım program üzerinde fazla durmayacağım.
Elektronikte bildiğimiz Flip-Flop devresini andıran basit bir program olacak.


static void Main(string[] args)
        {
			while (true)
			{
				Console.SetCursorPosition(1, 1);
				Console.Write(" ");
				Console.SetCursorPosition(4, 1);
				Console.Write("O");
				Thread.Sleep(500);
				Console.SetCursorPosition(1, 1);
				Console.Write("O");
				Console.SetCursorPosition(4, 1);
				Console.Write(" ");
				Thread.Sleep(500);
			}
        }




Şimdi programımızı çalıştırmak için menüden Debug>Start Debugging ya da F5 tuşuna basıyoruz.
Program çıktısı aşağıdaki gibi olacaktır.




Tabi yukarıdaki ekranda çok belli olmadı Flip-Flop olduğu. :)
Ancak kendiniz denediğinizde göreceksiniz.

Bu konumuzun da sonuna geldik.
Aklında sorusu olan, konu hakkında önerisi olan ya da konuda yanlış bir bilgi gören var ise;
Bu konunun şamata bölümüne mesajını iletebilir.

Uzun süredir kursa bakamıyordum, yoğunluktan dolayı.
Bilirsiniz ki geçim şartları zordur.
O yüzden iş hayatımdaki, işleri yetiştirmek çabasıyla, bu kurstan uzak kaldım, belli bir süreliğine.
Umarım yine uzak kalmadan konulara devam ederiz...

ULAGA

#7
### C# Sözdizimi (Syntax)

C# dili, Java diline benzemektedir. Keza Java dili de C dilinden türemiştir. Java geliştiricileri C# dilini öğrenmekte zorluk çekmeyeceklerdir. C# dili, diğer dillere nazaran günlük konuşma diline daha uzaktır. O yüzden ilk başlarda biraz zorlayabilir. C# dilinin derleyecisi, diğer bazı derleyicilerinin aksine kod içerisindeki normal boşlukları, tab boşlularını, satır başlarını (anahtar kelimeler hariç) görmezden gelir. Bu esneklik, kod yazarken size esneklik katar. Ancak okunabilirlik açısından, kodların düzgün bir şekilde yazılması daha mantıklıdır. Örneğin aşağıdaki kod bloğu farklı şekillerde yazılmıştır. Ancak her iki kod bloğu da sorunsuzca çalışacaktır.

public ActionResult Support()
{
	VMSupport VMSupport = new VMSupport();
	VMSupport.WebDoc = new WebDoc();
	VMSupport.WebDoc.Chapters = _DataHelper.GetChapters();
	return View(VMSupport);
}

////////////////////////////////////////////////////////////////////////////////

public ActionResult Support(){
VMSupport
VMSupport = new
VMSupport();VMSupport.WebDoc
= new WebDoc();	VMSupport.WebDoc.	Chapters = 
_DataHelper.GetChapters();
return
View(
VMSupport);
}


C# kodu, noktalı virgül ile sonlandırılan ifade dizilerinden meydana gelir. C# derleyicisinin, boşlukları görmezden geldiğini söylemiştik. O yüzden her ifade dizisi noktalı virgül ile sonlandırılmak zorundadır. Bir satırda, birden fazla ifade dizisi bulunabilir. Ancak kod okunabilirliği açısından her ifade dizisi sonrasında bir alt satıra geçmek daha faydalı olur. C# dili, blok yapılı bir dildir. Yani ifadeler bir kod bloğu parçasıdır. Bu bloklar, süslü parantez ile sınırlanır. '{' ve '}' karakterleri ile. C# dilinin sözdizimi (syntax) ile ilgili bazı ayarları, menüden Tools>Options>Text Editor>C#>Formatting yolunu izleyerek özelleştirebilirsiniz.

C# dili ile kod yazarken açıklama satırlarına sıklıkla ihtiyaç duyarsınız. Çift taksim (//) ile tek satırlık açıklamalar ekleyebilirsin kodunuza. Birden fazla açıklama satırı eklemek istediğinizde ise /*  */ bloğunu kullanılır. Aşağıda her ikisi için de örnek mevcuttur.


// Bu, tek satırlık bir açıklamadır!

/* Açıklamanın ilk satırı ...
.............................
... son satırı! */


ÖNEMLİ : C# dilinde küçük/büyük harf duyarlılığı vardır. Örneğin aşağıdaki örnekte, sadece ilk satırdaki kod çalışacaktır.

Console.WriteLine("Bu bir C# başlangıç uygulamasıdır!");

console.WriteLine("Bu bir C# başlangıç uygulamasıdır!");
CONSOLE.WRITELINE("Bu bir C# başlangıç uygulamasıdır!");
Console.Writeline("Bu bir C# başlangıç uygulamasıdır!");

ULAGA

### Değişkenler (Variables)

Yazılım geliştirirken en çok ihtiyaç duyduğumuz şey; kullanacağımız bir veriyi saklama ihtiyacıdır sanırım. Bu hizmeti, bütün programlama  dillerinde değişkenler karşılar. Değişkenler, türlerine göre bilgisayar belleğinde (RAM) belli bir yer kaplarlar. Normalde bir bilgisayar, verileri binary (1 ve 0) olarak saklar. Ancak yazılımcıların daha rahat bir şekilde yazılım geliştirebilmeleri için değişkenler türlere ayrılmıştır. Bir değişken tanımlanırken öncelikle değişkenin türü yazılır. Sonrasında ise o değişkene ulaşabilmek için kullanılacak olan adı yazılır. Bir değişken tanımlanırken, değer verebilirsiniz.

<değişken türü> <değişken adı>
int numara;

Değer atama:
int numara = 9;


Değişkenleri daha iyi anlayabilmek için şu şekilde bir yaklaşım uygulayabiliriz. Mutfak rafınızda üzerinde ayrı ayrı tuz, biber ve şeker yazan üç tane kavonoz olduğunu düşünün. Tuz kavonozunda 100gr tuz, biber kavanozunda 50gr biber ve şeker kavonuzunda ise 200gr şeker olduğunu var sayalım. Yemek yapacağımız zaman, tuz ve bibere ihtiyaç duyarız. O yüzden rafa bakıp, sırasıyla üzerinde tuz ve biber yazan kavanozlara uzanırız. Kavonoz üzerindeki yazıları, değişkenlerin adları olarak düşünebilirsiniz. Elimizi uzatıp kavonuzu aldığımızda içine bakarız, tuz ya da biber var mı diye. Kavonoz içerisindeki miktarları da değişkenin içerikleri olarak düşünebilirsiniz. Program yazarken de bu şekilde bazı verilere sürekli erişmek isteriz. Kavonoz içerisindeki tuzun olup olmadığını öğrenmek için sadece bakarız ve değişkenin içeriği değişmemiş olur. Ancak kavonoz içerisinden bir miktar tuz alınca kavonoz içeriği değişecektir ve değişkenin içeriğe de değişmiş olacaktır. Tuz ihtiyacımız olduğunda, eğer tuz kavonuzunda tuz kalmamış ise dışarıdan müdahele ederek içine tuz doldururuz. Keza değişkenin içeriği yine değişmiş olacaktır. Yukarıdaki değişkenleri C# dilinde tanımlayacak olur isek:

int tuz = 100;
int biber = 50;
int seker = 200;


Değişkenlere Değer Atama

Bir değişkene sonradan bir değer atanabileceği gibi tanımlanırken de atanabilir.
Değişkene bir değer atamak için ise '=' (eşittir) işareti kullanılır.
Değişken, eşittir işaretinin solunda, atanacak değer ise sağında olması gerekir.
Tek satırda, aynı türden birden fazla değişken aynı anda tanımlanabilir ve değer atanabilir.
Tanımlama ve atama örnekleri:


int tuz;
tuz = 100;

int tuz = 100, biber = 50, seker = 200;
int tuz, biber, seker = 200;


ÖNEMLİ: Yukarıdaki örneklerin son satırındaki 'int tuz, biber, seker = 200;' örneğinde, 200 değeri sadece seker değişkenine atanır.
Ancak bir üst satırındaki örnekte ise hepsine teker teker önlerindeki değerler atanır.


Sabit Değişkenler

Yazılım geliştirirken, içeriği program boyunca değişmeyecek olan sabit değişkenlere ihtiyaç duyabiliriz. Örneğin muhasebe ile ilgili bir yazılım geliştirken KDV oranı bir çok yerde lazım olabilir. KDV oranın lazım olduğu her yerde, KDV oranını sayı ile girmektense; programın başında sabit bir değişken tanımlayıp değerini atayabiliriz. (KDV değeri sadece bir örnekti. Aksi taktirde geliştirdiğiniz böyle bir muhasebe yazılımında, KDV değerinin kullanıcı tarafından denetimli bir şekilde girilmesini istemek daha mantıklıdır.) Yazılım geliştirdikten 1 sene sonra eğer KDV oranı değişirse, size sadece programın başında atadığınız ilk değeri değiştirmek kalır. Ancak sabit değişken kullanmayıp, her gerektiği yerde sayısal olarak girseydiniz, bu oranının kullanıldığı programın her yerinde değiştirmek zorunda kalırdınız. Bu işlemi normal bir değişken ile de yapabilirsiniz. Ancak kullanacağınız bir veri, programın her yerinde aynı içeriğe sahip olacaksa, sabit değişken tanımlamak daha mantıklıdır. Zira sabit değişkenlere sadece erişebilirsiniz, yazdığınız kod içerisinde o değişkenin içeriğini hiçbir şekilde değiştiremezsiniz. Böylece yazdığınız uygulamanın kararlılığını arttırmış olursunuz. Aşağıda sabit bir değişken tanımlası ve ona değer ataması bulunmaktadır.

const int KDV = 18;