منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية البحث عن نص في التكست بكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
شباب كيف حالكم
انا جديد في هذا المنتدى
لو سمحتم اريد ان اعرف كيفية البحث عن نص باستخدام تكس بوكس
لكن بشرط انه يحتوي على لوب
مثلا لو الكلمة المراد البحث عنها موجودة في اكثر من موضع يعرضهن كلهن
ولكم مني جزيل الشكر
طبق المثال السريع هذا باستخدام RegularExpressions
اضف الادوات التالية:
Button1
backgroundworker
2 textbox
progressbar
استدعي الاتي:
كود :
Imports System.Net
Imports System.Text.RegularExpressions
عرف عموميا التالي:
كود :
Dim str As String = "showthread.php"
    Dim mcoll As MatchCollection
    Dim ob As String
في حدث تحميل الفورم اكتب:
كود :
Dim wc As New WebClient
        TextBox1.Text = wc.DownloadString("http://vb4arb.com/vb/index.php")

في حدث النقر لزر الامر اكتب
كود :
If bb.IsBusy Then Exit Sub
        mcoll = Regex.Matches(TextBox1.Text, str)
        p.Maximum = mcoll.Count
        bb.ReportProgress(mcoll.Count)
        bb.RunWorkerAsync()
bb = backgroundworker
في حدث bb_DoWork اكتب:
كود :
For Each ma As Match In mcoll
            ob &= ma.Value & vbNewLine
        Next
في حدث bb_ProgressChanged اكتب:
كود :
p.Value = e.ProgressPercentage
p=progressbar
في حدث bb_RunWorkerCompleted اكتب:
كود :
TextBox2.Text = ob
        MsgBox("done")
وهذا الكلاس بشكل كامل
[align=left][code]
Imports System.Net
Imports System.Text.RegularExpressions

Public Class Form1

    Dim str As String = "showthread.php"
    Dim mcoll As MatchCollection
    Dim ob As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim wc As New WebClient
        TextBox1.Text = wc.DownloadString("http://vb4arb.com/vb/index.php")

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If bb.IsBusy Then Exit Sub
        mcoll = Regex.Matches(TextBox1.Text, str)
        p.Maximum = mcoll.Count
        bb.ReportProgress(mcoll.Count)
        bb.RunWorkerAsync()

    End Sub

    
    Private Sub bb_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bb.DoWork
        For Each ma As Match In mcoll
            ob &= ma.Value & vbNewLine
        Next
    End Sub

    Private Sub bb_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bb.ProgressChanged
        p.Value = e.ProgressPercentage
    End Sub

    Private Sub bb_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bb.RunWorkerCompleted
        TextBox2.Text = ob
        MsgBox("done")
    End Sub
End Class
[/code]
[/align]
شكرا لك اخي سعود
الله يعطيك الف عافيةSmileSmileSmileSmile
شكرا لك اخي ناصر