03-01-17, 01:53 PM
(آخر تعديل لهذه المشاركة : 03-01-17, 01:57 PM {2} بواسطة silverlight.)
فلترة تكست يحتوي علي كلمات بأكثر من لغة صداع شوية
و يجب هنا ان نتعامل مع Char التي يتكون منها كل String موجود في التكست بوكس
لنفترض ان التكست بوكس تكست مثل التالي
لكي نفصل مثل هذه الكلمات عن بعضها البعض علي الأقل نحتاج الي شرط نتأكد منه ان الكلمات إما تنتمي الي اللغة الانجليزية او الي لغة أخري
لذلك نحن هنا نحتاج الي تعريف مصفوفة يكون بها الحروف الانجليزية و الكود التالي يوضح ذلك
أخيرا نقوم بعمل Split للتكست
و هنا سوف نحتاج الي مصفوفتان احدهما للكلمات العربية و الاخري للكلمات الانجليزية
ثم نضع شرطا و نتحقق منه
وهنا علينا أن نتحقق من ان الكلمات قد تحتوي علي حروف انجليزية او لا
فإن كانت تحتوي علي حروف انجليزية نضيفها الي مصفوفة اللغة الانجليزية
و ان كانت لا تحتوي علي حروف انجليزية نضيفها الي مصفوفة اللغة العربية
و الكود التالي يوضح الشكل العام لبقية الكود
لتنفيذ الكود افتح مشروع و ضع به تكست بوكس و اثنان ListBox و اكتب جميع الأكواد أعلاه في FormLoad
في المرفقات ستجد مثال مكتوبا بنسخة الفيجوال استوديو 2015
و يجب هنا ان نتعامل مع 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(s) Then
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

