Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ELGRANSOLRAC en 13 Agosto 2007, 17:10 pm



Título: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 17:10 pm
Hola a todos:

Tengo una aplicacion que busta una cadena de texto y la remplaza por otra,yo lo que quiero es que en el texto si hay varias cadenas repetidas solo remplace la primera cadena que encuentre.
Espero haberme explicado bien gracias


Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ~~ en 13 Agosto 2007, 17:28 pm
Utiliza replace  :P


Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 22:51 pm
me remplaza todas las cadenas iguales cuando encuentra 5102 me lo remplaza pero yo solo quiero que me remplace ese no todos los 5102 que encuentre quiero que se pare cuando remplace el primero este es mi codigo:
Código:

Private Sub cmdReplace_Click()
If txtReplace.Text = "" Then
 MsgBox "Please enter a replace string.", vbExclamation, "Find and Replace"
ElseIf txtFind = "" Then
 MsgBox "Please enter a search string.", vbExclamation, "Find and Replace"
Else
 rtfText.Text = FastReplace(rtfText.Text, txtFind.Text, txtReplace.Text)
End If
End Sub

Modulo

Public Function FastReplace(SSrch$, SFind$, SRepl$) As String

    Dim Src() As Byte, Dst() As Byte, R() As Byte, F() As Byte
    Dim LenF&, LenR&, LenDst&, i&, j&, OutPos&

    Const ChunkSize& = 4096

    If SSrch = "" Or SFind = "" Then Exit Function

    Src = SSrch: F = SFind: R = SRepl
    LenF = UBound(F): LenR = UBound(R)
    LenDst = ChunkSize: ReDim Dst(0 To LenDst - 1)
 
    For i = 0 To UBound(Src) Step 2

        For j = 0 To LenF Step 2
            If Src(i + j) <> F(j) Then Exit For
        Next j

        If j > LenF Then 'Found

            For j = 0 To LenR Step 2
                If OutPos >= LenDst Then
                    LenDst = LenDst + ChunkSize
                    ReDim Preserve Dst(0 To LenDst)
                End If
                Dst(OutPos) = R(j): OutPos = OutPos + 2
            Next j

            i = i + LenF - 1

        Else

            If OutPos >= LenDst Then
                LenDst = LenDst + ChunkSize
                ReDim Preserve Dst(0 To LenDst)
            End If

            Dst(OutPos) = Src(i): OutPos = OutPos + 2

        End If
    Next i
 
    ReDim Preserve Dst(0 To OutPos - 2): SSrch = Dst
   
    FastReplace = SSrch$
   
End Function


gracias









Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: Freeze. en 13 Agosto 2007, 22:52 pm
Código:
Private Sub Command1_Click()
Text2.Text = Replace(Text1.Text, "hola", "", , 1)
End Sub
El text1 contiene= "hola hola como como"

Y como veras al final de replace hay un 1 que quiere decir que remplazara el primero que encuentre...

PD: ¿Ves todo el code que tienes? :xD :xD


Título: Re: remplazar una sola palabra de un texto o archivo
Publicado por: ELGRANSOLRAC en 13 Agosto 2007, 23:04 pm
ok,gracias