Reemplazar Texto

Iniciado por Petro_Boca, 2 Agosto 2010, 02:18 AM

0 Miembros y 2 Visitantes están viendo este tema.

Petro_Boca

Hola!

miren, necesito q un boton reemplace el texto que ahi adentro de un TXT (C:\EJEMPLO.TXT) se encuentra en el Text1.Text  , por un " " (espacio)

el codigo q uso es este, pero ME BORRA TODO EL TEXTO ¬¬

Private Sub Command2_Click()
Dim Data As String
Open ("C:\ejemplo.txt") For Input As #1
  Line Input #1, Data
Close #1
Data = Replace(Data, "Text1.Text", " ")
Open ("C:\ejemplo.txt") For Output As #1
  Print #1, Data
Close
End Sub


OSEAAA, nose cmo explicarlo xD!

yo tengo un TXT que dice

HOL


y quiero teemplazar hol por lo que ahi en  Text1.Text

a eso me refiero ^^

Psyke1

#1
Código (vb) [Seleccionar]
Data = Replace$(Data, Text1.Text, " ")
Prueba a poner el Text1.Txt sin comillas...

DoEvents¡! :P

Petro_Boca


Petro_Boca

OSEAAA, nose cmo explicarlo xD!

yo tengo un TXT que dice

HOL


y quiero reemplazar HOL por lo que tengo en el  Text1.Text

a eso me refiero ^^

Psyke1

Cita de: petro_boca en  2 Agosto 2010, 02:30 AM
OSEAAA, nose cmo explicarlo xD!

yo tengo un TXT que dice

HOL


y quiero reemplazar HOL por lo que tengo en el  Text1.Text

a eso me refiero ^^
Se leer... :¬¬
Pusiste el texto a buscar y a rempazar al reves...  ;)
Código (vb) [Seleccionar]

Private Sub Command2_Click()
Dim Data As String
Open ("C:\ejemplo.txt") For Input As #1
  Line Input #1, Data
Close #1
Data = Replace$(Data, "HOL", Text1.Text, , , vbTextCompare) 'Esto es para que no haga diferencias entre Mayusculas y minusculas...
Open ("C:\ejemplo.txt") For Output As #1
  Print #1, Data
Close
End Sub

DoEvents¡! :P

Petro_Boca

Cita de: *PsYkE1* en  2 Agosto 2010, 02:39 AM
Cita de: petro_boca en  2 Agosto 2010, 02:30 AM
OSEAAA, nose cmo explicarlo xD!

yo tengo un TXT que dice

HOL


y quiero reemplazar HOL por lo que tengo en el  Text1.Text

a eso me refiero ^^
Se leer... :¬¬
Pusiste el texto a buscar y a rempazar al reves...  ;)
Código (vb) [Seleccionar]

Private Sub Command2_Click()
Dim Data As String
Open ("C:\ejemplo.txt") For Input As #1
  Line Input #1, Data
Close #1
Data = Replace$(Data, "HOL", Text1.Text, , , vbTextCompare) 'Esto es para que no haga diferencias entre Mayusculas y minusculas...
Open ("C:\ejemplo.txt") For Output As #1
  Print #1, Data
Close
End Sub

DoEvents¡! :P


adentro del ejemplo.txt tengo este texto:

Hol

