RICHTEXTBOX ENCONTRAR PALAVRA E DELETAR LINHA

PAYDANA 05/10/2012 22:58:00
#411435
Boas pessoal, preciso deletar algumas linhas em um richtextbox que contem algumas palavras que variam

tipo

RICHTEXTBOX ta assim...

blablablablabla
blablablablabla
blablablablabla
blaDELETARlablabla
blablablablabla
bAPAGARabla
blablablablabla

E tem que ficar assim:
blablablablabla
blablablablabla
blablablablabla
blablablablabla
blablablablabla

é apagada a linha toda que tinha a tal palavra.

Obrigado gente
EPISCOPAL 07/10/2012 14:10:21
#411469
Vamos lá

Voce pode utilizar o Método find

Sintaxe:
RTB.Find Palavra, PosiçãoInicial, PosiçãoFinal, Opção

Palavra: é a string que voce deseja procurar
PosiçãoInicial: é a posição inicial dentro do RTB
Posiçãofinal: é a posição final dentro do RTB

opções:
0 = localiza as palavras mas ignora minusculas/maisculas e palavras inteiras.
2 = localiza as palavras inteiras somente, mas ignora maiusculas/minusculas
4 = localiza as palavras somente Maiuscula/Minuscula, ignora palavras inteiras
6 = localiza as palavras coincide todas as letras minusculas/maiusculas/inteiras

Então:

RTB.Find [Ô]DELETAR[Ô], 0, len(RTB.TEXT), 0

if RTB.SelLength then [ô]se for encontrado alguma palavra
RTB.SelText = [Ô][Ô]
Endif
PAYDANA 07/10/2012 23:36:30
#411474
Opa, muito bacana sua explicação WOLFFIRE, obrigado.
Mais acho que eu não soube explicar direito, desculpe.

74-75-78-79-80
74-76-77-78-79
74-76-77-78-80
74-76-77-79-80
74-76-78-79-80
74-77-78-79-80
75-76-77-78-79
75-76-77-78-80
75-76-77-79-80
75-76-78-79-80
75-77-78-79-80
76-77-78-79-80

Tipo, eu não tenho uma referência na linha pra eu criar o posiçãoInicial e o posiçãofinal porque elas mudam o tempo todo (são como estas acima)
No caso destas linhas acima ae se eu mandasse deletar as linhas que tenha o [Ô]80[Ô] so me sobraria estas 74-76-77-78-79 75-76-77-78-79

porém preciso identificar a linha pra poder apaga-la

if instr(linha, [Ô]80[Ô]) > 0 then linha = [Ô][Ô]

Obrigado!

PAYDANA 07/10/2012 23:55:31
#411475
To lendo aqui tudo que e coisa desse RichTextBox e não to encontrando nada pra identificar as linhas

http://www.recursosvisualbasic.com.ar/htm/tutoriales/richtextbox.htm#loadfile-savefile
LUIZCOMINO 08/10/2012 08:56:24
#411482
Resposta escolhida
segue amigo fiz rapidinho da umas ajustadas ai depois ,basta trocar o text1 para RichTextBox


Private Sub Form_Load()
Text1 = RemoveLinha([Ô]80[Ô], Text1)
End Sub



Function RemoveLinha(Buscar As String, Campo As Variant) As String

Dim Mtz As Variant
Dim i As Integer
Dim aux As String


Mtz = Split(Campo, vbCrLf)


For i = 0 To UBound(Mtz)
If InStr(Mtz(i), Buscar) = 0 Then
aux = aux & Mtz(i) & vbCrLf
End If
Next

RemoveLinha = aux

End Function
PAYDANA 08/10/2012 10:08:17
#411487
Obrigado LUIZCOMINO
Funciono bem proximo do que preciso

O que aconteceu de estranho foi que a fonte do RichTextBox1 mudou (ficou maior) outra coisa que aconteceu foi que as linhas que eram pra ser deletadas foram esvaziadas... mais isso eu resolvo com um codigo que tenho aqui de remover linhas vazias

fui durmir 4 da manha e ja to em pé des de cedo em cima disso aqui

obrigadão meeesmo

PAYDANA 08/10/2012 10:20:17
#411489
Opa, o poblema da fonte era so trocar de RichTextBox1para RichTextBox1.Text
LUIZCOMINO 08/10/2012 10:28:14
#411491
então ficou blz, se ajudou pontue ai amigo, fique com Deus!
PAYDANA 08/10/2012 17:57:11
#411571
Não deu muito certo com arquivos grandes

Preciso trabalhar com listas que contem milhões de linhas
LUIZCOMINO 09/10/2012 09:01:19
#411589
qual foi o erro?
PAYDANA 09/10/2012 21:57:00
#411676
overflow algo assim
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas