Console Application 2 BackgroundColor-ForegroundColor Metotları BackgroundColor, konsol ekranında yazılan yazının arkaplanı renklerini biçimlendirmeye yarar. ForegroundColor ise, yazı rengini değiştirmeye yarar. Renk değiştirmek için ConsoleColor renk sabitlerini kullanacağız. Bazı renk değerleri şunlardır; Küçük bir örnek yapalım; 1. Satırda arkaplan rengini ConsoleColor. Renkadi sabitiyle koyu mavi yaptık. 2. Satırda metin rengimizi sarı yaptık. 3. Satırda arkaplan rengimizin bütün konsol ekranını kaplaması için Console. Clear metodunu kullandık. Eğer bu metodu kullanmasaydın sadece metin olan satırın arkaplanı koyu mavi olacaktı. 4. Satırda konsol ekranımıza metinimizi yazdırdık. F5 yapıp programı çalıştırdığımızda; Çıktısını alacağız. Programımızın çalışma esnasında belli bi yerden sonra arkaplan ve yazı renginin varsayılan ayarlara geri dönmesi için Console. ResetColor metodunu kullanabiliriz; ConsoleKeyInfo Yapısı Bildiğimiz gibi Read metodunu kullanarak basılan karakter okuyabiliyoruz. char metodunu kullanarakta hangi karaktere basıldığı bilgisine erişebiliriz. Read metodu basılan karakteri, mesela "a" karakterini ASCII karşığı olan 97 değerine çevirecektir. char metodu ise bu değeri tekrar "a" karakterine dönüştürecektir. Ancak Read metodu ile basılan karakterleri okuyabilsek de Enter, F1, Spacebar gibi tuşları okuyamıyoruz. Bunun için ReadKey ve ConsoleKeyInfo yapısını kullanacağız. ReadKey ile konsol ekranında basılan bir tuşu okuyup, ConsoleKeyInfo yapısı ile basılan tuşun bilgisini alcağız. ConsoleKeyInfo yapısı, System sınıfının altında bulunmaktadır. Yani System. ConsoleKeyInfo şeklinde kullanacağız. Örneğin Enter, F1, Spacebar vb tuşlarından birine basıldığında, hangi tuşa basıldığını gösteren bir konsol uygulaması yapalım; Enter, F1, Spacebar vb tuşlarından hangisine basarsak basalım çıktımız şu şekilde olacaktır; Burada bize System. ConsoleKeyInfo tuşlarından birine basıldığını söylüyor. Bizim bunu string, yani metin tipine dönüştürmemiz gerekiyor. Onun için ToString metodunu kullanacağız; Şimdi enter, F1 vb tuşlardan birine bastığımızda bize hangi tuşa bastığımızı söyleyecektir. Çıtkımız şu şekilde olacaktır; Not: ToString metodunu kullandığımız kodlamada ToString yazmayıp Sadece KeyInfo. Key yazmış olsak da yine aynı çıktıyı alıcaz. ToString i kullanmamızdaki amaç işimizi garantiye almaktır. ToString veya ToInt32 metodunu kullanmaya kendinizi alıştırın. Büyük projelerde sorun çıkabilir bu 2 metodu kullanmazsak. Şimdi yeni bir uygulama yapalım ve sonra kod satırlarını tek tek inceleyelim; 1. satırımızda kullaniciadi ve sifre olmak üzere 2 tane string tipinde değişken tanımladık. 2. satırımızda kullanıcı adının girilmesini istedik. 3. satırımızda girilen değeri okutup kullaniciadi değişkenine atadık. 4. satırımızda şifre girilmesini istedik. 5. satırımızda girilen değeri okutup sifre değişkenine atadık. 6. satırımızda ekranı temizledik. 7. satırımızda girilen değerleri yazdırmak için F2 tuşuna, çıkmak için ESC tuşuna basılmasını söyledik. 8. satırımızda ConsoleKeyInfo yapımızı kullandık. 9. 10. 11. ve 12. satırlarımız içinde if döngüsü yardımıyla eğer basılan tuş ESC ise uygulamanın kapatılmasını programa öğrettik. 13. ve 18. satırlarımız arasında else if döngüsü yardımıyla eğer basılan tuş F2 ise ekranı temizleyip kullanıcı adı ve şifreyi ekrana yazdırması gerektiğini programa öğrettik. Not: if ve else if döngüsüne daha sonra uzun uzun değineceğiz. SetCursorPosition ve SetWindowSize METODU SetCursorPosition metodu, imleci konsol ekranında belirtilen koordinata konumlandırmak amacı ile, "Console. SetCursorPosition ;" şeklinde kullanılır. SetWindowSize metodu, konsol ekranının genişlik ve yükseliğini ayarlamak amacı ile, "Console. SetWindowSize ;" şeklinde kullanılır. Daha iyi kavramak için bir örnek yapalım; 1. satırda SetWindowSize metodunu kullanarak konsol ekranımızın genişliğini 40, yüksekliğini ise 20 olarak ayarladık. 2. satırda SetCursorPosition metodunu kullanarak imlecimizin nerde bilereceğini konumlandırdık. İmlecimizin tam ortada belirmesini istediğimiz için Console. WindowWidth ve Console. WindowHeight ile ekranın genişlik ve yükseklik değerlerini elde ederek 2 ye böldük. 3. satırda imlecimizin konumlandığı yerden WriteLine Metodu ile metinimizi yazdırdık. Exit METODU Konsol uygulamasında yapılan işlemler bitince, aksi belirletilmediği sürece uygulamalarımız kendiliğinde sonlanır. Ancak konsol uygulamamızda istediğimiz bir yerde uygulamayı sonlandırıp, konsol ekranı kapatmamız mümkündür. Bunun için Environment sınıfının Exit metodunu kullanacağız; -

