السلام عليكم
شباب كيف حالكم
انا جديد في هذا المنتدى
لو سمحتم اريد ان اعرف كيفية البحث عن نص باستخدام تكس بوكس
لكن بشرط انه يحتوي على لوب
مثلا لو الكلمة المراد البحث عنها موجودة في اكثر من موضع يعرضهن كلهن
ولكم مني جزيل الشكر
طبق المثال السريع هذا باستخدام
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]