• Giriş

Gorsel Programlama

  • AnaSayfa
  • Hakkımızda
  • TOP-10 Proje
  • Download
  • Özel Ders
  • Reklam Verin
  • Destek
  • İletişim
RSS feed
  • Youdao
  • Xian Guo
  • Zhua Xia
  • Google
  • My Yahoo!
  • newsgator
  • Bloglines
  • iNezha
© 2009-2020 Gorsel Programlama

C# WindowsForm ile TC Kimlik Numarası, İsim, Soyisim, E-Mail Kontrol Yapıları

C# WindowsForm ile TC Kimlik Numarası, İsim, Soyisim, E-Mail Kontrol Yapıları

Daha fazlası için: gorselprogramlama.com

Merhaba ben Abdurrahman ÖNDER. Bu uygulamamızda özel metinlerin kontrolünü nasıl sağlarız ona bakalım. Özel metinlerden kastımız:

  • TC Kimlik Numarası
  • İsim(Bir ya da birden fazla)
  • Soyisim
  • E-Mail

TC için:

  • TC Kimlik numaraları 11 basamaktan oluşmaktadır.
  • İlk 9 basamak arasında kurulan bir algoritma bize 10. basmağı, ilk 10 basamak arasında kurulan algoritma ise bize 11. basamağı verir.
  • Her hanesi rakamsal değer içerir.
  • İlk hane 0 olamaz. 1. 3. 5. 7. ve 9. hanelerin toplamının 7 katından, 2. 4. 6. ve 8. hanelerin toplamı çıkartıldığında, elde edilen sonucun 10’a bolumunden kalan, yani Mod10’u bize 10. haneyi verir.
  • İlk 10 hanenin toplamından elde edilen sonucun 10’a bolumunden kalan, yani Mod10’u bize 11. haneyi verir.

AD için:

  • İlk karakter boşluk olamaz
  • Rakam ya da harf harici karakter içeremez.
  • Birkaç isimden oluşabilir onların arasında sadece birer boşluk olmalıdır.
  • İsimlerin ilk harfleri büyük olmalı.

SOYAD için:

  • İlk karakter boşluk olamaz
  • Rakam ya da harf harici karakter içeremez.
  • Birkaç isimden oluşamaz.
  • Tamamı büyük harflerden oluşmalı.

Mail için:

  • Hiçbir yerde boşluk kabul edemez.
  • Rakam ya da harf harici karakter içerebilir.
  • Sadece bir adet ‘@‘ içerebilir. Bu ne sonda ne de başta olamaz.

Form Ekranımızı şu şekilde tasarlayalım:

IMG_20200204_223101

Button btnControl;
TextBox txtTc;
TextBox txtAd;
TextBox txtSoyad;
Label label1;
Label label2;
Label label3;
Label label4;
TextBox txtMail;
Label lblEmail;
Label lblSoyad;
Label lblAd;
Label lblTc;

Tasarımımızı ve Component isimlerini yukardaki gibi yapalım. Ardından kodlama kısmına geçelim.

İlk olarak TC kısmımızın özelliklerini yazalım.

private void txtTc_KeyPress(object sender, KeyPressEventArgs e)
{
 e.Handled = !char.IsDigit(e.KeyChar)&& !char.IsControl(e.KeyChar);
 if (txtTc.Text.Trim().Length == 11 && e.KeyChar != (char)Keys.Back)
 {
 e.Handled = true;
 }
}
private void txtTc_TextChanged(object sender, EventArgs e)
{
 if (txtTc.Text.Trim().Length == 11)
 {
 lblTc.Visible = false;
 }
 else
 {
 lblTc.Visible = true;
 }
}
private void txtTc_Leave(object sender, EventArgs e)
{
 bool tc_State = TcKimlikDogrulama(txtTc.Text.Trim());
 if(tc_State)
 {
 lblTc.Visible = false;
 }
 else
 {
 lblTc.Visible = true;
 }
}
private bool TcKimlikDogrulama(string pTCKimlik)
{
 if (pTCKimlik.Length < 11)
 {
 return false;
 }
 else if (pTCKimlik.Substring(0, 1) == "0")
 {
 return false;
 }
 int toplam1 = Convert.ToInt32(pTCKimlik[0].ToString()) + Convert.ToInt32(pTCKimlik[2].ToString()) + Convert.ToInt32(pTCKimlik[4].ToString()) + Convert.ToInt32(pTCKimlik[6].ToString()) + Convert.ToInt32(pTCKimlik[8].ToString());
 int toplam2 = Convert.ToInt32(pTCKimlik[1].ToString()) + Convert.ToInt32(pTCKimlik[3].ToString()) + Convert.ToInt32(pTCKimlik[5].ToString()) + Convert.ToInt32(pTCKimlik[7].ToString());
 int sonuc = ((toplam1 * 7) - toplam2) % 10;
 if (sonuc.ToString() != pTCKimlik[9].ToString())
 {
 return false;
 }
 int toplam3 = 0;
 for (int i = 0; i<; 10; i++)
 toplam3 += Convert.ToInt32(pTCKimlik[i].ToString());
 if ((toplam3 % 10).ToString() != pTCKimlik[10].ToString())
 {
 return false;
 }
 return true;
}

Ad kısmımızın özelliklerini yazalım.

private void txtAd_KeyPress(object sender, KeyPressEventArgs e)
 {
 if (txtAd.Text.Trim() != "")
 {
 if (char.IsDigit(e.KeyChar) || char.IsPunctuation(e.KeyChar) || (txtAd.Text[txtAd.Text.Length - 1] == ' ' &amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp; e.KeyChar == ' '))
 {
 e.Handled = true;
 }

 }
 else
 {
 if (char.IsDigit(e.KeyChar) || char.IsPunctuation(e.KeyChar) || e.KeyChar == ' ')
 {
 e.Handled = true;
 }

 }
 }
private void txtAd_Leave(object sender, EventArgs e)
 {
 if (txtAd.Text.Trim() != "")
 {
 char[] name = txtAd.Text.Trim().ToCharArray();
 txtAd.Clear();
 for (int i = 0; i <name.Length; i++)
 {
 char addCharacter = name[i];
 if (i == 0)
 {
 addCharacter = Convert.ToChar(name[0].ToString().ToUpper());
 }
 else
 {
 if (name[i - 1] == ' ')
 {
 addCharacter = Convert.ToChar(name[i].ToString().ToUpper());
 }
 }
 txtAd.Text += addCharacter.ToString();
 }
 }
 }
private void txtAd_TextChanged(object sender, EventArgs e)
 {
 txtAd.Text.Trim();
 if (txtAd.Text.Length==3)
 {
 lblAd.Visible = true;
 }
 else
 {
 lblAd.Visible = false;
 }
 }

Soyad kısmının özelliklerini yazalım:

private void txtSoyad_KeyPress(object sender, KeyPressEventArgs e)
 {
 if (char.IsDigit(e.KeyChar) || char.IsPunctuation(e.KeyChar) || e.KeyChar == ' ')
 {
 e.Handled = true;
 }
 }

private void txtSoyad_TextChanged(object sender, EventArgs e)
 {
 txtSoyad.Text.Trim();
 if (txtSoyad.Text.Length == 2)
 {
 lblSoyad.Visible = true;
 }
 else
 {
 lblSoyad.Visible = false;
 }
 }

 

Mail kısmının özelliklerini yazalım:

private void txtMail_TextChanged(object sender, EventArgs e)
 {
 txtMail.Text.Trim();
 if (txtMail.Text.IndexOf("@") != -1)
 {
 lblEmail.Visible = false;
 }
 else
 {
 lblEmail.Visible = true;
 }
 }

 private void txtMail_Leave(object sender, EventArgs e)
 {
 if (txtMail.Text.Trim().Length != 0)
 if (txtMail.Text.Trim().ToString()[txtMail.Text.Trim().Length - 1] == '@')
 {
 lblEmail.Visible = true;
 }
 }

private void txtMail_KeyPress(object sender, KeyPressEventArgs e)
 {
 if (e.KeyChar == ' ')
 {
 e.Handled = true;
 }
 if (txtMail.Text.Trim() != "")
 {
 if (txtMail.Text.IndexOf("@") != -1 &&e.KeyChar == '@')
 {
 e.Handled = true;
 }
 }
 else
 {
 if (e.KeyChar == '@')
 {
 e.Handled = true;
 }
 }
 }

Butona Tıklandığında ise kontrol ettirelim:

private void btnKontrol_Click(object sender, EventArgs e)
 {
 string message = "";
 if (lblAd.Visible)
 {
 message += "Ad Kısmında, ";

 }
 if (lblSoyad.Visible)
 {
 message += "Soyad kısmında, ";
 }
 if (lblTc.Visible)
 {
 message += "TC kısmında, ";
 }
 if (lblEmail.Visible)
 {
 message += "Email kısmında, ";
 }
 if (message != "")
 {
 MessageBox.Show(message + " hata tespit edildi.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
 }
 else
 {
 MessageBox.Show("Hata tespit edilemedi.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
 }
 }

Formumuzun Load Olayını da etkinleştirelim:


private void Form1_Load(object sender, EventArgs e)
 {
 txtSoyad.CharacterCasing = CharacterCasing.Upper;
 }

Paylaş :
Tweet
Yorum Yazın | Geri
4 Şubat Salı,2020 Tarihinde Yayınlanmıştır. Bulunduğu Kategori : Görsel Programlama
Etiket:
« 2019-2020 öğretim yılı grafik ve animasyon dersi 1.dönem 2. uygulama sınav soruları ve cevap anahtarı Migros market 2 Reklam Banner Örneği — Flash »
Henüz Yorum Yok.

Yorum Yazın ...

Cevabı İptal
XHTML: Bu Etiketleri Kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
RSS Bu Yazıya Yapılan Yorumlar


Site içi Arama

Takip et: @GorselProgram







Böyle bir web sayfam olsun diyorsanız iletişim bölümünden veya gorselprogram@gmail.com mail adresinden bize ulaşabilirsiniz.

Son Yazılar

  • C# Console Application İçi Boş Üçgen
  • C# WindowsForm Çekiliş Uygulaması
  • C# WindowsForm Login Remember Me (Remember me Checkbox)
  • Migros market 2 Reklam Banner Örneği — Flash
  • C# WindowsForm ile TC Kimlik Numarası, İsim, Soyisim, E-Mail Kontrol Yapıları

Etiket Bulutu

.NET Application basit C# C#.NET application C#.NET codes C#.NET examples C#.NET lessons C#.NET practice C#.net örnekleri c# console dersleri c# console örnekleri C# ders c# dersleri c# örnek c# örnekleri C.net dersleri c dersleri code console console örnekleri Csharp csharp dersleri csharp net csharp örnekleri c örnekleri download Flash örnekleri forms Forms örnekleri full indir kod kodlar nesne tabanlı programlama OleDbConnection OleDbDataAdapter tam sürüm uygulama vb net win windows windows forms application örnek ücretsiz

Kategoriler

  • Access (59)
  • Akış Diyagramı Flowchart (69)
  • Android Eğitimleri (2)
  • Asp Net (47)
  • C# (830)
  • C# Console (222)
  • Css (19)
  • Dersler (191)
  • Dökümanlar (21)
  • Dreamweaver (12)
  • Excel (8)
  • Fireworks (27)
  • Flash (76)
  • Görsel Programlama (419)
  • GorselProgramlama.Com (8)
  • Html (34)
  • Pascal (2)
  • Photoshop (5)
  • PHP (2)
  • Planlar (114)
  • Programlama Tanım (4)
  • Sınavlar (128)
  • Sql (10)
  • VB 6.0 (45)
  • VB.NET (219)
  • Videolar (65)
  • Word (7)

Arşiv

Bağlantılar

  • Bilişim Konuları
  • Html Dersleri
  • Muslu.NET
  • Programlama Dersleri

Kimler Sitede ?


    Computers Blogs Top programming blogs

   sayaç Powered by WordPress | Theme by NeoEase | Valid XHTML 1.1 and CSS 3 Yukarı