COMANDO LOCALIZAR EM RTF

USUARIO.EXCLUIDOS 23/03/2004 16:56:03
#16699
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
USUARIO.EXCLUIDOS 23/03/2004 17:13:26
#16701
Resposta escolhida
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.
USUARIO.EXCLUIDOS 23/03/2004 17:32:48
#16704
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
Tópico encerrado , respostas não são mais permitidas