Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: th3y en Julio 29, 2012, 04:28:20 pm

Título: Extracción de elementos en Texto [Ayuda]
Publicado por: th3y 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
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: raul338 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
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: Bazooka 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!!
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: th3y 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
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: seba123neo en Julio 30, 2012, 09:51:55 am
pregunta basica ¿quien genera ese archivo de texto? , parece ser como un formato de JSON.
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: LeandroA 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.
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: th3y 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
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: seba123neo 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.
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: LeandroA 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 (http://json.parser.online.fr/), por lo que pude averiguar lo llaman KeyValues (https://developer.valvesoftware.com/wiki/KeyValues) , la clase cuenta con funciones como estas (http://docs.hl2wars.com/dev/library/srcbase.html#keyvalues), pero no encontre alguna clase que lo ya este echa para vb6, quizas se pueda armar algo en base a esta desarrolada en C  (http://pastebin.com/SUYWs5ij)

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 (http://foro.elhacker.net/programacion_vb-b50.0/) que estos desafíos les encantan.

Saludos.
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: cobein 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".

(http://i47.tinypic.com/2nh3ub9.png)

Descarga:
http://www.2shared.com/file/B7o_FLFx/KeyValues.html
Título: Re:Extracción de elementos en Texto [Ayuda]
Publicado por: LeandroA en Agosto 02, 2012, 05:15:54 pm
Buena cobein  ;), que cabeza envidiable, creo que esto es lo que th3y busca no?

Saludos