COMANDO LOCALIZAR EM RTF
Gostaria de saber como fazer um Comando Localizar e Localizar Próximo, e que não seja fiel qto a escrita, qdo colocar a frase ele procura tanto maiúscula qto minuscula...
Agradeço
Agradeço
Zeus,
Pra fazer com que a pesquisa continue, após achar a primeira ocorrência, você precisa separar uma variável para armazenar a última posição pesquisada. No exemplo abaixo, a variável "pos" vale 0 no começo da rotina, e "giz" procura por novas ocorrências a partir da posição apontada por "pos". O RTB se chama txtTexto, e a string pesquisada está em txtArgumento (desculpe pelos nomes esquisitos, mas o projeto é antigo e eu chutava uns nomes nada a ver):
txtTexto.Refresh
giz = InStr(UCase(Right(txtTexto.Text, Len(txtTexto.Text) - pos)), UCase(txtArgumento.Text)) + pos
If giz = pos And giz 0 Then MsgBox "Não há mais ocorrências.": pos = 0: Exit Sub
pos = giz
If pos 0 Then
txtTexto.SelStart = pos - 1
txtTexto.SelLength = Len(txtArgumento.Text)
Else
MsgBox "Nenhuma ocorrência de '" & txtArgumento.Text & "' foi localizada."
End If
Esse exemplo pesquisa por maiúsculas ou minúsculas, indiscriminadamente.
Pra fazer com que a pesquisa continue, após achar a primeira ocorrência, você precisa separar uma variável para armazenar a última posição pesquisada. No exemplo abaixo, a variável "pos" vale 0 no começo da rotina, e "giz" procura por novas ocorrências a partir da posição apontada por "pos". O RTB se chama txtTexto, e a string pesquisada está em txtArgumento (desculpe pelos nomes esquisitos, mas o projeto é antigo e eu chutava uns nomes nada a ver):
txtTexto.Refresh
giz = InStr(UCase(Right(txtTexto.Text, Len(txtTexto.Text) - pos)), UCase(txtArgumento.Text)) + pos
If giz = pos And giz 0 Then MsgBox "Não há mais ocorrências.": pos = 0: Exit Sub
pos = giz
If pos 0 Then
txtTexto.SelStart = pos - 1
txtTexto.SelLength = Len(txtArgumento.Text)
Else
MsgBox "Nenhuma ocorrência de '" & txtArgumento.Text & "' foi localizada."
End If
Esse exemplo pesquisa por maiúsculas ou minúsculas, indiscriminadamente.
Opa!!!
If giz = pos And giz "DIFERENTE DE" 0 Then MsgBox "Não há mais ocorrências.": pos = 0: Exit Sub
If pos "MAIOR QUE" 0 Then
If giz = pos And giz "DIFERENTE DE" 0 Then MsgBox "Não há mais ocorrências.": pos = 0: Exit Sub
If pos "MAIOR QUE" 0 Then
Tópico encerrado , respostas não são mais permitidas