Kaydol:
Kayıt Yorumları
(
Atom
)
using System; using System.Windows.Forms; using System.Text; namespace C_Sharp_Form_Onluktan_Secilen_Tabanlara_Cevirme { public partial class Form1 : System.Windows.Forms.Form { int cevrilecekTaban; public Form1() { // Sistemin kendi oluşturduğu elemanların ilk ayarları yapalım InitializeComponent(); } // form decimal to all (ikilik, üçlük...diğer tabanlara çevirme) private void Form1_Load(object sender, EventArgs e) { //çevirmek istediğim tabanları taban nesnesine ekliyorum. //bu program 2 den 9 a kadar olan bütün tabanlara çevirme yapmasını istiyorum. for (int i = 2; i < 11; i++) { this.taban.Items.Add(i); } FormKontrolleriniDoldur(); } // Girilen bütün karakterler rakam mı diye kontrol eden metot. public static bool butunHepsiRakamMi(string deger) { string rakam = deger.Trim(); if (rakam.Length == 0) { return false; //Eğer herhangi bir karakter girilmediyse false döndürsün } for (int indeks = 0; indeks < rakam.Length; indeks++) { if (!Char.IsDigit(rakam[indeks])) { return false; //Eğer girilen karakterlerden herhangi biri rakam değilse false döndürsün } } return true; //Eğer girilen karakterlerin hepsi rakam ise true döndürecek } // Çevir butonuna tıklandığında girilen değer seçilen tabana çevrilecek. private void btnCevir_Click(object sender, System.EventArgs e) { //herhangi bir taban seçili mi kontrolü yapalım //eğer bir taban değeri seçilmediyse uyarı mesajı verelim if (taban.SelectedIndex<0) { MessageBox.Show("Bir Taban Değeri Seçmelisiniz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); // uyarı mesajından sonra hiçbir işlem yapmadan bu metodu sonlandırmak için // return kullanıyorum. return; } StringBuilder yeniDeger = new StringBuilder(); string cevrilecekDegerString; int cevrilecekDeger=0; int kalan; // Girilen karakterlerin hepsinin rakam olup olmadığını kontrol edelim cevrilecekDegerString = this.girilenText.Text; if (butunHepsiRakamMi(cevrilecekDegerString)) { cevrilecekDeger = Int32.Parse(cevrilecekDegerString); } else { //Eğer girilen karakterlerin hepsi rakam değilse bu mesajı gösterelim MessageBox.Show("Sadece rakam girmelisiniz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); girilenText.Focus(); } // Taban combobox unda seçilen değerin doğru olup olmadığını kontrol edelim if (!butunHepsiRakamMi(cevrilecekTaban.ToString())) { MessageBox.Show("Bir Taban Değeri Seçmelisiniz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); girilenText.Focus(); } // decimal olan değeri combobox tan seçilen taban değerine çevirelim if (cevrilecekDeger > 0) { do { kalan = cevrilecekDeger % cevrilecekTaban; cevrilecekDeger = cevrilecekDeger / cevrilecekTaban; yeniDeger.Insert(0, kalan); } while (cevrilecekDeger > 0); } // Decimal dan seçilen tabana çevrilmiş değeri sonuç textbox ına yazdıralım this.sonucText.Text = yeniDeger.ToString(); //yaptığımız işleme göre etiketi yeniden düzenleyelim } private void taban_SelectedIndexChanged(object sender, EventArgs e) { FormKontrolleriniDoldur(); } private void FormKontrolleriniDoldur() { try { cevrilecekTaban = Convert.ToInt32(taban.SelectedItem.ToString()); } catch (Exception) { cevrilecekTaban = 2; taban.SelectedIndex = 0; } switch (cevrilecekTaban) { case 2: label2.Text = "İkilik Tabandaki Değer"; break; case 3: label2.Text = "Üçlük Tabandaki Değer"; break; case 4: label2.Text = "Dötlük Tabandaki Değer"; break; case 5: label2.Text = "Beşlik Tabandaki Değer"; break; case 6: label2.Text = "Altılık Tabandaki Değer"; break; case 7: label2.Text = "Yedlik Tabandaki Değer"; break; case 8: label2.Text = "Sekizlik Tabandaki Değer"; break; case 9: label2.Text = "Dokuzluk Tabandaki Değer"; break; case 10: label2.Text = "Onluk Tabandaki Değer"; break; default: label2.Text = "İkilik Tabandaki Değer"; break; } btnCevir.Text = "Onluk tabanda girilen değeri " + label2.Text + "e çevir"; } } }
Hiç yorum yok :
Yorum Gönder