none
Pesquisa textbox usando reverse vb.net RRS feed

  • Pergunta

  • Tenho um textbox preenchido assim:

    ads kas ado kao ad ka

    agora tenho um textbox2 pra pesquisar no textbox1...dai quando digito "ads" ele seleciona "ads" no textbox2 precisava que quando eu digitasse "das" ele tembém selecionasse o "ads".

    Obs.: ele ele vai comparar as duas primeiras letras no textbox2 ignorando o "s" ou o "o" no final da pesquisa.

    Nota. O "s" e o "o" sempre vão aparecer no final de cada palavra no textbox2 e a causos que as palavras no textbox2 não tem o "s" ou o "o" no final.

    Eu tenho um código que faz esta pesquisa, mas só que tenho que ter um textbox3 com o conteúdo do textbox2 com o texto revertido usando "reverse" eu precisava que a pesquisa selecionasse no textbox2.text = a palavra "ads" mesmo que o usuário digitasse no textbox1 "das". assim o usuário vai saber que a pesquisa encontro e selecionou no textbox'2 o texto.

    O motivo deu precisar de um código diferente do meu é o seguinte.

    o cliente não quer que apareça no textbox2 textos invertidos.

    no textbox2.text esta preenchido assim...

    ads das aks kas etc...

    porque ai já tem as letras invertidas mais com outro código correto o texto do textbox2 fica assim...

    ads aks etc... dai se o usuário digitar no textbox1 "das" ele seleciona "ads" no textbox2.

    Espero não ter feito confussão ai na pergunta. É isso.

    domingo, 13 de janeiro de 2013 17:38

Respostas

  • Demorei mais consegui resolver assim:

    Segue o código pra que precisar

    Coloca no form1 os seguintes controles.

    label1.text , 'pra vc ver as letras convertidas

    textbox1.text, "onde vou digitar texto pra pesquisa"

    textbox2.text, "onde fica os textos pra pesquisa" no meu caso ele esta preenchido assim

    ads, dao pas tqs kas etc... dai quando digito "das" ele seleciona o "ads"

    lebre que eu precisava fzr a pesquisa só de dois caracteres onde eu iguinorava o "s" eo "o"

    Private Sub textbox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox1.Click
            With textbox1
                .SelectionStart = 0
                .SelectionLength = Len(.Text)
            End With
        End Sub


        Private Sub textbox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textbox1.TextChanged
            Try
                textbox1.Text = LTrim(textbox1.Text)
                analiza()
                ''Ucase corverte maiuscula / Lcase converte minuscula
                textbox1.Text = LTrim(textbox1.Text)

                Dim pos As Integer
                'Textbox2.SelectionLength = "0"
                'TextBox3.SelectionLength = "0"
                pos = InStr(Textbox2.Text.ToUpper, UCase(textbox1.Text.ToUpper))
                If pos > 0 Then
                    Textbox2.SelectionStart = pos - 1
                    Textbox2.SelectionLength = Len(textbox1.Text)
                    Textbox2.ScrollToCaret()
                End If

            Catch ex As Exception

            End Try
        End Sub

        Private Sub analiza()
            Try
                Dim dif1, dif2, dif12 As String
                REM string 'jas'
                dif2 = textbox1.Text.Substring(0, 2) 'pega 'ja' de jas
                dif2 = StrReverse(dif2) 'retornr 'aj'
                REM strin 's'
                dif1 = textbox1.Text.Substring(2, 1) 'pega o 's' de jas
                dif12 = dif2 & dif1
                Label1.Text = dif12
                Label1.Text = Label1.Text.ToUpper()

                Dim pos As Integer
                Textbox2.SelectionLength = "0"
                'TextBox3.SelectionLength = "0"
                pos = InStr(Textbox2.Text.ToUpper, UCase(Label1.Text.ToUpper))
                If pos > 0 Then
                    Textbox2.SelectionStart = pos - 1
                    Textbox2.SelectionLength = Len(textbox1.Text)
                    Textbox2.ScrollToCaret()
                End If
            Catch ex As Exception

            End Try
        End Sub

    Juntei um pouco aqui e ali na web e mantei isto, sei que não é grande coisa, mais pra mim foi de muito valor. ABRAÇOS

    segunda-feira, 14 de janeiro de 2013 03:17