C#

C# Kontroller ve Olaylar

Merhaba arkadaşlar C#’ta Kontroller ve Olaylar kavramını bu dersimizde detaylı olarak görebiliecek yapacağımız uygulamalı çalışma ile konuyu daha çabuk kavrayabileceksiniz.

İlk Olarak Numaratör yaparak başlayalım.

İşte Kodlar ;

namespace _3_KontrollerVeOlaylar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int sayi;
private void Form1_Load(object sender, EventArgs e)
{
// lblSonuc.Text = “0″;
}

private void btnAzalt_Click(object sender, EventArgs e)
{
lblSonuc.Text = (–sayi).ToString();
//int sayi = int.Parse(lblSonuc.Text);
//sayi–;
//lblSonuc.Text = sayi.ToString();
}

private void btnArttir_Click(object sender, EventArgs e)
{
lblSonuc.Text = (++sayi).ToString();
//int sayi = int.Parse(lblSonuc.Text);
//sayi++;
//lblSonuc.Text = sayi.ToString();
}
}
}


Bir Başka Uygulama Olan Yarış Oyunu

namespace _3_KontrollerVeOlaylar
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
// Değişkenin default değeri constructor (sadece class seviyesindeki değişkenlerin) tarafından atanır.
bool startMi;
int cikisX;
int cikisY;
private void btnEngelUst_MouseEnter(object sender, EventArgs e)
{
MessageBox.Show(“Kaybettiniz.”);
startMi = false;
}

private void btnEngelAlt_MouseEnter(object sender, EventArgs e)
{
MessageBox.Show(“Kaybettiniz.”);
startMi = false;
}

private void btnStart_MouseEnter(object sender, EventArgs e)
{
startMi = true;
}

private void btnFinish_MouseEnter(object sender, EventArgs e)
{
if (startMi)
{
MessageBox.Show(“Kazandınız.”);
startMi = false;
}
else
{
MessageBox.Show(“Çakallık etme.”);
}
}

private void btnStart_MouseLeave(object sender, EventArgs e)
{
// |, &, ||, &&

// Kısadevre operatörleri kullanılmadan yapılan yazım.
//if (cikisX > 0)
//{
// if (cikisY > 30)
// {
// if (cikisY < 80) // { // } // else // { // startMi = false; // } // } // else // { // startMi = false; // } //} //else //{ // startMi = false; //} // Kısa devre operatörleri kullanılarak yapılacak işlemler çok daha kolaydır. Kısa devre operatörlerinden ve (&, &&) sadece yazılan bütün koşullar doğru olması durumunda doğru döndürür ve if bloğunun çalışması sağlar. veya (|, ||) içinse tek bir koşulun doğru olması yeterlidir., if (!(cikisX > 0 && 30 < cikisY && cikisY < 80))
{
startMi = false;
}
}

private void btnStart_MouseMove(object sender, MouseEventArgs e)
{
// Mouse’un nereden çıktığını kestirebilmek için kordinatlarından yararlandık. Buradaki kordinat sistemi Button’un sol üst köşesi x=0, y=0 noktası baz alınarak belirlenir. Burada MouseMove’dan yararlanmamızın nedeni MouseMove harici kullanacağımız diğer Mouse Eventlerinden hiç birinde kordinat bilgisi taşınmamaktadır.
cikisX = e.X;
cikisY = e.Y;
}

private void Form2_Load(object sender, EventArgs e)
{

}
}

C# Tür Dönüşümleri

Merhaba Arkadaşlar

Bu dersimizde C#’ın önemli konularından biri olan tür dönüşümleri hakkında önemli bilgiler vereceğiz.

İşte Detaylı Açıklamalar ve Uygulama Videoları;

namespace _2_TurDonusumleri
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
// Convert
// Parse
// ToString()
// Cast
string metin = “150″;
// Convert işlemi bir zorlamadır. Dönüştürülmek istenen verinin tipine bakmadan dönüştürme işlemini gerçekleştirmeye çalışır.
int sayi = Convert.ToInt32(metin);
// Parse işlemi ise bir ricadır. Dönüştürülmek istenen verinin tipi string olmalıdır. Parse dönüştürebiliyorsa dönüştürür yoksa hata verir. Convert’e göre daha performanslı bir işlemdir.
int sayi2 = int.Parse(metin);
}
}
}

