Windows Servis Kurma




Windows Servis Oluşturma




Windows Form Uygulamasına Kısayol Ekleme




Eklenti Destekli Yazılım Geliştirme




Mayın Tarlası Programlıyoruz

Hemen hemen hepimizin ilk Windows deneyimlerimizden biridir Mayın Tarlası oyunu. Bu videomuzda Mayın Tarlasını programlamayı öğreniyoruz.




Windows Form User Kontrol

Windows Forms kütüphanesi kendi içinde kontroller barındırmakla beraber bazı durumlarda ihtiyaç duyulan kontrol olmayabilir. Bu durumda kendi ihtiyacımıza uygun kontrol oluşturmamız gerekiyor. Videomuzda mail gönderimi için bir kontrol oluşturacağız.




C# Extension Metotları Oluşturma




C# İle SQL Server İşlemleri

Yazılım geliştirme çoğunlukla veri saklama ve işleme amacıyla yapılır. Verilerin saklanması içinde bir veritabannı sistemi kullanılır. Videomuzda en çok kullanılan veritabanı sistemlerinden olan SQL Server’a C# ile işlem yapmayı öğreneceğiz.




Uygulamanın Tek Örneğinin Çalışmasına Müsaade Etmek

Bazı uygulamalar çalışma prensipleri gereği aynı anda tek örneğinin çalışmasına müsaade eder. Uygulama açık iken başka bir örneği çalıştırılmak istendiğinde yukarıdaki gibi uyarı mesajı verip açılacak olan son örneği iptal eder.

Bu işlem için System.Diagnostics sınıfına ait Process sınıfından yararlanılır. Aşağıdaki kod örneğinde görüldüğü gibi öncelikle Process.GetCurrentProcess().ProcessName kod parçası ile başlatılan uygulamanın işlem adı alınıyor. Process.GetProcessesByName metodu ile de bu isme sahip işlemlerin listesi alınıyor. Eğer bu isimde birden fazla işlem var ise uyarı mesajı verilip return komutu ile işlem iptal edilir ve uygulama sonlandırılır.

            Process[] processesByName = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
            if (processesByName.Length > 1)
            {
                MessageBox.Show("Uygulama zaten çalışıyor.");
                return;
            }

Kodu uygulamanızın Main metodunun içinde başlangıç formunu ekrana göstermeden önce kullanabilirsiniz. Bu şekilde kullanmanız durumunda Main metodunuz aşağıdaki gibi olacaktır.

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Process[] processesByName = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
            if (processesByName.Length > 1)
            {
                MessageBox.Show("Uygulama zaten çalışıyor.");
                return;
            }

            Application.Run(new Form1());
        }




C# String Değerden Diğer Veri Türlerine Çeviri

C# dilinin klavyeden girilen varsayılan veri tipi string türüdür. Alınan verinin kullanım yerine göre özellikle sayı türüne çevrilmesi gerekmektedir. Bu işlem yapılırken temel olarak üç yöntemden biri kullanılabilir. Bu yöntemler aşağıdaki gibidir:

  • Convert sınıfının ilgili metotlarından birini kullanmak
  • Hedef sınıfın Parse adlı metodunu kullanmak
  • Hedef sınıfın TryParse adlı metodunu kullanmak

Convert sınıfının ilgili metotları “To” ile başlayan ve hedef türün adı ile biten metotlardır. ToInt16, ToInt32, ToDouble vb…

İlk örneğimizi Convert sınıfı ile verelim:

string metin = textBoxNumber.Text;
if (metin.Any(c => !Char.IsDigit(c)))
{
    MessageBox.Show("Hatalı giriş");
    return;
}
int sayi = Convert.ToInt32(metin);

Bu örneğimizde if şartının içinde yer alan şartta girilen metnin sadece rakamlardan oluşup oluşmadığı test ediliyor. Rakam dışında bir karakter barındıran bir metin geldi ise “Hatalı giriş” uyarısını verip işlem return oluyor.

Aynı işlemi Parse metodu ile yapacak olursak kodu aşağıdaki gibi değiştirmemiz gerekmektedir.

            string metin = textBoxNumber.Text;

            if (metin.Any(c => !Char.IsDigit(c)))
            {
                MessageBox.Show("Hatalı giriş");
                return;
            }

            int sayi = Int32.Parse(metin);

Parse metodunun kullanımı da Convert sınıfının ToXXX metotlarının kullanımı ile aynıdır.

string to int çeviri işleminde kullanılan bir diğer metot da TryParse metodudur. Bu metodun kullanımı sırasında gelen metnin sadece rakamlardan oluşup oluşmadığını test etmeye gerek yoktur. Çalışma şeklini örnek kod üzerinden inceleyelim:

            string metin = textBoxNumber.Text;
            int sayi;

            bool tryParse = Int32.TryParse(metin, out sayi);
            if (tryParse)
            {
                MessageBox.Show("Doğru format");
            }
            else
            {
                MessageBox.Show("Yanlış format");
            }

TryParse metodunun geri dönüş tipi diğerlerinin aksine bool veri tipidir. Çalışma şekli de aşağıdaki adımlardan oluşmaktadır.

  1. Hedef veri türünde bir tanımla yapılır. (Satır 2)
  2. İlgili türün TryParse metodu çağrılır. İlk parametreye dönüştürülecek kaynak metin, ikinci parametreye de daha önce oluşturulan hedef türün örneği out parametresi ile verilir. (Satır 4)
  3. Bu metot çağırma sonucunda dönüşüm işlemi başarılı olursa hedef türün örneğine dönüşüm sonucu atanır, metot dönüş değeri de true olur. Dönüşümün başarısız olması durumunda ise hedef türün örneğine ilgili sınıfın varsayılan değeri atanır, metot dönüş değeri de false olur. Böylelikle işlemin sonucu bir if yardımı ile sorgulanmış olur.