Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Xephiro en 28 Agosto 2006, 13:27 pm



Título: Ayuda con mi projecto ...PLZZZ
Publicado por: Xephiro en 28 Agosto 2006, 13:27 pm
Bueno miren quiero hacer un programa que me pesque solo una parte de ciertos archivhos de texto
Tego varios archivos de texto con contenidos como el siguiente
Código:
<player name="personaje" id="id del jugador" account="cuenta" ......
Bueno lo que quiero es saber si hay alguna forma de hacer que solo me pesque lo que es "id del jugador" y que se le pueda modificar ...  :huh: :huh: :huh:


Título: Re: Ayuda con mi projecto ...PLZZZ
Publicado por: Zeroql en 28 Agosto 2006, 21:56 pm
usa los archivos .INI en este foro hay mucha info acerca de eso


Título: Re: Ayuda con mi projecto ...PLZZZ
Publicado por: NYlOn en 30 Agosto 2006, 01:25 am
Suponiendo que en un Text1 esta la info esa q mostraste:
Código:
    Dim p1 As Integer, p2 As Integer, ID As String, Todo As String, Antes As String, Despues As String
    Todo = Text1 'text1 va a contener la linea <player name="...
    p1 = InStr(1, Todo, "id=", vbTextCompare) 'buscamos desde el principio hasta que encuentre ID= (esto nos devuelve la posicion de ID=)
    p2 = InStr(p1 + 4, Todo, """", vbTextCompare)
    'el +4 y -4 es porque ID=" ocupa 4 epacios, entonces empezamos a guardar el nombre sin contar esos espacios
    ID = Mid(Todo, p1 + 4, p2 - p1 - 4) 'la variable ID almacena el ID obtenido
   
    'Si lo queres cambiar podes poner:
    Antes = Mid(Todo, 1, p1 + 3) 'guardas lo que esta antes de ID
    Despues = Mid(Todo, p2) 'lo que esta despues...
    ID = "NYlOn =)" 'cambias ID
    Todo = Antes & ID & Despues 'metes todo junto en una variable
    MsgBox Todo 'aca lo mostras =P

Por si no sabes, la funcion InStr devuelve la posicion del texto que queres buscar. Por ejemplo:
Código:
Texto = "Hola como va"
MsgBox InStr(1, Texto, "como") 'me va a devolver 6


Saludos, espero que te sirva.-


Título: Re: Ayuda con mi projecto ...PLZZZ
Publicado por: sircid en 3 Septiembre 2006, 17:17 pm
Otro code, es mas o menos lo mismo que NyLoN pero NyLoN le dió mas vueltas ya que creo que no encontraba como buscar las comillas.

Código:
Private Sub Command1_Click()
Dim id As String

n = InStr(1, Text1.Text, "id=" & Chr(34), vbBinaryCompare)

' buscará en el text1 el texto " id=" "

m = InStr(n + 4, Text1.Text, Chr(34), vbBinaryCompare)
' A partir de " id=" " buscará la siguiente " (A n se le suma 4 porque es la longitud de id="). n+4 es la posición donde empieza la id.

id = Mid(Text1.Text, n + 4, m - (n + 4))
'Se escojerá la id, como hemos dicho antes n+4 es la posición donde empieza la id y m - (n+4) nos dará la longitud ya que m es la posición de la siguiente coma.

MsgBox id
End Sub

Supongamos que Text1.Text = "<player name="personaje" id="id del jugador" account="cuenta">"


Título: Re: Ayuda con mi projecto ...PLZZZ
Publicado por: NYlOn en 3 Septiembre 2006, 19:24 pm
Es lo mismo :S
Lo que hace mas largo mi codigo es que se puede cambiar el contenido de ID y mantener lo que esta adelante y atras...

Y para buscar comillas, ademas de chr(34) se puede usar """", como hice arriva  ;)

Saludos.-


Título: Re: Ayuda con mi projecto ...PLZZZ
Publicado por: Mr.Chispa en 4 Septiembre 2006, 04:58 am
hola, estoy haciendo un juego y ya pase por lo mismo, termine usando una base de datos y levantandola con un Data, me salvo la vida y espero q te salve la tuya ;D
saludos.