Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Petro_Boca en 2 Agosto 2010, 20:36 pm



Título: Replace que borra todo..
Publicado por: Petro_Boca en 2 Agosto 2010, 20:36 pm
Hola!

sissi, yo de nuevo xd!  ;D


miren este codigo :

Código:
Private Sub Command1_Click()
Dim wdir As String
wdir = Environ("WINDIR")
asdf = wdir & "\system32\LAURASETEVELATANGA.TXT"

MsgBox asdf

Dim Data As String
Open asdf For Input As #1
   Line Input #1, Data
Close #1
Data = Replace(Data, Text1.Text, " ")

Open asdf For Output As #1
   Print #1, Data
Close






End Sub


weno lo q se suppone q hace es :

abrir el archivo
LAURASETEVELATANGA.TXT
, y reemplazar Text1.Text (osea, remplaza la palabra del archivo q este en el text1)

PERO!

para probarlo hice :

en el LAURASETEVELATANGA.TXT escribi esto :

a
b
asdfg

gfs

y en el Text1.Text escribi

a

osea, para q borre la "A"...

PERO ME BORRA TODO :@

alguien sabe porq me borra todo :/ ?


Título: Re: Replace que borra todo..
Publicado por: Petro_Boca en 2 Agosto 2010, 20:41 pm
ACLARO!

YA AGREGE ESTO

Código:
Dim asdf As String


Título: Re: Replace que borra todo..
Publicado por: fary en 2 Agosto 2010, 20:51 pm

Vamos a ver.... deja de volvernos locos ya!!!!!

aqui mismo preguntaste eso y te lo respondieron!!!

http://foro.elhacker.net/programacion_visual_basic/reemplazar_texto-t301192.0.html

salu2!


Título: Re: Replace que borra todo..
Publicado por: Petro_Boca en 2 Agosto 2010, 20:53 pm

Vamos a ver.... deja de volvernos locos ya!!!!!

aqui mismo preguntaste eso y te lo respondieron!!!

http://foro.elhacker.net/programacion_visual_basic/reemplazar_texto-t301192.0.html

salu2!

esq no entiendo este code  ;D ;D ;D ;D ;D

Código
  1.  
  2. Private Sub Form_Load()
  3.    '   //  El criterio True es para hacer que identifique Mayusculas de minusculas es decir por bytes!¡.
  4.    '   //  Buscamos desde la 2da coinsidensia, (ignora la la 1ra), y solo buscamos una sola coinsidencia!¡.
  5.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1, 2
  6.    '   //  Buscamos la primera coinsidencia y reemplazamos, las demas las ignoramos.
  7.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1
  8.    '   //  Buscamos TODAS las coinsidencias y las reemplazamos TODAS sin exepcion alguna!¡.
  9.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", True, 1
  10.  
  11.    '   //  El criterio False es para hacer que identifique texto en minusculas con mayusculas es decir {hola=HolA}!¡.
  12.    '   //  Buscamos desde la 2da coinsidensia, (ignora la la 1ra), y solo buscamos una sola coinsidencia!¡.
  13.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1, 2
  14.    '   //  Buscamos la primera coinsidencia y reemplazamos, las demas las ignoramos.
  15.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1
  16.    '   //  Buscamos TODAS las coinsidencias y las reemplazamos TODAS sin exepcion alguna!¡.
  17.    ReemplaceInThisFile "c:\archivo jalado de los pelos.txt", "Black", "ZeroX", False, 1
  18. End Sub
  19.  
  20. 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)
  21. Dim vData               As String
  22. Dim vDataTmp            As String
  23. Dim ff                  As Integer
  24. Dim PosAux              As Long
  25. Dim Aux                 As Long
  26.  
  27.    If Len(ToFind) = 0 Then Exit Function
  28.    If Dir(StrPath, vbArchive) = "" Then Exit Function
  29.    ff = FreeFile
  30.    Open StrPath For Binary As ff
  31.        vData = Space(LOF(ff))
  32.        Get ff, , vData
  33.    Close ff
  34.    Do
  35.        Do
  36.            PosAux = InStr(PosAux + 1, vData, ToFind, Abs(Not ExactMatch))
  37.            Desde = Desde - 1
  38.        Loop Until Desde <= 0 Or PosAux <= 0
  39.        If PosAux <= 0 Then Exit Do
  40.        vDataTmp = Mid(vData, PosAux + 1)
  41.        Mid(vData, PosAux, Len(ReplaceTo)) = ReplaceTo: vData = vData & String(Len(ReplaceTo), " ")
  42.        Mid(vData, PosAux + Len(ReplaceTo), Len(vDataTmp)) = vDataTmp
  43.        Debug.Print vData, vDataTmp
  44.  
  45.        If Not Coincidencias = -1 Then Coincidencias = Coincidencias - 1
  46.    Loop Until Coincidencias <= 0 Or PosAux <= 0
  47.  
  48.    vData = Mid(vData, 1, Len(vData) - Len(ReplaceTo))
  49.    Kill StrPath
  50.    ff = FreeFile
  51.    Open StrPath For Binary As ff
  52.        Put ff, , vData
  53.    Close ff
  54.  
  55. End Function
  56.  
  57.  


Título: Re: Replace que borra todo..
Publicado por: Petro_Boca en 2 Agosto 2010, 20:59 pm

Vamos a ver.... deja de volvernos locos ya!!!!!

aqui mismo preguntaste eso y te lo respondieron!!!

http://foro.elhacker.net/programacion_visual_basic/reemplazar_texto-t301192.0.html

salu2!

con respecto a este code :

Código
  1. Data = Replace$(Data, Text1.Text, "funciona", , , vbTextCompare)

ME BORRA TODO Y LO REEMPLAZA POR LA PALABRA "funciona"


Título: Re: Replace que borra todo..
Publicado por: BlackZeroX en 2 Agosto 2010, 21:36 pm

El codigo que te he resuelto anteriormente es lo mismo que hace el Replace(), solo que reaplce te reemplaza TODO, el mio le das la opcion desde X posicion encontrada a una longitud "N"...

Pero bueno!¡.

Haber cuando aprenden a Depurar el código e identificar qué no es el Replace!¡.

Código
  1.  
  2. Private Sub Form_Load()
  3. Dim Data As String
  4. Data = "Haber cuando aprendes a Depurar tu Propio Codigo Loser"
  5. MsgBox Data
  6. Data = Replace$(Data, "Loser", "petro_boca", , , vbTextCompare)
  7. MsgBox Data
  8. End Sub
  9.  
  10.  

P.D.: Revisa los Open hay se encuentra el gran error... y no le he-ches la culpa a algo qué no es, sin haber antes depurado tu código como es debido ( Es la misma actitud de uno de mis ex compañeros de trabajo... era el líder del proyecto para gracia mía xS ) !¡.

Dulces Lunas!¡.