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

Grimner

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


Giriş

Merhaba, C# uygulama geliştirme serimizin besinci yazısına hoş geldiniz.
Bu yazımızda bir parola oluşturucu 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
Örnekler İle C# Geliştirme - Bölüm 3
Örnekler İle C# Geliştirme - Bölüm 4

İyi okumalar dilerim!

Yapılış

qf5szvs.png


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

hqdwbqu.png


Proje oluştuktan sonra formun ismini Özellikler > Text bölümünden 'Parola Oluşturucu' değiştiriyorum.
Sonrasında Araç Kutusundan aşağıdaki araçları ekliyorum.​
2 adet GroupBox
1 adet Label
1 adet TrackBar
4 adet CheckBox
1 adet RichTextBox
1 adet Button​

Not: Burada TrackBar yerine TextBox da kullanılabilirdi tabi ama bir farklılık yapayım dedim.
Bunlar dışında bir iki tane de ayar yapmamız gerekiyor. Bunlardan ilki TrackBar'ımızın değerini (value) arttırmak olacak.
1yhvl76.png


Bunun için TrackBar'ımızın üstüne basıyoruz ve Maximum yazan yeri kendimize göre değiştiriyoruz.
Ben en fazla 50 karakter uzunluğunda olmasını istediğim için o kısmı 50 yaptım, siz kendi kafanıza göre değiştirin.
Şimdi de diğer bir ayarımızı yapalım. Bu ayarda Harf checkBox'ı varsayılan olarak açık gelmeli.

6j7skh5.png


Bunun için CheckBox'ın üstüne basıyoruz ve Özellikler > Checked kısmını True yapıyoruz.
Evet, genel olarak UI (ara yüz) kısımları bitmiş bulunmakta. Şimdi kodlara geçelim.
Bunun için Oluştur (button1_click) tuşuna basıyoruz ve kodlarına giriyoruz.

qbvb5v9.png


Koda gittikten sonra ilk iş olarak global alana 4 adet değişken oluşturuyoruz.
Bu değişkenlerin içinde parola içinde kullanacağımız değerler bulunmakta.
Random nesnesi ise bu değerler arasından rastgele seçim yapması için oluşturuldu.

C#:
string Sayilar = "0123456789";
string KucukHarfler = "abcdefghijklmnopqrstuvwxyz";
string BuyukHarfler = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string Semboller = "!@#$%^&*()-_=+[]{}|;:'\",.<>/?";

Random Rastgele = new Random();

mfq6gyt.png


Değişkenler içinden rastgele alma kodu.

C#:
StringBuilder password = new StringBuilder();
// Öncelikle bir rastgele seçilecek değerlerin depolanacağı bir değişken oluşturuyoruz.

