C#’da Birim Çevirici Uygulaması


Biraz dandik bir uygulama oldu fakat bunu çok eskiden yapmıştım. Aynen paylaşayım dedim çünkü biliyorum ki size de katkısı olacaktır.
Uygulama birimleri birbirine dönüştürebilmek için oluşturuldu. Sıcaklık ve Ağırlık birimlerini ayrıca logaritma kosinüs tanjant gibi matematik hesaplamaları da mevcut.


Kodlardan daha önce bahsetmediğim pek bir şey yok gibi fakat listBox ve menuStrip gibi araçlar var onlara da fazla takılmayın sadece ayrıntı.
En önemli kısmı iki tane global değişken ( tüm scoplarda kullanabilmek için ) ve bir de string metodu var. Yani içeride bir işlem yapıp sonucunda bize bir string türünde değer döndüren işlemimiz var. Kodlara bakınca daha kolay anlarsınız.
double cevrilecekSayi; //double tipinde bir global değişken
string cevirmeKomutu; //string tipinde global bir değişken
string cevrileniBulma()
{
if (txtGirdi.Text.Length > 6)
{
cevirmeKomutu = txtGirdi.Text.Substring(0, 6); // textbox'a girilenin ilk altı harfini bulmaya çalışıyoruz
if (cevirmeKomutu == "CEtoFH")
return "CEtoFH";
else if (cevirmeKomutu == "FHtoCE")
return "FHtoCE";
else if (cevirmeKomutu == "KMtoME")
return "KMtoME";
else if (cevirmeKomutu == "KMtoDM")
return "KMtoDM";
else if (cevirmeKomutu == "KMtoHM")
return "KMtoHM";
else if (cevirmeKomutu == "KMtoCM")
return "KMtoCM";
else if (cevirmeKomutu == "KMtoMM")
return "KMtoMM";
else
return "Hata";
}
else
{
return "Diger";
}
}

Yani burada amaç hangi cevrime ait olduğunu bulup daha sonra neye çevireceğimize de aşağıdaki kodlarla karar veriyoruz. Bunları da buton’un click eventine yazıyoruz.

switch(cevrileniBulma())
{
//sıcaklık
case "CEtoFH":
{
cevrilecekSayi = Convert.ToDouble(txtGirdi.Text.Substring(6, (txtGirdi.Text.Length) - 6));
lstSonuc.Items.Add(cevrilecekSayi + " Celcius " + ((9 * cevrilecekSayi / 5) + 32) + " Fahrenheit'dır.");
break;
}
case "FHtoCE":
{
cevrilecekSayi = Convert.ToDouble(txtGirdi.Text.Substring(6, (txtGirdi.Text.Length) - 6));
lstSonuc.Items.Add(cevrilecekSayi + " Fahrenheit " + ((5 * cevrilecekSayi / 9) + 32) + " Celcius'dur.");
break;
}
//ağırlık
case "KMtoME":
{
cevrilecekSayi = Convert.ToDouble(txtGirdi.Text.Substring(6, (txtGirdi.Text.Length) - 6));
lstSonuc.Items.Add(cevrilecekSayi + " Kilometre " + (cevrilecekSayi * 1000) + " Metre'dir.");
break;
}
....
....

Bu şekilde tüm birim dönüşümlerini yapıyoruz. Zaten vereceğim adresten bütün kodları indirip inceleyebilirsiniz. Demek istediğimi daha kolay anlayabilirsiniz. Kolay gelsin. Eğer vaktim olursa daha işe yarar bir şekilde bu converter’ı yapmayı isterim.

Kaynak Kodu :

http://rapidshare.com/files/437889745/ConverterByEnesTahaSELEK.rar

http://www.sendspace.com/file/94e7cm

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s