entonces abro el EXE, escribo en Text1.Text "Hol" (para q busque la palabra Hol y la reemplaze por un espacio...

pero no hace nada O.O

Psyke1

#6
Bufff...
Entonces deberias explicarte mejor, te entendi mal... :silbar:

Es asi:
Código (vb) [Seleccionar]

Data = Replace$(Data, Text1.Text, "funciona", , , vbTextCompare)


DoEvents¡! :P

Petro_Boca

Cita de: *PsYkE1* en  2 Agosto 2010, 03:27 AM
Bufff...
Entonces deberias explicarte mejor, te entendi mal... :silbar:

Es asi:
Código (vb) [Seleccionar]

Data = Replace$(Data, Text1.Text, "funciona", , , vbTextCompare)


DoEvents¡! :P

me sige borrando todo :'(

BlackZeroX

#8
.
Aquí te traigo un regalo, aun es optimiza-ble!¡.

JOJOJO, Feliz Vanidad



aaa chinga llegue tarde  :xD :xD :xD

Código (vb) [Seleccionar]


Private Sub Form_Load()
   '   //  El criterio True es para hacer que identifique Mayusculas de minusculas es decir por bytes!¡.
   '   //  Buscamos desde la 2da coinsidensia, (ignora la la 1ra), y solo buscamos una sola coinsidencia!¡.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1, 2
   '   //  Buscamos la primera coinsidencia y reemplazamos, las demas las ignoramos.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1
   '   //  Buscamos TODAS las coinsidencias y las reemplazamos TODAS sin exepcion alguna!¡.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1
   
   '   //  El criterio False es para hacer que identifique texto en minusculas con mayusculas es decir {hola=HolA}!¡.
   '   //  Buscamos desde la 2da coinsidensia, (ignora la la 1ra), y solo buscamos una sola coinsidencia!¡.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1, 2
   '   //  Buscamos la primera coinsidencia y reemplazamos, las demas las ignoramos.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1
   '   //  Buscamos TODAS las coinsidencias y las reemplazamos TODAS sin exepcion alguna!¡.
   ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1
End Sub

Public Function ReemplaceInThisFile(ByVal StrPath As String, ByVal ToFind As String, ByVal ReplaceTo As String, Optional ByVal ExactMatch As Boolean = True, Optional ByVal Coincidencias As Long = -1, Optional ByVal Desde As Long = 0)
Dim vData               As String
Dim vDataTmp            As String
Dim ff                  As Integer
Dim PosAux              As Long
Dim Aux                 As Long

    If Len(ToFind) = 0 Then Exit Function
    If Dir(StrPath, vbArchive) = "" Then Exit Function
    ff = FreeFile
    Open StrPath For Binary As ff
        vData = Space(LOF(ff))
        Get ff, , vData
    Close ff
    Do
        Do
            PosAux = InStr(PosAux + 1, vData, ToFind, Abs(Not ExactMatch))
            Desde = Desde - 1
        Loop Until Desde <= 0 Or PosAux <= 0
        If PosAux <= 0 Then Exit Do
        vDataTmp = Mid(vData, PosAux + 1)
        Mid(vData, PosAux, Len(ReplaceTo)) = ReplaceTo: vData = vData & String(Len(ReplaceTo), " ")
        Mid(vData, PosAux + Len(ReplaceTo), Len(vDataTmp)) = vDataTmp
        Debug.Print vData, vDataTmp
       
        If Not Coincidencias = -1 Then Coincidencias = Coincidencias - 1
    Loop Until Coincidencias <= 0 Or PosAux <= 0
   
    vData = Mid(vData, 1, Len(vData) - Len(ReplaceTo))
    Kill StrPath
    ff = FreeFile
    Open StrPath For Binary As ff
        Put ff, , vData
    Close ff

End Function



Dulces Lunas!¡.
The Dark Shadow is my passion.

Psyke1

Cita de: petro_boca en  2 Agosto 2010, 05:40 AM
Cita de: *PsYkE1* en  2 Agosto 2010, 03:27 AM
Bufff...
Entonces deberias explicarte mejor, te entendi mal... :silbar:

Es asi:
Código (vb) [Seleccionar]

Data = Replace$(Data, Text1.Text, "funciona", , , vbTextCompare)


DoEvents¡! :P

me sige borrando todo :'(
Algo tienes que estar haciendo mal, lo pruebo y me funciona sin problemas... :silbar:
Puedes utilizar el ejemplo de mi amigo BlackZer0X que te lo hace todo ya... :)

DoEvents¡! :P