C# 5.0 Kurulum ve Çalışma Ortamına Genel Bakış C# 5.0, Visual Studio 2012 versiyonunda yer almaktadır. Buradan Ultimate sürümünü iso dosyası şeklinde indirebilirsiniz. Ultimate sürümde bize 30 günlük deneme süresi, eğer kayıt olursak 90 gün deneme süresi veriyor. Kurulum aşamasına geçelim; İndirdiğiniz iso dosyasını poweriso türü benzeri programlar ile açabilirsiniz. Basit bir kurulumu var ancak ben yinede resimli anlatım yapıcam; Visual Studio yu açtığınızda size hangi programlama dilinde çalışacağınızı soracaktır. Önceden kurulum yaptığımdan bende sormadığı için resim koyamadım. Siz orda C#'ı seçersiniz. Kurulum aşaması bitmiştir. Kodlarla çalışmaya geçmeden önce çalışma ortamımıza genel bir bakış yapalım. Start Page Sayfası: Start Bölümünden yeni proje veya varolan projeleri açabiliriz. Recent bölümünde ise en son kullandığımız 10 proje sergilenir. New Project: Recent ile son kullanılan proje şablonları listelenir, Installed ile c# a ait yüklü olan proje şablonları listelenir, Online ile internet ortamında mevcut olan proje şablonları listelenir. Installed kısmındaki şablonları inceleyelim; Windows Forms Applications: Windows Formlarının bulunduğu masaüstü programları geliştirmek amacı ile kullanılır. WPF Application: Görsel açıdan zengin niteliklere sahip XAML tabanlı Windows Presentation Foundation uygulamaları geliştirilir. Console Application: Windows formları bulunmayan komut satırı uygulamaları geliştirilir. ASP. NET Web Forms Application: İnternet ortamında çalışılacak ASP. NET uygulamarı ve web siteleri geliştirilir. Class Library: Dll dosyalarından oluşan sınıflar geliştirmek için kullanılır. Portable Class Library: Windows Phone 7, Silverlight, Microsoft. NET Framework ve Xbox 360 platformlarını aynı anda destekleyecek uygulamalar geliştirilir. ASP. NET MVC 3-4 Web Application: Dinamik web siteleri, web uygulamarı ve web servisleri geliştirilir. Silverlight Application: Silverlight internet uygulamaları geliştirilir. Şimdi Windows Form Applicationu seçerek uygulamamızı açıp ortam bileşenlerini tanıyalım. Menü Çubuğu File: Yeni proje açma, varolan projeleri açma, proje kaydetme vb işlemler gerçekleşir. Edit: Kesme, kopyalama, yapıştırma, arama, değiştirme vb işlemler gerçekleşir. View: Pencere ekleme, kaldırma, düzenleme gibi işlemler gerçekleşir. Project: Proje ile ilgili çeşitli ayarlar, projeye bileşenler ve referans ekleme işlemleri gerçekleşir. Build: Proje derlenerek başka bilgisayarlarda kullanıma hazırlamak amacıyla kullanılan sekmedir. Debug: Üzerinde çalışılan uygulamayı çalıştırmak ve hataları ayıklamak için kullanılan sekmedir. Format: Form ara yüzündeki nesneleri hizalama, yerleşim gibi düzenlemeler gerçekleşir. Test: Kodları ve uygulamaları test etmek amacıyla kullanılan sekmedir. Analyze: kod ve uygulamaları analiz etmek için kullanılan sekmedir. Window: Visual Studio IDE'sindeki pencerelerin yerleşim şekilleri ile ilgili ayarlar yapılan sekmedir. Araç Simgesi Çubuğu Menülerde yer alan işlemleri araç çubuğundaki simgeler sayesinde daha kısa sürede gerçekleştirebileceğimiz bölümdür. Solution Explorer Projeleri bir çatı altında toplamak amacıyla oluşturulmuştur. İçerisinde bir ya da birden fazla projeler bulunabilir. Projede mevcut olan kontrol, sınıf, metod gibi proje bileşenleri görüntülenir. ToolBox Form üzerine ekleyebileceğimiz kontrolleri listeler. Error List Kod yazımında yaptığımız hataları ayrıntılı bir şekilde gösteren bölümdür. View-Error List bölümünden ulaşılır. -