Tür Dönüşümleri Faiz Hesaplama Programı

namespace _2_TurDonusumleri
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void btnHesapla_Click(object sender, EventArgs e)
{
decimal anaPara = decimal.Parse(txtAnaPara.Text);
decimal faiz = numFaiz.Value;
decimal sonuc = anaPara * faiz / 12 / 100;
MessageBox.Show((anaPara + sonuc).ToString());
// Her kontrolün Text özelliği vardır. NumericUpDown için de bu geçerlidir. Yanlız NumericUpDown rakamsal ifadelerin girilmesi için kullanıldığından Text özelliği saklanmıştır. Buna rağmen yazım kurallarına uygun şekilde yazıldığında NumericUpDowndaki değeri string (metinsel) olarak bize vericektir.
string metin = numFaiz.Text;
}

private void Form2_Load(object sender, EventArgs e)
{

}
}
}

Uygulama Videosu

C# Değişkenler Kavramı

Herkese Merhabalar arkadaşlar;

Bugünkü vereceğimiz önemli bir bilgi olan C#’ta değişkenler kavramının önemini vurgulayacağız.Bu sayede 2 değişkenin nasıl yer değiştirdiğini ve ders notları hakkında önemli bilgiler ve alt başlıkları aşağıdaki kod ekranından takip edebilir ve uygulama videosunu izleyebilirsiniz.

İşte Önemli bilgiler ve Kod Bilgileri

namespace _1_Degiskenler
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}

