Örnekler İle C# Geliştirme - Bölüm 3

Grimner

Adanmış Üye
28 Mar 2020
6,308
4,727
a3b2jeo.png


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ış

2u7rvzz.png


İlk önce projemizi oluşturmakla başlayalım.
Ben programın ismini "Base64 Converter" şeklinde koyuyorum, siz de kendinize göre isimlendirebilirsiniz.

45osn5x.png


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​

neb9bd6.png


Bu kısma Tasarımımız tamamlandıktan sonra, kodlarımıza gidiyoruz ve global alanımıza

C#:
int SwapNumber = 1;
Diye bir integer değişkeni oluşturuyoruz.
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.

o4h17r9.png


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.

8bx7coe.png


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.

1dmuzxm.gif


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:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.