Bu emeğin mutlaka karşılığını alırsın umarım. Teşekkürler tekrar

Güzel bir konu devamını bende bekliyorum

ben varım. Dersleri sabırsızlıkla bekliyorum. Bu arada kitabın linki bozuk

Console Application 2 dersine SetCursorPosition-SetWindowSize ve Exit metodu eklenmiştir. Bundan sonraki dersimiz Sabitler ve Değişkenler üzerine olacaktır. Teşekkürler Bende teşekkür ederim yorumun için

cok kafa karistirici insanda sabir ve heves olacak paylasim icin tesekkürler

Şuan gerçekten çok büyük ve hayırlı bir iş yapıyorsunuz. Çok teşekkürler, ++++K Sürekli takip edeceğim inşallah.. Edit: Bunları toplu bir şekilde, paket halinde fln paylaşsanız ne harika olur. -

çok güzel bir konu. öğrenmek isteyen arkadaşların ilgisini çekecektir.

Ne kadar çok insan takip ederse o kadar hevesli oluyorum Kitap linki düzeltimiştir. Merak edilme beni heveslendiriyor Bu gece Properties Penceresinide anlatıp yarın Console uygulamasında kod yazımına geçeceğiz. -

Console Application 1 Console Application görsel özellikleri olmayan konsol ekranı uygulamalarıdır. Konsol ekranında kullanılan fonksiyonlar System. Console sınıfına ait olan fonksiyonlardır. Konsol Ekranındaki kod satırlarımız aşağıdaki gibidir; Konsol ekranında yazırma işlemleri için Write ve WriteLine, okuma işlemleri için Read ve ReadLine metotlarını kullanacağız. Write ve WriteLine ile başlıyalım: Write-WriteLine Metotları Write metodu, kendisine gönderilen değeri aynı satırda yazdırmak için kullanılır. WriteLine metodu ise kendisine gönderilen değeri satır sonu karakterinide ekleyerek bir alt satırdan itibaren yazdırmak için kullanılır. Örneğin; F5 yapıp çalıştırdığımızda konsol ekranındaki çıktı: "wardom. org" olacaktır ve imleç cümlenin sonunda belirecektir. İmleç olayıda şudur, write metodunu kullanırsak imleç cümle sonunda, writeline metodunu kullanırsak imleç bir alt satırda belirir. Şimdi hem write hem writeline metodunu kullanalım; wardom. org şeklinde bir çıktı alıcaz ve imlecimiz 2. satırın sonunda belirecektir. Sadece WriteLine metodunu kullanalım; wardom. org Şeklinde bir çıktı alacağız ve imlecimiz 3. satırda belirecektir. Kodların sonlarındaki Console. ReadKey metodu kafanızı karıştırmasın. O konuya daha sonra gelicez, ancak Console. ReadKey metodunu kodların sonuna eklemezseniz konsol ekranı açıldığı gibi kapanacaktır. Read ve ReadLine metotlarına geçmeden önce Escape karakterlerini inceleyelim; \ karakterinin ardından kullanılırak belli bir eylem getiren karakterlere Kaçış Karakterleri denir. Başlıca kaçış karakterleri; \a = Bip sesi çıkartır \b = Backspace \f = Sonraki Sayfa \n = Alt Satıra İner \r = Satır Başı \t = Yatay Tab \v = Dikey Tab \' = Tek Tırnak \" = Çift Tırnak \\ = \ \? = ? Örneğin; Console. Write ; Kodlarımızın çıktısı: "Wardom Org" şeklinde olacaktır. Read-ReadLine Metotları ReadLine metodu, konsol ekranında değer okumak için kullanılan metottur. Geriye string değişken türünden değer döndürdüğü için string değişken tiplerindeki değerleri okumak için kullanılır. Read metodu ise ReadLine metodu gibi değer okumak için kullanılır. Ancak geriye int türünden değer döndürdüğü için, string değişken tipleri dışındaki değerleri okumak için kullanılır. Not: int değişkeni hesaplanabilecek karakterler için kullanılır. string ise hesaplanamayan. örneğin string değişkenini kullanarak bir hesap makinesi uygulaması yapamazsınız. Biraz programlamayla ilgilenen arkadaşlar string ile int ayrımına aşinadır. Kafası karışanlar pek takmasın zamanla, örneklerle string ile int arasındaki fark anlaşılır. Şimdi site adı ve kullanıcı adınızı ekrana yazdıran küçük bir uygulama yapalım; Örneğimizde, ilk olarak string tipte forumadi ve kullaniciadi olmak üzere 2 değişken tanımladık. 2. satırda kullanıcadan Ekrana forum adını girmesini istedik. Girilen değeri 3 satırda okutup forumadi değişkenine atadık. 4. satırda kullanıcıdan forum kullanıcı adını girmesini istedik. 5. satırda girilen değeri okutup kullaniciadi değişkenine atadık. 6. satırda konsol ekranını temizlememize yarayan Console. Clear metodunu kullanarak konsol ekranımızı temizledik. 7. satırda kullanıcının girdiği değerleri atadığımız değişkenleri kullanarak Ekrana forumunu ve forum kullanıcı adını yazdırdık. Aralarında bir tablık boşluk olması için \t kaçış karakterini kullandık. 8. satırda konsol ekranımızın açılıp kapanmaması için Console. ReadKey metodunu kullandık. Uygulamayı çalıştırıp forumunuzu ve kullanıcı adınızı yazdığınızda alacağınız çıktı şu şekilde olacaktır: Konsol Ekranında kullanacağımız başlıca 4 metoda değindik. Kod yazımı oturduğundan emin olana kadar bu metotlarla küçük küçük uygulamalar yaparsanız yararlı olur. Programlama sabır isteyen bir iştir. O yüzden adım adım yürümeyi tercih edelim. Tamamen oturana kadar örnekler yapmakta fayda var. Anlamadığınız yerleri konu altından sorabilirsiniz. Dipnot: Kodlar forum üzerinde daha okunur olması için Notepad++ da düzenlenmiştir. - Strawberry

