remplazar una sola palabra de un texto o archivo

Iniciado por ELGRANSOLRAC, 13 Agosto 2007, 17:10 PM

0 Miembros y 1 Visitante están viendo este tema.

ELGRANSOLRAC

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

~~


ELGRANSOLRAC

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:


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








Freeze.


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