تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] فلترة ايميلات/filter id
#2
فلترة تكست يحتوي علي كلمات بأكثر من لغة صداع شوية
و يجب هنا ان نتعامل مع Char التي يتكون منها كل String موجود في التكست بوكس
لنفترض ان التكست بوكس تكست مثل التالي

PHP كود :
TextBox1.Text "Ahmed عمر Ali مصطفي" 

لكي نفصل مثل هذه الكلمات عن بعضها البعض علي الأقل نحتاج الي شرط نتأكد منه ان الكلمات إما تنتمي الي اللغة الانجليزية او الي لغة أخري

لذلك نحن هنا نحتاج الي تعريف مصفوفة يكون بها الحروف الانجليزية و الكود التالي يوضح ذلك


PHP كود :
Dim englishChars() As Char = {"a"c"A"c"b"c"B"c"c"c"C"c"d"c"D"c"e"c"E"c"f"c"F"c"g"c"G"c,
 
           "h"c"H"c"i"c"I"c"j"c"J"c"k"c"K"c"l"c"L"c"m"c"M"c"n"c"N"c"o"c"O"c"p"c"P"c,
 
           "q"c"Q"c"r"c"R"c"s"c"S"c"t"c"T"c"u"c"U"c"v"c"V"c"w"c"W"c"x"c"X"c"y"c"Y"c


أخيرا نقوم بعمل Split للتكست
و هنا سوف نحتاج الي مصفوفتان احدهما للكلمات العربية و الاخري للكلمات الانجليزية
ثم نضع شرطا و نتحقق منه
وهنا علينا أن نتحقق من ان الكلمات قد تحتوي علي حروف انجليزية او لا
فإن كانت تحتوي علي حروف انجليزية نضيفها الي مصفوفة اللغة الانجليزية
و ان كانت لا تحتوي علي حروف انجليزية نضيفها الي مصفوفة اللغة العربية

و الكود التالي يوضح الشكل العام لبقية الكود


PHP كود :
       Dim s As String TextBox1.Text
        Dim arabicNames 
As List(Of String) = New List(Of String)()
 
       Dim englishNames As List(Of String) = New List(Of String)()
 
       If Not String.IsNullOrEmpty(sThen
            Dim strings 
As String() = s.Split(" "c)
 
           For i 0 To strings.Length 1
                Dim current 
As String strings(i)
 
               ' هنا نتأكد أن بعض الكلمات قد تحتوي علي حروف انجليزية
                Dim flag As Boolean = current.IndexOfAny(englishChars)

                If Not flag Then
                    englishNames.Add(strings(i))
                End If
                If flag Then
                    arabicNames.Add(strings(i))
                End If
            Next
        End If
        ' 
 
       ' هذا الكود الغرض من عرض النتائج فقط
        For Each arbicName In arabicNames
            ListBox1.Items.Add(arbicName)
        Next

        For Each englishName In englishNames
            ListBox2.Items.Add(englishName)
        Next 

لتنفيذ الكود افتح مشروع و ضع به تكست بوكس و اثنان ListBox و اكتب جميع الأكواد أعلاه في FormLoad

في المرفقات ستجد مثال مكتوبا بنسخة الفيجوال استوديو 2015


الملفات المرفقة
.rar   Test_TextBoxFiltering_VB4ARAB.rar (الحجم : 59.8 ك ب / التحميلات : 44)
الرد }}}
تم الشكر بواسطة: 3asfa~mdmra


الردود في هذا الموضوع
فلترة ايميلات/filter id - بواسطة 3asfa~mdmra - 03-01-17, 02:04 AM
RE: فلترة ايميلات/filter id - بواسطة silverlight - 03-01-17, 01:53 PM
RE: فلترة ايميلات/filter id - بواسطة 3asfa~mdmra - 03-01-17, 10:03 PM
RE: فلترة ايميلات/filter id - بواسطة مساعدة - 03-01-17, 11:33 PM
RE: فلترة ايميلات/filter id - بواسطة 3asfa~mdmra - 04-01-17, 12:03 AM
RE: فلترة ايميلات/filter id - بواسطة مساعدة - 04-01-17, 12:09 AM
RE: فلترة ايميلات/filter id - بواسطة silverlight - 04-01-17, 01:04 AM
RE: فلترة ايميلات/filter id - بواسطة 3asfa~mdmra - 05-01-17, 01:10 AM
RE: فلترة ايميلات/filter id - بواسطة مساعدة - 05-01-17, 02:43 AM
RE: فلترة ايميلات/filter id - بواسطة 3asfa~mdmra - 05-01-17, 04:03 AM


التنقل السريع :


يقوم بقرائة الموضوع: