الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اعرف ان مربع النص يحتوى على حروف عربية لبناء جمله شرطية تعتمد على وجود الاحرف العربية

بدأه Yemen VB6 في 5 فبراير 2010 · 3 رد · 872 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحيه طيبه

لدي textbox (مربع نص) بحاجة الى معرفة هل هناك احرف عربية ادخلها المستخدم لينفذ امر ما مثلاً

then الامر المطلوب وهو إذا كان مربع النص يحتوى احرف عربية if textbox1

("هناك احرف عربية")msgbox

رُب ( وامعتصماه ) إنطلقت *** ملْء أفـواه الصبايا اليُتـم

لامـسـت أسْـماعـهـم لاكـنهـا *** لمْ تلامس نخْوة المعتصم

#2

النصوص بالدوت نت مبنيه على اليونيكود لذا ستجد ان لكل لغه مدى معين من الأرقام لتمثيل حروفها و مدى حروف اللغه العربيه داخل ينيكود من 0x600 إلى 0x6FF لذا يمكنك عمل حلقة for على حروف النص فإن كان احداها يع فى مدى اللغه العربيه فالنص يحتوى على حرف عربى واحد على الأقل.

قبل ان اريك مثال تذكر امر هام ان الشده تعتبر حرف و ان الكسره و الفتحه و الضمه و السكون و التنوين هم ايضا حروف اى ان لكل منهم كود خاص به فإن حدث و تم وضع احداهما مع الحرف و تم ايجاده اولا فسيتم تحديد وجود حرف عربى.

ان كنت مهتم بتوزيع الحروف العربيه داخل جدول الينيكود فقم بتحميل المرفق الذى يحتوى على الجزء الخاص بتوزيع الحروف العربيه داخل جدول ينيكود مع شرح التقسيمات لكل حرف و هكذا، هذا الجزء قمت بإستخراجه من كتاب The Unicode Standard 5th Edition.

Arabic in Unicode.pdf

نأتى الأن للكود

    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

#3

شكرا لك اخ Muhammad alaa

بارك الله فيك

وجزاك الله خيرا

#4

شكرا اخ محمد علاء هلا افدتني في كيفية الاستفادة من الدالتين في فحص محتوي textbox ما اذا كان يحتوى حروف عربية ام لا عن طريق الضغط على button ليعرض msgbox يفيد بان الـ textbox به حروف عربية

جزاك الله خير

تم تعديل هذه المشاركة بواسطة Yemen VB6 في 8 فبراير 2010 في 00:10

رُب ( وامعتصماه ) إنطلقت *** ملْء أفـواه الصبايا اليُتـم

لامـسـت أسْـماعـهـم لاكـنهـا *** لمْ تلامس نخْوة المعتصم

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…