Autor Tema: Extracción de elementos en Texto [Ayuda]  (Leído 4962 veces)

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

th3y

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +0/-0
  • Juaneco
    • Ver Perfil
    • Mutsurini Storage Host
Extracción de elementos en Texto [Ayuda]
« en: Julio 29, 2012, 04:28:20 pm »
Hola a todos, este seria mi primer post, eh seguido mucho tiempo esta pagina y pues necesito ayuda ahora D:

Como es posible extraer el código de una llave principal?

      "#DOTA_Item_Build_Core_Items"     'ITEMS NUCLEO
      {
         "item"      "item_vanguard"   'Vanguard
         "item"      "item_armlet"        'Mordiggan
         "item"      "item_basher"       'Cranium Basher
      }

Por ejemplo, tengo esto en un archivo de texto, quiero que en el formulario cuando cargue el archivo extraiga en un label:

ITEMS NUCLEO
y que me extraiga los nombres por código para después reemplazarlos por el verdadero nombre y/o por una imagen
item_vanguard
item_armlet
item_basher

Hay alguna forma de hacer esto? extraer los valores que solo se piden?
aa y por Consiguiente. Como podría guardar lo editado a texto, el problema principal es que no guarda con las tabulaciones y se vuelve un texto simple.. :)
Gracias a todos

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #1 en: Julio 29, 2012, 06:03:27 pm »
Cuando guardes, hazlo de forma secuencial, linea por linea, grupo por grupo y cuando necesites tabulaciones usa vbTab

Y para leer, siempre sera así? o puede hacer algo así

"#DOTA_Item_Build_Core_Items" { "item"      "item_vanguard" }

Si es así, podrias probar expresiones regulares, si no, leer cosas tipo llaves y de ahí leer lo que sea hasta que cierre la llave y armar un grupo :P

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #2 en: Julio 29, 2012, 06:13:49 pm »
hola está un poco confuso la explicacion pero entiendo que para manejar textos y buscar y reemplazar lo podrias hacer en notepad++ que es un editor exelente!!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

th3y

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +0/-0
  • Juaneco
    • Ver Perfil
    • Mutsurini Storage Host
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #3 en: Julio 30, 2012, 05:17:25 am »
Chicos en verdad,lo posteo en VB6 porque necesito ayuda de como extraer las palabras desde visual basic modificarlas y/o agregarlas..
es algo muy parecido a cuando haces modificaciones de archivos ini por vb6
asi que estoy buscandolo pero para llaves y las otras funciones que habia comentado xD

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #4 en: Julio 30, 2012, 09:51:55 am »
pregunta basica ¿quien genera ese archivo de texto? , parece ser como un formato de JSON.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #5 en: Julio 30, 2012, 09:03:34 pm »
si ami me late también que es un JSON, en cierto caso Coco me paso este enlace que esta muy bueno http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html

cualquier cosa tira mas información o pone el archivo completo, de donde lo sacas y si es muy cambiante o siempre asi de 3 items.

Saludos y bienvenido al foro.

th3y

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +0/-0
  • Juaneco
    • Ver Perfil
    • Mutsurini Storage Host
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #6 en: Julio 31, 2012, 04:22:40 am »
Este es el archivo completo:

"itembuilds/Lifestealer.txt"
{
   "Items"
   {
      "#DOTA_Item_Build_Starting_Items"
      {
         "item"      "item_tango"
         "item"      "item_flask"
         "item"      "item_stout_shield"
      }
      "#DOTA_Item_Build_Early_Game"
      {
         "item"      "item_boots"
      }
      "#DOTA_Item_Build_Core_Items"
      {
         "item"      "item_vanguard"
         "item"      "item_armlet"
         "item"      "item_basher"
      }
      "#DOTA_Item_Build_Luxury"
      {
         "item"      "item_monkey_king_bar"
         "item"      "item_blink"
         "item"      "item_assault"
         "item"      "item_greater_crit"
         "item"      "item_mjollnir"
         "item"      "item_desolator"
         "item"      "item_heart"
         "item"      "item_black_king_bar"
         "item"      "item_orb_of_venom"
      }
   }
}


-Veran que para leer siempre es linea por linea
-La cantidad de items en una rama pueden variar, ser mas de 1 o mas de 3..
-Quien genera este archivo es el mismo juego DOTA2
-Nunca eh oido de JSON lo vere, aunque no se como empezar con ello

PD: Me encanta este foro, siempre me ah ayudado cuando eh desarrollado algunas aplicaciones, estare publicando algunos source code saludos

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #7 en: Julio 31, 2012, 06:19:31 am »
si es JSON, es como un xml pero distinto en la sintaxis,  aunque tiene algunas ventajas sobre el xml.
busca entonces algo para parsear eso y listo, creo que en PSC hay algunas clases para hacerlo.

saludos.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #8 en: Agosto 01, 2012, 12:20:32 am »
Hola al parecer no es JSON no me funciono ni con el vb ni con json.parser.online, por lo que pude averiguar lo llaman KeyValues , la clase cuenta con funciones como estas, pero no encontre alguna clase que lo ya este echa para vb6, quizas se pueda armar algo en base a esta desarrolada en C

creo que una pista para seguir para armar la clase seria utilizar Dictionary de la referencia "Microsoft Scripting Runtime", creo que la lógica no seria muy diferente a la de la clase del JSON que te nombre en el link del post anterior.

Es un lindo desafió ya que si no me equivoco no esta echa en vb6, a ver quien se anima!!, sino se puede tirar la idea en elhacker.net que estos desafíos les encantan.

Saludos.

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #9 en: Agosto 02, 2012, 11:05:47 am »
Arme un parser para estos archivos basado en la especificacion que posteo Leandro, el  parser soporta texto con y sin comillas, escaping de caracteres y algunas "malformaciones" del documento, en el ejemplo pueden ver que el formato del documento esta "maltratado".



Descarga:
http://www.2shared.com/file/B7o_FLFx/KeyValues.html
« última modificación: Agosto 02, 2012, 11:31:27 am por cobein »

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Extracción de elementos en Texto [Ayuda]
« Respuesta #10 en: Agosto 02, 2012, 05:15:54 pm »
Buena cobein  ;), que cabeza envidiable, creo que esto es lo que th3y busca no?

Saludos