تحيه طيبه
لدي textbox (مربع نص) بحاجة الى معرفة هل هناك احرف عربية ادخلها المستخدم لينفذ امر ما مثلاً
then الامر المطلوب وهو إذا كان مربع النص يحتوى احرف عربية if textbox1
("هناك احرف عربية")msgbox
تحيه طيبه
لدي textbox (مربع نص) بحاجة الى معرفة هل هناك احرف عربية ادخلها المستخدم لينفذ امر ما مثلاً
then الامر المطلوب وهو إذا كان مربع النص يحتوى احرف عربية if textbox1
("هناك احرف عربية")msgbox
رُب ( وامعتصماه ) إنطلقت *** ملْء أفـواه الصبايا اليُتـم
لامـسـت أسْـماعـهـم لاكـنهـا *** لمْ تلامس نخْوة المعتصم
النصوص بالدوت نت مبنيه على اليونيكود لذا ستجد ان لكل لغه مدى معين من الأرقام لتمثيل حروفها و مدى حروف اللغه العربيه داخل ينيكود من 0x600 إلى 0x6FF لذا يمكنك عمل حلقة for على حروف النص فإن كان احداها يع فى مدى اللغه العربيه فالنص يحتوى على حرف عربى واحد على الأقل.
قبل ان اريك مثال تذكر امر هام ان الشده تعتبر حرف و ان الكسره و الفتحه و الضمه و السكون و التنوين هم ايضا حروف اى ان لكل منهم كود خاص به فإن حدث و تم وضع احداهما مع الحرف و تم ايجاده اولا فسيتم تحديد وجود حرف عربى.
ان كنت مهتم بتوزيع الحروف العربيه داخل جدول الينيكود فقم بتحميل المرفق الذى يحتوى على الجزء الخاص بتوزيع الحروف العربيه داخل جدول ينيكود مع شرح التقسيمات لكل حرف و هكذا، هذا الجزء قمت بإستخراجه من كتاب The Unicode Standard 5th Edition.
نأتى الأن للكود
Function IndexOfArabic(ByVal str As String, ByVal StartIndex As Integer, ByVal Count As Integer) As Integer
For i As Integer = StartIndex To StartIndex + Count
If AscW(str(i)) >= &H600 AndAlso AscW(str(i)) <= &H6FF Then
Return i
End If
Next
Return -1
End Function
Function ContainsArabic(ByVal str As String) As Boolean
Return IndexOfArabic(str, 0, str.Length) <> -1
End Functionالسابق هم دالتين IndexOfArabic و ContainsArabic الأولى تقوم بإرجاع موقع حرف عربى فى المدى من startIndex و لمدة count و البحث يكون داخل النص str إن لم يتم ايجاد اى حروف عربيه يتم العوده بـ -1، اما الداله الثانيه ContainsArabic فتقوم بالتحقق هل النص str يحتوى على حروف عربيه ام لا و يتم العوده بـ true إن كان يحتوى على حروف عربيه و false إن لم يكن.
و الله ولى التوفيق
مدونتي: C++ Tips and Tricks
شكرا لك اخ Muhammad alaa
بارك الله فيك
وجزاك الله خيرا
شكرا اخ محمد علاء هلا افدتني في كيفية الاستفادة من الدالتين في فحص محتوي textbox ما اذا كان يحتوى حروف عربية ام لا عن طريق الضغط على button ليعرض msgbox يفيد بان الـ textbox به حروف عربية
جزاك الله خير
تم تعديل هذه المشاركة بواسطة Yemen VB6 في 8 فبراير 2010 في 00:10
رُب ( وامعتصماه ) إنطلقت *** ملْء أفـواه الصبايا اليُتـم
لامـسـت أسْـماعـهـم لاكـنهـا *** لمْ تلامس نخْوة المعتصم
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…