Manejo de variables en NCL+Lua
Estimada Lista, Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico? Saludos.
A forma mais fácil é você usar o módulo NCLua HTTP ( http://ncluahttp.manoelcampos.com) para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL. 2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
Manoel, lamento la demora en responder, gracias por su sugerencia. El modulo HTTP es muy util, pero no logro solucionar el problema que tengo. En el body NCL defino un media ws.lua que obtiene un array de datos desde un Web Service. Quiero desplegar cada elemento del array en medias diferentes, para lo que tengo un script output.lua. Pero cada media debe tomar un indice diferente del array. a los medias los defini de esta manera: <media id="item1" src="output.lua" descriptor="dsItem1"> <property name="contenido"/> <property name="id" value="1"/> </media> En el property "contenido" seteo el array obtenido de ws usando un link onEndAttributionSet y lo que necesito es tomar el valor del propery id desde lua para utilizar solamente el indice 1 del array en este caso. Hay alguna manera de obtener el valor de un property desde lua? Muchas gracias, Marcos El 15 de abril de 2013 15:50, Manoel Campos da Silva Filho < [email protected]> escribió:
A forma mais fácil é você usar o módulo NCLua HTTP ( http://ncluahttp.manoelcampos.com) para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL.
2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
A essa altura já deve ter resolvido. Bem, a única forma que consigo obter o valor de uma propriedade é no momento da atribuição do valor nela. Se vc tiver um tratador de eventos registrado, poderá acessar tais dados por meio da tabela passado à sua função tratadora. Seu código lua pode ser algo como: ---Função tratadora de eventos como --captura de alterações em atributos da mídia lua --@param evt Tabela contendo informações do evento gerado function handler(evt) for k, v in pairs(evt) do print(k, v) end end --registra a funcao tratamento de eventos event.register(handler) 2013/5/1 Marcos Juayek <[email protected]>
Manoel, lamento la demora en responder, gracias por su sugerencia. El modulo HTTP es muy util, pero no logro solucionar el problema que tengo.
En el body NCL defino un media ws.lua que obtiene un array de datos desde un Web Service. Quiero desplegar cada elemento del array en medias diferentes, para lo que tengo un script output.lua. Pero cada media debe tomar un indice diferente del array.
a los medias los defini de esta manera:
<media id="item1" src="output.lua" descriptor="dsItem1"> <property name="contenido"/> <property name="id" value="1"/> </media>
En el property "contenido" seteo el array obtenido de ws usando un link onEndAttributionSet y lo que necesito es tomar el valor del propery id desde lua para utilizar solamente el indice 1 del array en este caso.
Hay alguna manera de obtener el valor de un property desde lua?
Muchas gracias,
Marcos
El 15 de abril de 2013 15:50, Manoel Campos da Silva Filho < [email protected]> escribió:
A forma mais fácil é você usar o módulo NCLua HTTP (
http://ncluahttp.manoelcampos.com) para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL.
2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
Una duda más, estoy teniendo problemas para enviar un array (table lua) mediante el event.post El codigo es el siguiente: local evt = { class = 'ncl', type = 'attribution', name = 'result', value = array, } evt.action = 'stop' event.post(evt) Cuando ejecuto esto la aplicacion se cuelga. hay alguna manera de enviar una tabla lua por event.post? Gracias. Saludos, Marcos El 15 de abril de 2013 15:50, Manoel Campos da Silva Filho < [email protected]> escribió:
A forma mais fácil é você usar o módulo NCLua HTTP ( http://ncluahttp.manoelcampos.com) para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL.
2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
Provavelmente isso realmente não seja possível. Se pensarmos em definir esta tabela em um atributo de uma mídia, diretamente no código NCL, provavelmente o formatador NCL não saberá como tratar este valor por não ser um valor de tipo primitivo e ele não saber como tratar isso. As tabelas lua só quem interpreta elas é o interpretador lua. Uma opção é armazenar a tabela em uma representação string. O módulo table.save (disponível no lua-users) faz isso, pega uma tabela e gera uma string para ela, só que salva isto em disco. Dê uma olhada no código, é bem simples. Ao precisar recuperar tal string e gerar uma tabela novamente, o método loadstring pode fazer isso. 2013/5/1 Marcos Juayek <[email protected]>
Una duda más, estoy teniendo problemas para enviar un array (table lua) mediante el event.post
El codigo es el siguiente:
local evt = { class = 'ncl', type = 'attribution', name = 'result', value = array, } evt.action = 'stop' event.post(evt)
Cuando ejecuto esto la aplicacion se cuelga.
hay alguna manera de enviar una tabla lua por event.post?
Gracias.
Saludos,
Marcos
El 15 de abril de 2013 15:50, Manoel Campos da Silva Filho < [email protected]> escribió:
A forma mais fácil é você usar o módulo NCLua HTTP ( http://ncluahttp.manoelcampos.com)
para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL.
2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
Gracias Manoel, voy a probar eso que indicas. Como tu dices no es posible tratar tablas desde NCL. Saludos 2013/5/24 Manoel Campos da Silva Filho <[email protected]>
Provavelmente isso realmente não seja possível. Se pensarmos em definir esta tabela em um atributo de uma mídia, diretamente no código NCL, provavelmente o formatador NCL não saberá como tratar este valor por não ser um valor de tipo primitivo e ele não saber como tratar isso. As tabelas lua só quem interpreta elas é o interpretador lua. Uma opção é armazenar a tabela em uma representação string. O módulo table.save (disponível no lua-users) faz isso, pega uma tabela e gera uma string para ela, só que salva isto em disco. Dê uma olhada no código, é bem simples. Ao precisar recuperar tal string e gerar uma tabela novamente, o método loadstring pode fazer isso.
2013/5/1 Marcos Juayek <[email protected]>
Una duda más, estoy teniendo problemas para enviar un array (table lua) mediante el event.post
El codigo es el siguiente:
local evt = { class = 'ncl', type = 'attribution', name = 'result', value = array, } evt.action = 'stop' event.post(evt)
Cuando ejecuto esto la aplicacion se cuelga.
hay alguna manera de enviar una tabla lua por event.post?
Gracias.
Saludos,
Marcos
El 15 de abril de 2013 15:50, Manoel Campos da Silva Filho < [email protected]> escribió:
A forma mais fácil é você usar o módulo NCLua HTTP ( http://ncluahttp.manoelcampos.com)
para baixar a imagem indicada pela URL e depois usar o módulo canvas de NCLua para desenhar a imagem na tela. Desta forma, usará somente Lua, sem adicionar mídias NCL.
2013/4/15 Marcos Juayek <[email protected]>
Estimada Lista,
Estoy desarrollando una aplicación ginga en la que traigo datos de un Web Service, pero el tema es que traigo un array de datos y luego quiero desplegar esta información en diferentes medias (traigo url de imágenes por ejemplo). No se me ocurre la forma de manejar variables, tal que cada media vea solo un indice del array. Me explico?
Saludos.
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo [email protected] cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina Sitio web: http://comunidad.ginga.org.ar Wiki: http://wiki.ginga.org.ar
participants (2)
-
Manoel Campos da Silva Filho -
Marcos Juayek