Hola, intento hacer en vb como una especie de "traductor" tengo dos Textbox y un boton, lo que quiero hacer es reemplazar el texto de Text1(0) al de Text1(2), pero al pasarlo que me reemplace las palabras.

La funcion seria algo asi... pero el problema es que si yo pongo...

Por ejemplo, la siguiente cadena de texto:

Código: Seleccionar todo

Hola a todos, gracias por b y tu y yo
Solo reemplaza algunas letras y otras no, ¿alguien me podria explicar porque?

Código: Seleccionar todo

Private Sub Command1_Click(Index As Integer)
Text1(2) = Replace(Text1(0), "Hola", "Adios")
Text1(2) = Replace(Text1(0), "a", "A")
Text1(2) = Replace(Text1(0), "b", "B")
Text1(2) = Replace(Text1(0), "tu", "tu!!!")
Text1(2) = Replace(Text1(0), "yo", "yOOO")
End Sub
1 Saludo y Gracias!
La tecnica esta cambiando el mundo. Este es el momento para elegir, si es un Yo o un Nosotros.
Imagen

Estado: Agarrando offset por los huevos!!
Seria mucho mejor que en vez de usar Replace(cadena,"a","A") usaras las funcioens internas UCase y LCase

Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
te estaba ayudando por privado shiver pero como se siguio lo hago por aca ! te hice un codigo simple probalo , ojo que hay otra forma para hacerlo como por ejemplo con expresiones regulares ! a ver miralo

Edito pongo el codigo aca para que lo vean por si alguien le hace falta : te lo hice servido a las manos jajaj Un abrazo!

Código: Seleccionar todo

Private Sub Command1_Click()
Dim lines()  As String
Dim words()  As String
Dim findWord As String
Dim newWord  As String
Dim i        As Long
Dim j        As Long

lines = Split(Text1.Text, vbCrLf)

For i = 0 To UBound(lines)
    words = Split(lines(i), " ")
    For j = 0 To UBound(words)
        findWord = removePuntuation(words(j))
        Select Case UCase$(findWord)
            Case "HOLA": newWord = "Adios"
            Case "A":    newWord = "A"
            Case "B":    newWord = "B"
            Case "TU":   newWord = "tu!!!"
            Case "YO":   newWord = "yOOO"
            Case Else
                newWord = ""
        End Select
        If (Len(newWord)) Then words(j) = Replace$(words(j), findWord, newWord, 1, 1)
    Next
    lines(i) = Join(words, " ")
Next

Text2.Text = Join(lines, vbCrLf)
End Sub

Function removePuntuation(word As String) As String
    removePuntuation = Replace$(word, ",", "")
    removePuntuation = Replace$(removePuntuation, ".", "")
End Function

Private Sub Form_Load()
Text1.Text = "Hi everyone, thanks for b and you and me" & vbCrLf
Text1.Text = Text1.Text & "hOlA jo yo"
Text1.Text = Text1.Text & vbCrLf & "         a aa aaa a"
Text1.Text = Text1.Text & vbCrLf & "hell tu moi"
Text1.Text = Text1.Text & vbCrLf & "hola. foo hola, amigo hola! hOla."
End Sub
Última edición por ps1c0s1s el 06 Ago 2010, 14:37, editado 1 vez en total.
<Josh> y bueno hermano,tu hermana q me dijo q estaba cansada de tenerle el orto como la bandera de japon y bueno la pobre me quizo hacer un masaje prostatico nada mas pero era tanto su recelo y venganza acumulada q se esmero un poco mas de lo normal,pero bue,estuivo bien amorizado por la de dias horas años y lagrimas q echo la pobre de tanto culearla
muchisimas gracias, me sirvi de mucho ps1c0s1s y gracias tambien a p0is0n-123 por la colaboracion! :D
La tecnica esta cambiando el mundo. Este es el momento para elegir, si es un Yo o un Nosotros.
Imagen

Estado: Agarrando offset por los huevos!!
Asi da gusto agradeciendo...Muchas veces hermano

Salu2
Blog técnico dedicado a la seguridad informática y al estudio de nuevas vulnerabilidades.
Blog: http://www.seginformatica.net
Twitter: https://twitter.com/#!/p0is0nseginf
Cerrado

Volver a “VB/.NET”