منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيفية البحث عن نص في التكست بكس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيفية البحث عن نص في التكست بكس (/showthread.php?tid=1814)



كيفية البحث عن نص في التكست بكس - alsalahi - 06-02-14

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


RE: كيفية البحث عن نص في التكست بكس - سعود - 06-02-14

طبق المثال السريع هذا باستخدام 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]


RE: كيفية البحث عن نص في التكست بكس - alsalahi - 07-02-14

شكرا لك اخي سعود
الله يعطيك الف عافيةSmileSmileSmileSmile


RE: كيفية البحث عن نص في التكست بكس - ناصر حسين - 07-02-14

هنا شرح فيديو لعمل بحث تلقائي كما تريد


RE: كيفية البحث عن نص في التكست بكس - alsalahi - 08-02-14

شكرا لك اخي ناصر