Autor
|
Tema: Ayuda con mi projecto ...PLZZZ (Leído 1,662 veces)
|
Xephiro
|
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 <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 ...
|
|
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
usa los archivos .INI en este foro hay mucha info acerca de eso
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Suponiendo que en un Text1 esta la info esa q mostraste: 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: Texto = "Hola como va" MsgBox InStr(1, Texto, "como") 'me va a devolver 6
Saludos, espero que te sirva.-
|
|
|
En línea
|
|
|
|
sircid
Desconectado
Mensajes: 107
¡Nacido para ******te!
|
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. 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">"
|
|
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
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.-
|
|
|
En línea
|
|
|
|
Mr.Chispa
Desconectado
Mensajes: 269
|
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 saludos.
|
|
|
En línea
|
|
|
|
|
|