kodlamadan anlamam fakat mesajlarınız emek verdiğinizin göstergesi... ^^++++

Konuya bir post atmanız bile beni heveslendiriyor arkadaşlar. Python konusunda kendi kendime anlatıyordum nerdeyse. Konu biraz ilerlesin, pdf formatına çeviririz. Örneğin 10 tane konu anlatınca hepsini pdf olarak hazırlarız. bi 10 konuda tkrr pdf yaparız. Kendiliğinden paket haline döner zaten o Daha yeni döndüm eve Properties konusu az sonra anlatıcam

Anlatım Volkan Aktaş'ın kitabından aldığım notlardan oluşacak ve sade bir şekilde olacaktır. Amacım wardom'da büyük bir C# dökümanı oluşturmak ve öğrenirken, öğretmektir. Kitabı almak isteyenler için: Her Yönüyle C# 5.0 2 yıl öncesinde python anlatımı yapmıştım. Konuya Buradan ulaşabilirsiniz. Ondada aynı şekilde öğrenirken öğretiyordum. Python derslerini fazla ilgi görmemesi sebebiyle wardomda 13. konuda bırakıp, başka bir forumda bitirmiştim. İnş bu seferkinde wardom'da sonuna kadar gidebilirim. Şimdi gelelim C# 5.0'a... C# Programlama dili, TurboPascal, Delphi, J++ gibi dillerin gelişiminde öncülük etmiş olan Anders Hejlsberg'in başında bulunduğunu bir ekip tarafından geliştirilmiştir. C# 2002 de 1.0 sürümü ile. NET dilleri arasında yer almıştır. Orta düzeyli, Tam olarak nesne yönelimli, hata denetlemesi yüksek seviyede, xml desteği olan geniş bir programlama dilidir. C# anlatımında Python anlatımından farklı olarak, tek tek konu açmak yerine bu konudan devam edeceğim. Dersler: 1-) C# 5.0 Kurulum ve Çalışma Ortamına Genel Bakış 2-) Properties Penceresi 3-) Console Application 1 4-) Console Application 2 5-) SABİTLER 6-) DEĞİŞKENLER -

