UYGULAMAYI İNDİR
using System;
using System.Text;
using System.Windows.Forms;
namespace C_Sharp_Form_Decimal_To_Binary_Cevirme
{
public partial class Form1 : System.Windows.Forms.Form
{
// Decimal to binary formunda kullanılacak nesneleri global olarak oluşturma
private System.Windows.Forms.TextBox girilenText;
private System.Windows.Forms.TextBox sonucText;
private System.Windows.Forms.Button btnCevir;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
public Form1()
{
// Sistemin kendi oluşturduğu elemanların ilk ayarları
InitializeComponent();
// Dinamik olarak decimal to binary formunu oluşturan elemanları ayarlama
InitializeMyComponent();
}
// Girilen bütün karakterleri rakam mı diye kontrol eden fonksiyon
public static bool butunHepsiRakamMi(string deger)
{
// ilk önce girilen string değerin sağ ve solundaki boşlukları temizleyeceğiz.
string rakam = deger.Trim();
if (rakam.Length == 0)
{
return false;//bir karakter girilmediyse false dönecek
}
for (int indeks = 0; indeks < rakam.Length; indeks++)
{
if (!Char.IsDigit(rakam[indeks]))
{
return false;
//Eğer girilen karakterlerden biri rakam değilse false dönecek.
}
}
//Eğer girilen bütün karakterler rakam ise true dönecek
return true;
}
// Çevir butonuna tıklanınca çalışacak olan metot.
// Bu metot ile girilen 10 luk tabandaki sayı ikilik tabana çevrilecek.
private void btnCevir_Click(object sender, System.EventArgs e)
{
StringBuilder yeniDeger = new StringBuilder();
string cevrilecekDegerString;
int cevrilecekDeger=0;
int kalan;
// Girilen karakterler hepsinin rakam olup olmadığını kontrol edelim
cevrilecekDegerString = this.girilenText.Text;
if (butunHepsiRakamMi(cevrilecekDegerString))
{
//Eğer girilen karakterlerin epsi rakam ise bu string değeri int32 tipine çevirelim
cevrilecekDeger = Int32.Parse(cevrilecekDegerString);
}
else
{
// Eğer girilen karakterler rakam değil ise mesaj kutusu ile uyarı verelim
MessageBox.Show("Sadece rakam girmelisiniz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
girilenText.Focus();
}
// onluk tabanda olan değeri ikilik tabana çevirelim
// İkilik tabandaki sayıyı string bir değişkende saklayacağım. Bu int tipinde bir dizi ile veya
// jeneric bir int liste ile de tutabilirim.
if (cevrilecekDeger > 0)
{
do
{
kalan = cevrilecekDeger % 2;
cevrilecekDeger = cevrilecekDeger / 2;
yeniDeger.Insert(0, kalan);
} while (cevrilecekDeger > 0);
}
// Decimal dan binary e çevrilmiş değeri sonuç textbox ına yazdırılım
this.sonucText.Text = yeniDeger.ToString();
}
// Decimal to binary formunda kullanılan arayüz nesenelerinin özelliklerini ayarlama
//foksiyonu
private void InitializeMyComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.girilenText = new System.Windows.Forms.TextBox();
this.btnCevir = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.sonucText = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Bisque;
this.label1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label1.Location = new System.Drawing.Point(20, 20);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(160, 20);
this.label1.TabIndex = 0;
this.label1.Text = "Pozitif bir tam sayı giriniz :";
//
// girilenText
//
this.girilenText.BackColor = System.Drawing.Color.Yellow;
this.girilenText.Location = new System.Drawing.Point(200, 20);
this.girilenText.Name = "girilenText";
this.girilenText.Size = new System.Drawing.Size(120, 20);
this.girilenText.TabIndex = 1;
this.girilenText.Text = "";
//
// btnCevir
//
this.btnCevir.BackColor = System.Drawing.Color.SkyBlue; //PeachPuff;
this.btnCevir.FlatStyle = FlatStyle.Flat;
this.btnCevir.Location = new System.Drawing.Point(20, 60);
this.btnCevir.Name = "btnCevir";
this.btnCevir.Size = new System.Drawing.Size(300, 30);
this.btnCevir.TabIndex = 2;
this.btnCevir.Text = "Girilen değeri binary (ikilik tabana) çevir";
this.btnCevir.Click += new System.EventHandler(this.btnCevir_Click);
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Bisque;
this.label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label2.Location = new System.Drawing.Point(20, 100);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(160, 20);
this.label2.TabIndex = 3;
this.label2.Text = "İkilik Tabandaki Değeri:";
//
// sonucText
//
this.sonucText.BackColor = System.Drawing.Color.YellowGreen;
this.sonucText.Location = new System.Drawing.Point(20, 130);
this.sonucText.Name = "sonucText";
this.sonucText.Size = new System.Drawing.Size(300, 20);
this.sonucText.TabIndex = 4;
this.sonucText.Text = "";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.MediumSlateBlue;
this.ClientSize = new System.Drawing.Size(340, 200);
this.Controls.Add(this.sonucText);
this.Controls.Add(this.label2);
this.Controls.Add(this.btnCevir);
this.Controls.Add(this.girilenText);
this.Controls.Add(this.label1);
this.Name = "DecimalToBinaryCevirme";
this.Text = "Decimal to Binary Çevir";
this.ResumeLayout(false);
}
}
}
Hiç yorum yok :
Yorum Gönder