منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تكست بوكس يقبل نص اي لغة فقط - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : تكست بوكس يقبل نص اي لغة فقط (/showthread.php?tid=2562)



تكست بوكس يقبل نص اي لغة فقط - ali.alfoly - 14-04-14

السلام عليكم ورحمة الله
اريد تكست بوكس ستأستخدمه لادخال اسم المستخدم
اريده ان يكتب اسمه باي لغة يحب وعلي اي شكل يريد ولاكن بشرط عدم السماح بالرموز ما عدا ثلاث رموز فقط وهما (. و - و _ )
وجزاكم الله خيرا


RE: تكست بوكس يقبل نص اي لغة فقط - مالكـ - 14-04-14

PHP كود :
Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As System.Windows.Forms.KeyPressEventArgsHandles TextBox1.KeyPress 
        
        Dim _allowedCharacters 
As String = (". و - و _"
        If 
_allowedCharacters.Contains(e.KeyCharAndAlso e.KeyChar <> ChrW(Keys.BackThen 
            e
.Handled True 
        End 
If 

    
End Sub 



RE: تكست بوكس يقبل نص اي لغة فقط - ali.alfoly - 15-04-14

السلام عليكم اخي مالك
جزاك الله خيرا
وجدت هذا ايضا مفيد جدا
بس الامر كان ملتبس عليه في موضوع اللغات هههه كنت اظن ان هناك فرق من لغة الي اخري


RE: تكست بوكس يقبل نص اي لغة فقط - vbnet - 23-04-14

يوجد البنية Char وهو من الفضاء System ويحتوي على دوال كثيرة منها (لمزيد من المعلومات Char Structure)
كود :
Char.IsControl(c)
Char.IsDigit(c)
Char.IsLetter(c)
Char.IsLetterOrDigit(c)
Char.IsNumber(c)
Char.IsSymbol(c)

وبناء على طلبك هذا مثال (الأحرف بأي لغة والمسافة والرموز المحددة وبدون أرقام)
(لإضافة الأرقام استبدل Char.IsLetterOrDigit بـ Char.IsLetter)
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Char.IsControl(e.KeyChar) _
    Or Char.IsLetter(e.KeyChar) _
    Or Char.IsWhiteSpace(e.KeyChar) _
    Or InStr(".-_", e.KeyChar) _
    Then
        Return
    Else
        e.Handled = True
    End If
End Sub



RE: تكست بوكس يقبل نص اي لغة فقط - سعود - 23-04-14

طيب ما رايك بالفلترة باستخدم Regularexpression
تكتب عدة دوال لكل معيار وتنسيق ...اشجعك على استخدامها.


RE: تكست بوكس يقبل نص اي لغة فقط - vbnet - 23-04-14

(23-04-14, 02:01 AM)سعود كتب : طيب ما رايك بالفلترة باستخدم Regularexpression
تكتب عدة دوال لكل معيار وتنسيق ...اشجعك على استخدامها.

استخدام Regular Expressions مع أحرف Unocide لها طريقة خاصة تستلزم تحديد اللغة التي تريد التعامل معها (لمزيد من المعلومات Unicode Regular Expressions) في حين أن System.Char تتعامل مع الحرف من خلال تصنيفه داخل الخط Font، هذا بالإضافة إلى أنه ليس كل مبرمج Visual Basic يتقن استخدام Regular Expressions.


RE: تكست بوكس يقبل نص اي لغة فقط - ali.alfoly - 03-05-14

جزاكم الله خيرا اخي سعود واخي الحبيب vbnet
بالفعل انا استخدم Char في اشياء كثيرة
ولاكني ما كنت اعرف

إقتباس :أن System.Char تتعامل مع الحرف من خلال تصنيفه داخل الخط Font

ولذلك فرحت جدا عندما جربتها علي اكثر من لغة