Properties Penceresi Üzerinde çalıştığımız projelerin bazı özellerini ayarlamak için Properties Penceresini kullanacağız. Bu Pencereye Project menüsünden Properties, Solution Explorer bölümünden Sağ tık-Properties veya Alt+Enter tuşları ile ulaşabiliriz. Application Sekmesi: Bu sekmede uygulama ile ilgili genel ayarlar gerçekleştirilir. 1-) Assembly name oluşturulacak olan exe dosyasının ismi, Default namespace ile varsayılan namespace ismi belirlenir. 2-) Target Framework ile projemizin framework versiyonunu değiştirebiliriz. 3-) Output Type proje tipini görüntüler. Üç çeşit değer alır; Windows Application, Console Application, Class Library. 4-) Startup object ile projenin başlangıcında hangi formun çalıştırılacağını belirleriz. 5-) Assembly Information ile proje ile ilgili açıklama, dil ve versiyon bilgilerini girebiliriz. 6-) Resources ile projede kullanılacak olan kaynaklarla ilgili belirlemeler yapılır. Icon and Manifes bölümünde programımızın simgesini belirleyebiliriz. Resource File bölümünde ise projede kullanacağımız kaynakları bir resource dosyası içerisinde oluşturmuşsak, o dosyanın yolunu belirleriz. Build Sekmesi: Sınıfların derlenmesi ile ilgili genel ayarlar yapılır. 1-) Platform Target ile hanti tip işlemcilerde çalışacağı belirlenir. 3 değer alır; Any CPU, x86, x64 2-)Output Path Bölümünde, sınıfımızın derleneceği klasör yolu belirlenir. 3-) XML Documentation File ile sınıfımız içerisinde kullanacağımız XML yorum dosyasının yolu belirlenir. Debug Sekmesi: Proje derlenmesi ile ilgili genel ayarlar gerçekleştirilir. 1-) Start Project işaretli iken, herhangi bir işlem yapılmadan proje başlatılır. 2-) Start External Program işaretli iken, belirtilen program projenin başlatılması esnasında çalıştırılır. 3-) Start Browser with URL işaretli iken, belirtilen URL projenin başlatılması esnasında görüntülenir. 4-) Enable Native Code Debugging ile native debugging desteği sağlanır. 5-) Enable SQL Server Debugging ile SQL server uygulamaları için debugging desteği sağlanır. 6-) Enable the Visual Studio Hosting ile Visual Studio uygulamaları için debugging desteği sağlanır. Resources Sekmesi: Proje içinde kullanacağımız yazı, resim gibi öğeleri saklayabileceğimiz resource dosyaları ile ilgili işlemleri gerçekleştirebiliriz. Settings Sekmesi: Basit ayarların yapıldığı sekmedir. Proje formlarının ekran koordinatları, çözünürlük, renk tercihi vb işlemler yapılır. 1-) Name: Kod içerisinde temsil edilen ismini belirtir. 2-) Type: Türünü belirtir. Örneğin renk ayarlanacaksa türünü System. Color olarak belirlemeliriz. 3-) Scope: Erişim şeklini belirtir. User veya Application 4-) Value: Ayar bilgisinin içerdiği değeri belirler. Peference Paths Sekmesi ile projemiz içerisinde kullanacağımız dosyaların yolu belirlenir. Signing Sekmesi: Sertifika dosyaları oluşturmak için kullanılır. Uygulama başka bilgisayarda çalıştırdığımızda sertifika hatası veriyorsa buradan sertifika dosyası oluşturacağız. Sing the Assembly seçeneğini işaretleyerek New seçeneğine tıklıyoruz; Açılan pencerede sertifika ismimizi giriyoruz. Ardından istersek Protect my key file with a password seçeneğini tıklayarak sertifika dosyalarımıza şifre koyabiliriz: Security sekmesinde proje ile ilgili güvenlik ayarları yapılır. This is a full trust application seçeneği işaretli iken uygulamanın tamamı güvenli olarak kabul edilir: Publish Sekmesi: Publish Sekmesinde, projenin yayınlanması, versiyon, online-offline çalışabilmesi gibi ayarlar yapılabilir. 1-) The application is avalaible online only seçili iken, uygulamamız sadece online olarak çalışır. 2-) The application is avalaible offline seçili iken, ugulama offline olarakta çalışabilir. 3-) Publish Version ile programın sürüm numaralarını belirleriz. Automatically increment revison with each publish seçeneği seçili ise programın her yayınlanışında sürüm numaraları otomatik olarak arttırılır. 4-) Uptades kısmında uygulamanın güncellenmesi ile ilgili ayarlar yapılır; a-) After the application starts seçeneği ile güncelleme program çalıştırıldıktan sonra kontrol edilir. b-) Before the application starts seçeneği ile güncelleme program çalıştırılması esnasında kontrol edilir. c-) Check every kaç günde bir güncellemelerin kontrol edileceğini belirleriz. d-) Specify a minimum required version for this applicaton seçeneği ile programın çalışması için en düşük versiyonu belirleriz.

Merakla bekliyorum. Yeni yeni C# öğrenmeye başlıyorum zaten.

Hiç anlamam ama öğrenmeye hazırım

Bende takipteyim konuyu..

Oldukça güzel gidiyor. Eline sağlık.