تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] تلوين كلام محدد بلون معين
#11
أخى الكريم
النص الموجود فى
RichTextBox
ناتج عملية بحث فى القرآن الكريم
كيفية تلوين كلمة البحث بلون مختلف الموجودو فى 
TextBox1 مربع البحث على حسب الصورة كلمة يمنون


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#12
اخي وصديقي اذا كنت تريد كود يقوم بتلوين كلمة او مجموعة كلمات انت تختارها
فانصحك باستخدام فضاء الاسماء System.Text.RegularExpressions
فهو مخصص لعمليات اتحقق من النصوص والمدخلات والتعامل معها بشكل افضل واسرع 
من طريقة استخدام الامر RichTextBox.Find بكثير

واليك هذا المشروع المثال والذي وضعت فيه اداة RichTextBox والتي استخدمها لعرض كلمات القران 
وايضا اداة TEXTBOX والتي تكتب فيها الكلمة التي تريد ايجادها وتلوينها داخل نص القران في RichTextBox 

يقوم الكود اولا بازالة التشكيل (الفتحة والكسرة و...) من النص الموجود في RichTextBox ان وجد 
ثم يقوم بالبحث ويضع النتائج في المصفوفة matchColl والتي استخدمها لحفظ نتائج البحث
 
اذا وجد البرنامج النص المطلوب يقوم باضافة Match متغير المطابقة الخاص بـRegex الى المصفوفة matchColl 
وبعد انتهاء البحث ووجود نتائج يمكن التنقل بينها باستخدام زرين هما التالي والسابق
حيث ان الضغط على زر التالي يقوم بايجاد النتيجة التالية لكلمة البحث في الاداة RichTextBox ويقوم بتحديدها ثم يقوم بتلوينها
وزر السابق يعيدك الى النتائج السابقة


هذا هو مجمل مايقوم الكود بعمله مع  ملاحظة اني لم اضع كل علامات التشكيل  

اخيرا اليك الكود

كود :
Imports System.Text.RegularExpressions

Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        rtxt.LoadFile("D:\Downloads\q2.txt", RichTextBoxStreamType.PlainText)
    End Sub

    Dim matchColl As MatchCollection
    Private Sub btnFind_Click(sender As System.Object, e As System.EventArgs) Handles btnFind.Click
        'النص الذي نبحث عنه
        Dim pattern As String = txtFind.Text
        Dim rgx As New Regex(pattern)
        'النص الذي نبحث فيه
        Dim inputText As String = rtxt.Text
        ' ازالة التشكيل ان وجد
        rtxt.Text = removeTashkeel(rtxt.Text)
        '        ' اضافة النتائج الى مصمفوفة
        matchColl = Regex.Matches(rtxt.Text, pattern)
        'عرض النتائج
        lblResult.Text = "النتائج:" & matchColl.Count
          End Sub

    ' استبدال تشكيل الاحرف
    Function removeTashkeel(txt As String) As String
        Dim pattern As String = "[ًٌٍَُِّْۤۡ۠]"
        txt = Regex.Replace(txt, pattern, "")
        Return txt
    End Function

    'زر الانتقال للنتيجة التالية
    Dim i As Integer
    Private Sub btnNext_Click(sender As System.Object, e As System.EventArgs) Handles btnNext.Click
        rtxt.SelectionStart = matchColl(i).Index
        rtxt.SelectionLength = txtFind.Text.Length
        rtxt.SelectionColor = Color.Red
        i += 1
        lblResult.Text = "النتائج:" & i & "/" & matchColl.Count
    End Sub
    'زر الانتقال للنتيجة السابقة
    Private Sub btnPrev_Click(sender As System.Object, e As System.EventArgs) Handles btnPrev.Click
        rtxt.SelectionStart = matchColl(i).Index
        rtxt.SelectionLength = txtFind.Text.Length
        rtxt.SelectionColor = Color.Red
        i -= 1
        lblResult.Text = "النتائج:" & i & "/" & matchColl.Count
    End Sub
End Class

الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اريد كود معين اثابكم الله خالد كامل1 1 445 04-02-25, 09:28 PM
آخر رد: aliday03
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 537 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  [VB.NET] استعراض بيانات في Datagridview واضافة جميع البيانات لجدول محدد sql skode 0 480 12-01-25, 12:50 AM
آخر رد: skode
  [سؤال] اضافة ملف Pdf الى الريسورس واستخراجه الى مسار معين .. ackore 6 579 15-11-24, 02:51 AM
آخر رد: justforit
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 634 12-11-24, 02:22 PM
آخر رد: salamandal
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 656 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  كتابه عدد معين من الارقام داخل تيكست بوكس modymody300894 3 545 07-11-24, 09:15 PM
آخر رد: modymody300894
  طباعة تقرير بطول وعرض معين (التقرير عبارة عن سطر) atefkhalf2004 7 618 15-07-24, 01:53 AM
آخر رد: atefkhalf2004
  طلب تغيير لون خلية بالجريد كنترول حسب شرط معين heem1986 0 352 13-06-24, 09:59 AM
آخر رد: heem1986
  رسالة و تلوين خلية الداتاجريد العيدروس 8 716 17-05-24, 10:12 PM
آخر رد: justforit

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


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