cakir
New member
- Katılım
- 7 May 2006
- Mesajlar
- 10,807
- Reaction score
- 0
- Puanları
- 0
Herkese Merhabalar
Bu Başlık Altında Dilimin Döndüğünce C# Üzerine Uygulamalar Geliştireceğiz Arkadaşlar Sıfırdan Başlayıp Kademe Kademe İlerleyeceğiz,
Konuyu Güncel Tutup Her Defasında Farklı Bir Uygulama Geliştireceğiz Uygulamalarımızdaki Örnekleri Windows Forms Üzerinde Gerçekleştireceğiz
Uygulama Geliştirmeden Önce Bilgisayarınızda Visual Studio Ve Sql Server Kurulu Diye Tahmin Ediyorum Olmayan Arkadaşlar Microsoftun Sitesinden
Deneme Sürümlerini İndirebilirler
Dilerseniz Vakit Kaybetmeden İlk Uygulamamıza Geçelim Yeni Bir Windows Forms Projesi Oluşturalım Ben Adına CSharp_Baslangıc Dedim Hemen
Formumuza Bir Buton Koyalım ve Text'ini String İşlemleri Ve Name Kısmını btnString Olarak Değiştirelim Ardından Bir TextBox Koyalım Ve Nam'ini
txtSayi Olarak Değiştirelim Birde ListBox Ekleyelim Ve Buttonumuza Çift Tıklayarak İçerisine Gidelim
Kodlarımızı btnString İçerisine Değilde Kendi Oluşturacağımız Procedure() Ve Function()'lara İçerisine Yazacağız Procedur'ü Ve Function
Şimdilik Es Geçiyoruz İlerleyen Konularda Özellikle Function Ve Procedur'e Adı Altında Bir Proje Gerçekleştireceğiz İnşaAllah =)
Bu Projemizde string Veri Türü Ve Karar Yapıları Olan İf ve switch Yapılarına Değineceğiz
Projemize 3 tane form Ekliyoruz Dizaynları Resimlerdeki Gibi Olacak
Hiç Vakit Kaybetmeden Kodlarımıza Geçelim
İlk Formumuza Ait Kodlarımız Aşağıdaki Gibi Olacak
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.AddRange(myTeams());
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
lstSelectedIndex();
}
private void button1_Click(object sender, EventArgs e)
{
// Oluşturduğumuz String_Examples() Procedurunu btnString Click Olayında Çağırıyoruz Ve İşimizi Yaptırıyoruz
//String_Examples();
// *************************
If_and_Switch_Statements();
}
private void String_Examples()
{
// Öncelikle string Bir Değişken null olarak tanımlıyoruz
//string name = null;
// name isimli string değişkenimize bir değer atıyoruz ve MessageBox Olarak Değerimizi Ekrana Yazdırıyoruz
// ek olarak mesaj kutumuzun başlık metninide ayarlıyoruz
//name = "Galatasaray";
//MessageBox.Show(name,"Başlık
// **********************************************************************************************************************
// Başka bir örmekte ise 3 tane string değişken tanımlaması yapılıyor ve ekrana yazdırılması için string toplaması yapılıyor
// performans bakımından tavsiye edilmiyen bir yöntem aynı örnek StringBuilder kullanarak daha performanslı hale getirilebilir
//string _ad = "Süleyman", _soyad = "Çakır", _yas = "32";
//MessageBox.Show("Ad " + _ad + "\n" + "Soyad " + _soyad + "\n" + "Yaş " + _yas, "Caption =)");
// String Birleştirmelerinizde Performans açısından tavsiye edilen StringBuilder Sınıfını kullanmaktır.
// aynı örneği birde StringBuilder Kullanarak yapalım.
/*
StringBuilder myBuilder = new StringBuilder();
myBuilder.AppendLine("Ad "+ _ad);
myBuilder.AppendLine("Soyad " + _soyad);
myBuilder.AppendLine("Yaş " + _yas);
MessageBox.Show(myBuilder.ToString(), "Caption =)");
*/
// **********************************************************************************************************************
// string sınıfının kendine ait methodları vardır ayrıyetten extension methodlara da sahiptir.
//string name = "Süleyman";
// mesela EndsWith() methodu ile girilen kelimenin son harfi aranıyor eğer girdiğimiz harf kelimemizin son harfi ise geriye true bir değer fırlatıyor fırlatılan değeri if bloğu içerisinde kontrol altına alıyoruz ve true ise şu işleri yap false ise hata mesajı göster diye
// diğer methodları incelemek sise kalıyor arkadaşlar =)
/*
if (name.EndsWith("n"))
MessageBox.Show("n Harfi Bulundu ", "Caption ");
else
MessageBox.Show("Böyle Bir Kullanıcı Yok !", "Hata ", MessageBoxButtons.OK,MessageBoxIcon.Warning);
*/
// bir methoduna daha bakalım insert() belirlediğimiz index no dan sonra istediğimiz yeni değeri ekliyoruz 8. karakterden sonra bir boşluk bırak ve yeni değeri ekle
//string hede = name.Insert(8," ÇaKıR");
//MessageBox.Show(hede);
// **********************************************************************************************************************
// string kullanırken sadece metinsel veriler ile mi çalışacağız ?
// elbette hayır int yada başka veri türlerine geçerli convert yada casting işlemini gerçekleştirdikten sonra diğer veri türleri ilede kullanılabilir
// örnek olarak
// sorun yok
// string _deneme = txtSayi.Text;
//MessageBox.Show(_deneme);
// ilk hatamızı aldık string türünün integer türüne atanamadığını gösteriyor
//int _sayiGoster = txtSayi.Text;
//çözüm casting işlemi için hata aldık denemeye devam
//int _sayiGoster = (int)txtSayi.Text ;
// int sınıfının parse() methodu işimizi görecektir sanırım yada Convert() sınıfı ikiside işimizi görecektir
//int _sayiGoster = int.Parse(txtSayi.Text);
//int _sayiGoster = Convert.ToInt32(txtSayi.Text);
//MessageBox.Show(_sayiGoster.ToString());
// txtSayi alanını if bloğuna sokarak null veya metin ifadesi içeren kelimeler için kontrol yaptırabilirsiniz ...
}
// Karar Yapıları
private void If_and_Switch_Statements()
{
// Programlamada en fazla ihtiyaç duyulan ve kullanılan yapılardır
// ilk örneklerimizi if bloğu üzerinde gerçekleştirelim
//if ((2 * 2) == 0)
// MessageBox.Show("Doğru İfade");
//else
// MessageBox.Show("Yanlış İfade");
//int _sayi = int.Parse(txtSayi.Text);
//switch (txtSayi.Text)
//{
// case "4":
// MessageBox.Show("Doğru İfade");
// break;
// case "0":
// MessageBox.Show("Doğru İfade Değil");
// break;
// default:
// MessageBox.Show("Değer Girmediniz ?");
// break;
//}
}
private string[] myTeams()
{
//string[] _takimlar = new string[]
// {
// "Galatasaray",
// "Fenerbahçe",
// "Beşiktaş",
// "Trabzonspor",
// "Bursaspor",
// "Kayserispor",
// "Ankaragücü",
// "Gençlerbirliği",
// "Manisaspor",
// "Gaziantepspor",
// "Eskişehirspor",
// "Karabükspor",
// "Kasımpaşa",
// "Bucaspor",
// "Konyaspor",
// "Sivasspor",
// "Antalyaspor",
// "İstanbul.B.B.spor"
// };
// yada
//dizilerin indis numarası 0'dan başlıyordu
string[] _takimlar = new string[18];
_takimlar[0] = "Galatasaray";
_takimlar[1] = "Fenerbahçe";
_takimlar[2] = "Beşiktaş";
_takimlar[3] = "Trabzonspor";
_takimlar[4] = "Bursaspor";
_takimlar[5] = "Kayserispor";
_takimlar[6] = "Ankaragücü";
_takimlar[7] = "Gençlerbirliği";
_takimlar[8] = "Manisaspor";
_takimlar[9] = "Gaziantepspor";
_takimlar[10] = "Eskişehirspor";
_takimlar[11] = "Karabükspor";
_takimlar[12] = "Kasımpaşa";
_takimlar[13] = "Bucaspor";
_takimlar[14] = "Konyaspor";
_takimlar[15] = "Sivasspor";
_takimlar[16] = "Antalyaspor";
_takimlar[17] = "İstanbul.B.B.spor";
return _takimlar;
}
private void lstSelectedIndex()
{
switch (listBox1.SelectedIndex)
{
case 0:
MessageBox.Show("Galatasaray", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 1:
MessageBox.Show("Fenerbahçe", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 2:
MessageBox.Show("Beşiktaş", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 3:
MessageBox.Show("Trabzonspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 4:
MessageBox.Show("Bursaspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 5:
MessageBox.Show("Kayserispor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 6:
MessageBox.Show("Ankaragücü", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 7:
MessageBox.Show("Gençlerbirliği", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 8:
MessageBox.Show("Manisaspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 9:
MessageBox.Show("Gaziantepspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 10:
MessageBox.Show("Eskişehirspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 11:
MessageBox.Show("Karabükspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 12:
MessageBox.Show("Kasımpaşa", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 13:
MessageBox.Show("Bucaspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 14:
MessageBox.Show("Konyaspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 15:
MessageBox.Show("Sivasspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 16:
MessageBox.Show("Antalyaspor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 17:
MessageBox.Show("İstanbul.B.B.spor", "Hatırlatma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Herhangi Bir Takım Seçmediniz '", "Uyarı ?", MessageBoxButtons.OK, MessageBoxIcon.Warning);
break;
}
}
Form3 İçerisinde Global Alanda public Bir Form Tanımlıyoruz Form2'den Çağırabilmek Adına Aslında Buna Gerek Olmadan Form2'den De Yapılabilir Ama Biz Şimdilik Bu Şekilde Yapalım
public Form frmYavruForm;
Form2'ye Ait Kodlarımızda Aşağıdaki Gibi Olacak
private void btnEnter_Click(object sender, EventArgs e)
{
if_and_switch();
}
private void if_and_switch()
{
string _kullaniciAdi = txtUserName.Text, _sifre = txtPassword.Text;
//if (_kullaniciAdi == "ÇaKıR" & _sifre == "admin")
//{
// Form3 frm = new Form3();
// frm.frmYavruForm = this;
// frm.ShowDialog();
//}
//else
// MessageBox.Show("Böyle Bir Kullanıcı Yok ?","Hata ",MessageBoxButtons.OK,MessageBoxIcon.Warning);
// aynı örneği switch ile yapalım
switch (_kullaniciAdi)
{
case "ÇaKıR":
switch (_sifre)
{
case "admin":
Form3 frm = new Form3();
frm.frmYavruForm = this;
frm.ShowDialog();
break;
default:
MessageBox.Show("Hatalı Şifre Girdiniz ?", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Warning);
break;
}
break;
default:
MessageBox.Show("Böyle Bir Kullanıcı Adı Yok ?","Hata",MessageBoxButtons.OK,MessageBoxIcon.Warning);
break;
}
}




Bu Projemizde Öğrendiklerimize Gelirsek Çok Kapsamlı Olmasada string Veri Türüne Ve Karar Yapılarına if Ve switch Değindik Nasıl Kullanıldıklarını Öğrendik
Yukarıdaki Örneğimizde KullanıcıADı Ve Şifre Kısmını Manuel Olarak Yaptık Aynı Mantık Veritabanı için Geçerlidir Veritabanınızda Kullanıcılar Adında Bir Tablonuz Vardır Ve
Kullanıcıları Doğruladıktan Sonra Diğer Foruma Geçmesini İsterseniz Böyle Bir Yapı Kullanılabilir Tabii Bu Kadar Basit Hali İle Değil Daha Profesyonel Bir Yapı İle =)
Burada En Önemli Amacımız Kod Kalabalığından Kurtulmak Ve Başka Yerlerdede Oluşturduğumuz Function Ve Procedurleri Tekrar Tekrar Yazmaktan Kurtulmak Ve Kullanmak
Bundan Sonraki Projemizde Sql Veri Tabanı İle Kapsamlı Olarak Function Ve Procedure'leri Ele Alacağız