User Tag List

Resultados 1 al 8 de 8

Tema: Alguien usaria esto en sus programas??

  1. #1

    Fecha de ingreso
    Apr 2003
    Ubicación
    Salamanca
    Mensajes
    5,347
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    13
    Agradecer Thanks Received 
    35
    Thanked in
    Agradecido 29 veces en [ARG:2 UNDEFINED] posts

    Alguien usaria esto en sus programas??

    Pues la pregunta la rehago de la siguiente forma:

    ¿Creeis que es o seria de utilidad una especie de biblioteca de funciones para manejar lenguajes de marcas tipo XML en GP32??

    Ya le comente el tema una vez a Chui y ahora que tengo casi terminada una version preliminar (la he hecho por hobby) me gustaria saber si seria realmente util para alguien. Si alguien la considerara util me plantearia publicarla, si no no tiene sentido hacerlo.

    Tengo que decir que he seguido una politica bastante "estraña" a la hora de programarla, he hecho una "simulacion" de COM. Cuando digo extraña me refiero a lo siguiente, un ejemplo de una funcion que genera un documento XML utilizandola:

    int HacerDoc (void)
    {
    int i;
    char text[20];
    IMLProcessInstruction ppi=NULL, ppi_tmp=NULL;
    IMLElement pe=NULL, pe2=NULL, pe_tmp=NULL;
    IMLAttribute pa=NULL;
    IMLText pt=NULL;
    IMLNode pn=NULL,pn1=NULL;

    /*Creamos un documento ML*/
    DocumentFromCOM (IID_IMLDocument,&doc);

    /*Creamos una instruccion de proceso y le damos nombre*/
    doc->CreateProcessInstruction(doc,IID_IMLProcessInstru ction,&ppi);
    ppi->SetName(ppi,"xml");
    /*Creamos un atributo, le damos nombre, le añadimos un dato y se lo añadimos a la instruccion de proceso*/
    doc->CreateAttribute(doc,IID_IMLAttribute,&pa);
    pa->SetName(pa,"version");
    pa->SetData(pa,strlen("1.0")*sizeof(char),(void*)"1.0 ");
    ppi->SetAttribute(ppi,pa);
    /*Ahora añadimos la instruccion de proceso al documento*/
    doc->AppendProcessInstruction(doc,ppi,&ppi_tmp);
    /*Liberamos las interfaces para poder utilizarlas en otras operaciones*/
    if (pa) pa->Release(pa);
    if (ppi!=NULL) ppi->Release(ppi);
    if (ppi_tmp!=NULL) ppi_tmp->Release(ppi_tmp);

    doc->CreateText(doc,IID_IMLText,&pt);
    pt->SetData(pt,strlen("\n")*sizeof(char),(void*)"\n") ;
    pt->QueryInterface(pt,IID_IMLNode,(void **)&pn);

    doc->AppendChild(doc,pn,&pn1);
    if (pn1) pn1->Release(pn1);

    /*Creamos un elemento y le damos nombre*/
    doc->CreateElement(doc,IID_IMLElement,&pe);
    pe->SetName(pe,"raiz");
    /*Creamos un atributo, le damos nombre, le añadimos un dato y se lo añadimos al elemento*/
    doc->CreateAttribute(doc,IID_IMLAttribute,&pa);
    pa->SetName(pa,"autor");
    pa->SetData(pa,strlen("Mortimor"),"Mortimor");
    pe->SetAttribute(pe,pa);
    pa->Release(pa);

    pt->SetData(pt,strlen("\n ")*sizeof(char),(void*)"\n ");

    for (i=0;i<5;i++)
    {
    pe->AppendChild(pe,pn,&pn1);
    if (pn1) pn1->Release(pn1);

    doc->CreateElement(doc,IID_IMLElement,&pe2);
    sprintf(text,"subelemento%d",i);
    pe2->SetName(pe2,text);
    pe->AppendElement(pe,pe2,&pe_tmp);
    pe2->Release(pe2);
    pe_tmp->Release(pe_tmp);
    }

    pt->SetData(pt,strlen("\n")*sizeof(char),(void*)"\n") ;
    pe->AppendChild(pe,pn,&pn1);
    if (pn1) pn1->Release(pn1);
    if (pn) pn->Release(pn);
    if (pt) pt->Release(pt);

    /*Ahora añadimos elemento al documento*/
    doc->AppendElement(doc,pe,&pe_tmp);
    /*Liberamos las interfaces para poder utilizarlas en otras operaciones*/
    pe->Release(pe);
    pe_tmp->Release(pe_tmp);

    return 0;
    }

    Por cierto: doc es una interfaz IMLDocument.

    Por favor, que las criticas sean constructivas. Si a alguien le parece una estupidez hacer algo como esto... decirlo, que ****.
    Última edición por mortimor; 13/11/2003 a las 20:08

  2. #2

    Fecha de ingreso
    Sep 2001
    Mensajes
    23,069
    Mencionado
    409 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    98
    Agradecer Thanks Received 
    1,201
    Thanked in
    Agradecido 504 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    mortimor, cualquier tipo de aplicaciones de esta indole son positivas para la GP32, lo mires por donde lo mires. Si es de código abierto, mejor que mejor, ya que posibilitas que alguien pueda aplicarlo a futuras aplicaciones.

    Un saludo
    Anarchy

  3. #3

    Fecha de ingreso
    Jun 2003
    Ubicación
    Madrid
    Mensajes
    1,261
    Mencionado
    4 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    19
    Thanked in
    Agradecido 11 veces en [ARG:2 UNDEFINED] posts

    C++?

    Parece codigo en C++, si puedes pasalo a C porque a muchos nos da problemas el C++.

    Buen trabajo, quizas sea util en Vorton para los mapas de cada nivel.

  4. #4

    Fecha de ingreso
    Apr 2003
    Ubicación
    Salamanca
    Mensajes
    5,347
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    13
    Agradecer Thanks Received 
    35
    Thanked in
    Agradecido 29 veces en [ARG:2 UNDEFINED] posts
    Esta en C, solo que he "simulado" OO de una forma que creo eficiente. En cierto modo, mas que una biblioteca de funciones es un componente COM. Se carga igual que estos componentes y se utiliza igual, todo mediante interfaces (los objetos controlan su creacion y su destruccion; tambien la generacion y liberacion de la memoria dinamica, la cual se usa intensivamente); muy natural para aquellos que hayan utilizado el MSXML (de hecho las interfaces son casi calcadas, creo que se podrian utilizar programas hechos para MSXML sin muchos cambios cuando lo termine).

    De hecho tengo pensado ampliar la simulacion de OO y COM para que tenga un colector de basura para objetos no liberados.

  5. #5

    Fecha de ingreso
    Nov 2003
    Ubicación
    Ta'uri
    Mensajes
    29
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Ultimamente se ha puesto de moda guardar los datos, la configuracion del juego y esas cosas en XML. Asi que la libreria para gp32 util si que es

  6. #6

    Fecha de ingreso
    Apr 2003
    Ubicación
    Salamanca
    Mensajes
    5,347
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    13
    Agradecer Thanks Received 
    35
    Thanked in
    Agradecido 29 veces en [ARG:2 UNDEFINED] posts
    Bueno, como los foros van muy rapido y me temo que este hilo no lo habra visto mucha gente, pongo este post para actualizar.

    Reitero mi pregunta: ¿alguien cree que este "proyecto" le seria de utilidad a alguien?

  7. #7

    Fecha de ingreso
    Oct 2003
    Ubicación
    Silent Hill
    Mensajes
    712
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Yo no tengo ni idea de XML ni de sus aplicaciones, pero me parece interesante. Se podría utilizar aunque sea para guardar los juegos o algo así (savegames) ?
    Lo digo por decir algo.
    Hay 10 tipos de personas: las que saben binario y las que no.

  8. #8

    Fecha de ingreso
    Aug 2003
    Ubicación
    Santander
    Mensajes
    535
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Hombre, si no es muy difícil de usar y pones algún tutorial, siempre se animará alguien (yo me lo pensaré después de probar mis capacidades para hacer juegos) pero vamos, no entiendo gran cosa de los COM y de OO no tengo ni idea por eso digo lo de "si no es muy difícil".

    De todos modos, tú hazlo, que cuantas más cosas se tengan para programar, mejores juegos saldrán

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •