Jump to content

C# Karakter Sınırlama


anilguleryuz
 Share

Recommended Posts

Arkadaşlar merhaba, vs 2010 kullanıyorum. Proje ödevim için hasta kayıt otomasyonu yapmaktayım. Sizlere şu sorum olacaktı, adı, soyadı bilgilerinde 2 harf girip kayıt yaptığım zaman kaydı yapıyor. Benim yapmak istediğim, 3 harften daha kısa harf girildiği zaman kayıt yapmamasını istiyorum. Neredeyse çoğu kişi MaxLength olayından bahsetmiş, ama ben bu şekilde olmasını istemiyorum. If-Else yapısı kullanarak yapmak istiyorum bu işlemi nasıl yapabilirim, yada başka şekilde nasıl yapabilirim. Yardımcı olabilecek arkadaşlar var mı?

Link to comment
Share on other sites

Yine olmadı, sizin verdiğiniz kodda sadece 3 karaktere kadar sınırlıyor. 3 karakterden sonrasına izin vermiyor. Benim yapmak istediğim bu şekilde değil, textbox karakter sayısı sınırsız fakat kayıt yaparken 2 karakter veya daha az karakter girilince hata versin. Mesela şu şekilde yapmak istiyorum.

Spoiler

Bu kod doğru bir şekilde çalışıyor

3LkAM4.jpg

Bu kod ise yanlış bir şekilde çalışıyor

QBjQG3.jpg

burada 2 karakter girildiği için hata vermesi gerekiyordu, fakat yine de kayıt yapıyor. 

 

Link to comment
Share on other sites

  • Editor

Ozaman Kintaronun kodlarını şu şekilde düzenlemen lazım.

 

if (textBox1.Text.Length < 2)
{
    MessageBox.Show("Hatalı giriş");
}
else
{
    // kayıt kodları
}

 

  • Like 1
Link to comment
Share on other sites

Eger programinin genelinde bir kural tanimlayacaksan bunu else ve iflerle heryerde tek tek sormak yerine extension methodlarla halletmen gerek. 

Oncelikle bir extenstions sinifi olustur. Bu sinif icinde boolean olarak bir method olustur. 

 

  public static bool KarakterSinirinaUyuyormu(this string s)
    {
       if(s.Length < 2)

return false;

else

return true;

}

Ardindan bunu nerede kullanacaksan oraya eklersen global olarak bir extensionun olmus olur. Programin her yerinde bu kurali kullanabilirsin:

if(TextBox1.Text.KarakterSinirinaUyuyormu())

  • Like 3
Link to comment
Share on other sites

Hocam, sorunu @SimpsoN_Bart arkadaşın verdiği kodla hallettim. Şuan başka bir sorun baş göstermekte her zaman olduğu gibi :D 

Textbox'da keypress olayına takıldım. q,w,x harflerin girişini engelleyemiyorum. Sayı sorununu hallettim ama buna bir türlü çözüm bulamadım. Bu konuda da bir yardımcı olursan o kadar çok mutlu olurum ki anlatamam. Artık projeyi tamamlayıp hocama teslim etmek istiyorum :D 

Link to comment
Share on other sites

  • Editor

Kintora üstadın kod önerisine aynen katılıyorum ;)

anilguleryuz, ancak neden q, x, w harflerini engelliyorsun, hasta yabancı birisiyse ve isminde de bu üç harften birisi var ise hastaneye nasıl kayıt olacak?

Geniş düşünmek lazım :lol:

 

Edited by mephistooo2
Link to comment
Share on other sites

KintaRo'nun yazdığı çalışıyor fakat case sensitive olayı yok yani büyük harfle yazdığı zaman istediğin gerçekleşmez. Hasta otomasyonu yazıyorsan sadece qwx harfleri değil diğer karakterlerde olmaması gerekir senin için ufak bişey yazdım kendine göre düzenlersin;

Sadece Karaktere izin verir;

 

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            const string NotAllowed = "qxwQXW1234567890~`@#$%^&*()_-+={[}]:;',!.><?/|\\";

            if (NotAllowed.IndexOf(e.KeyChar) == -1 == false)
            {
                e.Handled = true;
            }
        }

  • Like 1
Link to comment
Share on other sites

12 saat önce, mephistooo2 yazdı:

Kintora üstadın kod önerisine aynen katılıyorum ;)

anilguleryuz, ancak neden q, x, w harflerini engelliyorsun, hasta yabancı birisiyse ve isminde de bu üç harften birisi var ise hastaneye nasıl kayıt olacak?

Geniş düşünmek lazım :lol:

 

Hocam, ben ilk başta öyle yaptım. Okuldaki hocamın kıllığı yüzünden kodları tekrar düzenliyorum. Projeyi her gösterdiğimde yeni bir şeyler istiyor. Proje her kontrole giderken bu sefer de q,w,x harfleri girilmesin istendi. O yüzden bende mecburiyetten böyle yapmak zorunda kaldım :D

Edited by anilguleryuz
İmla Hatası
Link to comment
Share on other sites

Arkadaşlar, tekrar merhaba :D son bir sorum daha olacaktı :D datagridview içeriğini nasıl yazdırabilirim, ve nasıl baskı önizlemesini sağlayabilirim bilen var mı acaba? Bütün her şey tamam, bir tek o kaldı. Ne yaptıysam hata verdi ya :D

Dipnot: Datagridview'de access veritabanı var :D 

On 26.04.2016 at 12:49, SimpsoN_Bart yazdı:

KintaRo'nun yazdığı çalışıyor fakat case sensitive olayı yok yani büyük harfle yazdığı zaman istediğin gerçekleşmez. Hasta otomasyonu yazıyorsan sadece qwx harfleri değil diğer karakterlerde olmaması gerekir senin için ufak bişey yazdım kendine göre düzenlersin;

Sadece Karaktere izin verir;

 

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            const string NotAllowed = "qxwQXW1234567890~`@#$%^&*()_-+={[}]:;',!.><?/|\\";

            if (NotAllowed.IndexOf(e.KeyChar) == -1 == false)
            {
                e.Handled = true;
            }
        }

Dostum bu arada yanıtlayamadım, verdiğin kod sorunsuzca çalıştı. Teşekkür ederim :) 

Link to comment
Share on other sites

  • 2 hafta sonra ...
On 02.05.2016 at 15:34, KintaRo yazdı:

şurada yazdırma ile ilgili güzel bir örnek var:

Please register to see this content.

Teşekkür ederim dostum ilginden dolayı, yazdırma işlemi için crystal reports kullandım. Sorunum ortadan kalktı :) 

Link to comment
Share on other sites

18 dakika önce, SimpsoN_Bart yazdı:

Madem report programı kullanacaktın keşke FastReport yada DevExpress kullansaydın CR biraz eskidi arttık :)

Ben report olayını bilmiyordum bile haliyle acemiyiz daha okuldaki hoca.m bana crystal reportu önerdi biraz araştırınca sorunu çözdüm :)

Edited by anilguleryuz
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...