View Full Version : سوال: جستجو در متن
  
وحید1363
دوشنبه 07 شهریور 1390, 14:40 عصر
سلام
شاید این سوالم تکراری باشه
اما هرچی تو سایت گشتم نتونستم مشکلم رو حل کنم
لطفا راهنمایی کنید
من یه RichTextBox1 دارم
برای جستجوی یه کلمه در کل متن به مشکل خوردم
با این کد 1 مورد پیدا میشه
RichTextBox1.Find (Text1.Text)
اما مشکل من سر پیدا کردن موارد بعدیه یا همون findnext
پیشا پیش از دوستانی که پاسخ میدهند خیلی متشکرم
:لبخندساده:
محسن واژدی
دوشنبه 07 شهریور 1390, 14: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, 17:35 عصر
سلام.
ممنون.
یه اشکال کوچیک داره که اگه مورد جستجو یدا نشه بازم اولین کلمه رو به عنوان نتیجه جستجو میگیره.
این راهی نداره؟
ممنون.
محسن واژدی
دوشنبه 07 شهریور 1390, 17: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
موفق باشید
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.