private void Form3_Load(object sender, EventArgs e)
{
// Değişkenler (Variables): Geçici veri tutmak için kullanılan yapılardır. RAM’de (Random Access Memory) saklanır. Belli bir ömür aralığı vardır.
// Değiken Tanımlama Kuralları:
/*
* 1) Bir değişken tanımlaması yaptığımız zaman değişkenin ismi rakam ile başlayamaz. Ama buna rağmen içerisinde rakam barındırabilir.
* 2) Özel karakterlerden sadece alt çizgi (_) kullanılabilir.
* 3) Özel tanımlı anahtar sözcükler (keywords) değişken ismi olarak kullanılamaz.
* 4) Değişken tanımlaması yaparken noktalı virgül (;) ile bitirilir.
* 5) Değişken tanımlanırken değer atanmak zorunda değildir. Değişkenin değeri daha sonradan atanır.
* 6) Değişkenin değerinin atanması için eşittir (=) operatöründen yararlanıyoruz. Değer ataması sağdan sola olacak şekilde yapılır.
*/

// Veri Tipleri:
// 1) Sayısal Tipler:
// a) Tam Sayılar:

/*
* Tip Adı: byte
* .Net Adı: Byte
* Değer Aralığı: 0 255
* Kapladığı Alan: 1 Byte (8 bit)
*/

// Hatalı: Değer aralığı aşılmış.
//byte byte1 = 300;

// Hatalı: Değişken adı rakam ile başlıyor.
//byte 1inci = 15;

byte byte1 = 150;

// Bir değişken tanımlandığı zaman değeri atanmak zorunda değildir. Değeri daha sonra da verilebilir.
byte byte2;
byte2 = 15;

/*
* Tip Adı: sbyte
* .Net Adı: SByte
* Değer Aralığı: -128 127
* Kapladığı Alan: 1 Byte (8 bit)
*/

sbyte sbyte1 = -128;

/*
* Tip Adı: short
* .Net Adı: Int16
* Değer Aralığı: -32.768 32.767
* Kapladığı Alan: 2 Byte (16 bit)
*/

short short1 = 32767;

/*
* Tip Adı: ushort
* .Net Adı: UInt16
* Değer Aralığı: 0 65.535
* Kapladığı Alan: 2 Byte (16 bit)
*/

ushort ushort1 = 65535;

/*
* Tip Adı: int
* .Net Adı: Int32
* Değer Aralığı: -2.1 milyar 2.1 milyar
* Kapladığı Alan: 4 Byte (32 bit)
*/

int sayi1 = 2100000000;

/*
* Tip Adı: uint
* .Net Adı: UInt32
* Değer Aralığı: 0 4.2 milyar
* Kapladığı Alan: 4 Byte (32 bit)
*/

uint uint1 = 4200000000;

/*
* Tip Adı: long
* .Net Adı: Int64
* Değer Aralığı: -9.2 kentrilyon 9.2 kentrilyon
* Kapladığı Alan: 8 Byte (64 bit)
*/

long uzunTamSayi = -9200000000000000000;

/*
* Tip Adı: ulong
* .Net Adı: UInt64
* Değer Aralığı: 0 18.4 kentrilyon
* Kapladığı Alan: 8 Byte (64 bit)
*/

ulong uzunBirTamSayiDaha = 18400000000000000000;

// b) Ondalıklı Sayılar:

/*
* Tip Adı: float
* .Net Adı: Single
* Kapladığı Alan: 4 Byte (32 bit)
* Son Eki (Suffix): f veya F
*/

float float1 = 32656256565.565652f;

// Hatal: Son eki yok
//float float2 = 565656.656;

/*
* Tip Adı: double
* .Net Adı: Double
* Kapladığı Alan: 8 Byte (64 bit)
* Son Eki: d veya D (Eklenmek zorunda değildir)
*/

double double1 = 6565656565656.6965656;

double double2 = 56565656555656.546554d;

double double3 = 15000;

/*
* Tip Adı: decimal
* .Net Adı: Decimal
* Kapladığı Alan: 16 Byte (128 bit)
* Son Eki: m veya M
*/

decimal decimal1 = -35656565656.6565656565656m;

// s(byte) s=> signed (İşaretli. Eksi değerler alabilir)
// u(int) u=> unsigned (İşaretsiz. Sadece pozitif değer alabilir.)

// 2) Metinsel Tiplere:

/*
* Tip Adı: char
* .Net Adı: Char
* Kapladığı Alan: 2 Byte (16 bit)
* Değeri: Üzerinde tek bir karakter taşıyabilir.
*/

char char1 = ‘a’;

/*
* Tip Adı: string
* .Net Adı: String
* Kapladığı Alan: n Byte
*/

string string1 = “Bu bir metinsel ifadedir.”;

string string2 = “15″;

// 3) Mantıksal Tip:

/*
* Tip Adı: bool
* .Net Adı: Boolean
* Kapladığı Alan: 1 Byte (8 bit)
* Değeri: true veya false (evet-hayır | doğru-yanlış | açık-kapalı | devam et-dur)
* Bool değeri her ne kadar true veya false olsa da 1 veya 0 olarak bilgiyi saklar.
*/

bool bool1 = true;

// string metinselIfade = “”;
// Yukardaki tanımlamayla aşağıdaki tanımlama birebir aynıdır.
string metinselIfade = String.Empty;

int sayi5 = Convert.ToInt32(string2);
}
}
}

Uygulama Videosu

Visual Studio 2010 ile C#’a Başlangıç


Merhaba Arkadaşlar artık c# hakkında bilmediklerinizi burada öğrenebileceksiniz.Konuları detayları ile birlikte tekrar edip ve uygulamaları sık sık yaparsanız bu eğitim sizin için çok önemli bir boyuta gelecektir.

Başalgıç için herzamanki gibi Visual Studio Programında “Hello World ” yazısı ile başlıyoruz.

Bunun için yapmanız gereken bir adet mesaj box ve uygulama için yazacağınız kodlar;

İşte Kod Bilgileri;

namespace HelloWorld
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnMerhaba_Click(object sender, EventArgs e)
{
MessageBox.Show(“Hello World”, “Uyarı”);
}

private void Form1_Load(object sender, EventArgs e)
{

}
}
}

Uygulama Videosu