string characterSet = "";
/*
    Burada ise hangi verilerden oluşacağını seçtiriyoruz.
    Örneğin ben CheckBox1(Sayı) ve CheckBox3(Büyük Harf) seçtim diyelim.
    Bu işlemin sonunda oluşacak değer şu olacaktır: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/

if (checkBox1.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Sayı
    characterSet += Sayilar;
    // Sayıları karakter setinin içine atıyor.
if (checkBox2.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Sembol
    characterSet += Semboller;
    // Sembolleri karakter setinin içine atıyor.
if (checkBox3.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Büyük Harf
    characterSet += BuyukHarfler;
    // Büyük harfleri karakter setinin içine atıyor.
if (checkBox4.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Küçük Harf
    characterSet += KucukHarfler;
    // Küçük harfleri karakter setinin içine atıyor.

if (characterSet.Length == 0) // Burada ise karakter setinin içindeki sayının 0 olup olmadığı kontrol ediyor. Eğer 0 ise hiçbir CheckBox true değildir.
    MessageBox.Show("En az bir karakter seti seçilmelidir.", "Uyarı");
    // İlk string değer mesaj içeriğini, ikincisi ise mesaj kutumuzun başlığıbu temsil ediyor.

for (int i = 0; i < trackBar1.Value; i++) // Buradaki döngü TrackBar1 içindeki yani parola uzunluğu değerini alıyor. Value 5 ise 5 kere dönecektir.
{
    int index = Rastgele.Next(0, characterSet.Length);
    // Burada 0 ile karakter setinin uzunluğu arasında rastgele bir sayı oluşturuyor.
    // Örneğin sayede sayılar seçili diyelim. 10 adet sayımız var. Yani 0 ile 10 arasında bir sayı çıkabilir.
   
    password.Append(characterSet[index]);
    // Burada da çıkan rastgele sayıyı karakter setinin içinden alıyor ve parola depolaması için kullandığımız nesneye ekliyor.
}

richTextBox1.Text = password.ToString();
// Son olarak ise ToString() ile nesnemizi string türüne çevirerek RichTextBox1 içine yazdırıyor.

atbbxl1.png


Evet, parola oluşturma kısımlarımız tamamlandı. Şimdi son kısım olarak TrackBar'ımızın içindeki değeri Label içine yazdıralım ki kullanıcı kaç haneli oluşturduğunu görsün.

C#:
label1.Text = trackBar1.Value.ToString();

Evet, programımız genel olarak tamamlandı.
Şimdi de çalışma şeklini izleyelim.

kxv8n5y.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!​
 

Zwo

Katılımcı Üye
a3b2jeo.png


Giriş

Merhaba, C# uygulama geliştirme serimizin besinci yazısına hoş geldiniz.
Bu yazımızda bir parola oluşturucu 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
Örnekler İle C# Geliştirme - Bölüm 3
Örnekler İle C# Geliştirme - Bölüm 4

İyi okumalar dilerim!

Yapılış

qf5szvs.png


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

hqdwbqu.png


Proje oluştuktan sonra formun ismini Özellikler > Text bölümünden 'Parola Oluşturucu' değiştiriyorum.
Sonrasında Araç Kutusundan aşağıdaki araçları ekliyorum.


Not: Burada TrackBar yerine TextBox da kullanılabilirdi tabi ama bir farklılık yapayım dedim.
Bunlar dışında bir iki tane de ayar yapmamız gerekiyor. Bunlardan ilki TrackBar'ımızın değerini (value) arttırmak olacak.
1yhvl76.png


Bunun için TrackBar'ımızın üstüne basıyoruz ve Maximum yazan yeri kendimize göre değiştiriyoruz.
Ben en fazla 50 karakter uzunluğunda olmasını istediğim için o kısmı 50 yaptım, siz kendi kafanıza göre değiştirin.
Şimdi de diğer bir ayarımızı yapalım. Bu ayarda Harf checkBox'ı varsayılan olarak açık gelmeli.

6j7skh5.png


Bunun için CheckBox'ın üstüne basıyoruz ve Özellikler > Checked kısmını True yapıyoruz.
Evet, genel olarak UI (ara yüz) kısımları bitmiş bulunmakta. Şimdi kodlara geçelim.
Bunun için Oluştur (button1_click) tuşuna basıyoruz ve kodlarına giriyoruz.

qbvb5v9.png


Koda gittikten sonra ilk iş olarak global alana 4 adet değişken oluşturuyoruz.
Bu değişkenlerin içinde parola içinde kullanacağımız değerler bulunmakta.
Random nesnesi ise bu değerler arasından rastgele seçim yapması için oluşturuldu.

C#:
string Sayilar = "0123456789";
string KucukHarfler = "abcdefghijklmnopqrstuvwxyz";
string BuyukHarfler = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string Semboller = "!@#$%^&*()-_=+[]{}|;:'\",.<>/?";

Random Rastgele = new Random();

mfq6gyt.png


Değişkenler içinden rastgele alma kodu.

C#:
StringBuilder password = new StringBuilder();
// Öncelikle bir rastgele seçilecek değerlerin depolanacağı bir değişken oluşturuyoruz.

string characterSet = "";
/*
    Burada ise hangi verilerden oluşacağını seçtiriyoruz.
    Örneğin ben CheckBox1(Sayı) ve CheckBox3(Büyük Harf) seçtim diyelim.
    Bu işlemin sonunda oluşacak değer şu olacaktır: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/

if (checkBox1.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Sayı
    characterSet += Sayilar;
    // Sayıları karakter setinin içine atıyor.
if (checkBox2.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Sembol
    characterSet += Semboller;
    // Sembolleri karakter setinin içine atıyor.
if (checkBox3.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Büyük Harf
    characterSet += BuyukHarfler;
    // Büyük harfleri karakter setinin içine atıyor.
if (checkBox4.Checked) // Burada CheckBox'ın true olup olmadığını kontrol ediyor. // Küçük Harf
    characterSet += KucukHarfler;
    // Küçük harfleri karakter setinin içine atıyor.

if (characterSet.Length == 0) // Burada ise karakter setinin içindeki sayının 0 olup olmadığı kontrol ediyor. Eğer 0 ise hiçbir CheckBox true değildir.
    MessageBox.Show("En az bir karakter seti seçilmelidir.", "Uyarı");
    // İlk string değer mesaj içeriğini, ikincisi ise mesaj kutumuzun başlığıbu temsil ediyor.

for (int i = 0; i < trackBar1.Value; i++) // Buradaki döngü TrackBar1 içindeki yani parola uzunluğu değerini alıyor. Value 5 ise 5 kere dönecektir.
{
    int index = Rastgele.Next(0, characterSet.Length);
    // Burada 0 ile karakter setinin uzunluğu arasında rastgele bir sayı oluşturuyor.
    // Örneğin sayede sayılar seçili diyelim. 10 adet sayımız var. Yani 0 ile 10 arasında bir sayı çıkabilir.
  
    password.Append(characterSet[index]);
    // Burada da çıkan rastgele sayıyı karakter setinin içinden alıyor ve parola depolaması için kullandığımız nesneye ekliyor.
}

richTextBox1.Text = password.ToString();
// Son olarak ise ToString() ile nesnemizi string türüne çevirerek RichTextBox1 içine yazdırıyor.

atbbxl1.png


Evet, parola oluşturma kısımlarımız tamamlandı. Şimdi son kısım olarak TrackBar'ımızın içindeki değeri Label içine yazdıralım ki kullanıcı kaç haneli oluşturduğunu görsün.

C#:
label1.Text = trackBar1.Value.ToString();

Evet, programımız genel olarak tamamlandı.
Şimdi de çalışma şeklini izleyelim.

kxv8n5y.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!​
Elinize sağlık hocam devamı kesin gelmeli
 
Ü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.