İçeriğe atla

C#’da Birim Çevirici Uygulaması

by 17 Ara 2010

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

From → C# Dersler

Yorum yapın

Yorum yapın

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s

Follow

Get every new post delivered to your Inbox.