- 28 Mar 2020
- 6,325
- 4,806
Giriş
Merhaba, C# uygulama geliştirme serimizin üçüncü yazısına hoş geldiniz.
Bu yazımızda verilen metnimizi, base64'e dönüştüren bir program yapacağız.
Serinin önceki yazılarını okumak isteyenler için
Örnekler İle C# Geliştirme - Bölüm 1
Örnekler İle C# Geliştirme - Bölüm 2
İyi okumalar dilerim!
Yapılış
İlk önce projemizi oluşturmakla başlayalım.
Ben programın ismini "Base64 Converter" şeklinde koyuyorum, siz de kendinize göre isimlendirebilirsiniz.
Proje oluştuktan sonra formun ismini Özellikler > Text bölümünden 'Base64 Converter' değiştiriyorum.
Sonrasında Araç Kutusundan aşağıdaki araçları ekliyorum.
2 adet GroupBox
2 adet RichTextBox
3 adet Button
Bu kısma Tasarımımız tamamlandıktan sonra, kodlarımıza gidiyoruz ve global alanımıza
C#:
int SwapNumber = 1;
Bu değişken sayesinde değişim işlemini gerçekleştireceğiz.
Yorum satırlarında da yazdığı gibi; 1 seçili ise Text > Base64 işlemi, 2 seçili ise Base64 > Text işlemi gerçekleştirecek.
Bunu yaptıktan sonra Swap yazılı tuşumuzun üstüne basıyoruz ve click eventine giriyoruz. (button3_click)
Ve de burada bir if blokları ekliyoruz.
C#:
if (SwapNumber == 1)
{
groupBox1.Text = "Base64";
groupBox2.Text = "Text";
SwapNumber = 2;
}
else if (SwapNumber == 2)
{
groupBox1.Text = "Text";
groupBox2.Text = "Base64";
SwapNumber = 1;
}
Bu if blokları SwapNumber içindeki değere göre GroupBox içindeki değerleri ve SwapNumber numarasını değiştiriyor.
Şimdilik bu kısımda işimiz bitti, o yüzden convert işlemine geçebiliriz.
Evet, şimdi konumuzun ana olayına yani dönüştürme işlemine geçtik.
Bu kısmı kod üzerinden anlatacağım.
C#:
if (SwapNumber == 1) // Bu kısımda SwapNumber kontrol ediyoruz. Eğer 1 ise Text > Base64 işlemi gerçekleşecek.
{
string MainText = richTextBox1.Text;
// Burada richTextBox1 içideki değerimizi oluşturduğumuz MainText değişkeninin içine atıyoruz.
byte[] Bytes = Encoding.UTF8.GetBytes(MainText);
/*
Burada ise MainText verisini Ascii haline çeviyoruz.
Yani eğer "tht" yazdıysak "116 104 116" şeklinde bir çıktı alırız.
Bunun neye göre olduğunu merak ediyorsanız ascii tablosu yazarak araştırabilirsiniz.
*/
string Base64 = Convert.ToBase64String(Bytes);
// Burada da Ascii kodumuzu Base64'e çevirmiş oluyoruz.
richTextBox2.Text = Base64;
// Bu bloğun son işlemi olarak ise dönüştürdüğümüz değeri richTextBox2 içine yazdırıyoruz.
}
else if (SwapNumber == 2) // Bu kısımda SwapNumber kontrol ediyoruz. Eğer 2 ise Base64 > Text işlemi gerçekleşecek.
{
string Base64 = richTextBox1.Text;
// Burada richTextBox1 içindeki değerimizi oluşturduğumuz Base64 değerine atıyoruz.
byte[] Bytes = Convert.FromBase64String(Base64);
/*
Burada ise Base64 değerimizi Ascii haline çeviyoruz.
Yani elimizde "R3JpbW5lciA8Mw==" olduğunu varsayalım, bunu "71 114 105 109 110 101 114 32 60 51" şeklinde dönüştürüyor.
*/
string ClearText = Encoding.UTF8.GetString(Bytes);
// Burada da "71 114 105 109 110 101 114 32 60 51" yazan kısmı normal metne dönüştürüyor.
richTextBox2.Text = ClearText;
// Son olarak ise bu yazıyı ekrana bastırıyor.
}
Evet, dönüştürme işlemimiz de tamamlandı. Şimdi de RichTextBoxları temizleme işlemine geçelim.
C#:
richTextBox1.Clear();
richTextBox2.Clear();
Burada ise richTextBoxlarımız içeriğini Clear(); fonksiyonu ile temizliyoruz.
Bunun yerine aşağıdaki versiyonunu da kullanabilirsiniz.
C#:
richTextBox1.text = "";
richTextBox2.text = "";
Evet, temizleme işlemimizde tamamlandı.
Şimdi programın çalışma şekline bakalım.
Kapanış
Evet, bugünkü projemiz bitmiş bulunmakta.
Gelecekte ki derslerde görmek istediğiniz bir program olursa yazabilirsiniz.
Okuduğunuz için teşekkür ederim, iyi forumlar!
Son düzenleme: