PDA

View Full Version : سوال: جستجو در متن



وحید1363
دوشنبه 07 شهریور 1390, 13:40 عصر
سلام
شاید این سوالم تکراری باشه
اما هرچی تو سایت گشتم نتونستم مشکلم رو حل کنم
لطفا راهنمایی کنید

من یه RichTextBox1 دارم
برای جستجوی یه کلمه در کل متن به مشکل خوردم
با این کد 1 مورد پیدا میشه
RichTextBox1.Find (Text1.Text)

اما مشکل من سر پیدا کردن موارد بعدیه یا همون findnext

پیشا پیش از دوستانی که پاسخ میدهند خیلی متشکرم
:لبخندساده:

محسن واژدی
دوشنبه 07 شهریور 1390, 13:59 عصر
سلام علیکم
دستور را بصورت زیر وارد کنید:
Private Sub Command1_Click()

Static last_pos&
With RichTextBox1
.SetFocus
find:
last_pos& = RichTextBox1.find(Text1.Text, last_pos& + 1)
If last_pos& = -1 And InStr(1, RichTextBox1, Text1.Text) > 0 Then GoTo find
End With
End Sub

موفق باشید

farboodj1375
دوشنبه 07 شهریور 1390, 16:35 عصر
سلام.
ممنون.
یه اشکال کوچیک داره که اگه مورد جستجو یدا نشه بازم اولین کلمه رو به عنوان نتیجه جستجو میگیره.
این راهی نداره؟
ممنون.

محسن واژدی
دوشنبه 07 شهریور 1390, 16:55 عصر
سلام علیکم
در این دستور اگر مورد جستجو در richtext یافت شد select میشود اما اگر یافت نشود متنی انتخاب نمیشود، البته یک تغییراتی داخل کد دادم، امیدوارم مفید باشد:

Private Sub Command1_Click()
Static last_pos&
Dim once As Boolean
If Text1.Text = "" Then Exit Sub
With RichTextBox1
.SetFocus
find:
last_pos& = RichTextBox1.find(Text1.Text, last_pos& + 1)
If last_pos& = -1 And InStr(1, RichTextBox1, Text1.Text) > 0 Then
If once = False Then
once = True
GoTo find
End If
ElseIf InStr(1, RichTextBox1, Text1.Text) = 0 Then
.SelLength = 0
MsgBox "Not found any thing", vbExclamation
End If
End With
End Sub

موفق باشید