Quote from Gustavo1973 on May 31, 2019, 5:32 amTengo una serie de Botones cuyos Labels son "[Zona0] , [Zona1],..." y asi sucesivamente
uso lo siguiente para obtener los datos, son obtenidos de una base de datos Mysql :
Loop 0 [LargoJson] [xxx]
CreateEmptyObject [Zona]
SetVar [Zona([xxx])] "[Arr([xxx])('Nombre')]"
AlertBox "" "[Zona([xxx])]" ""
If [xxx] == 0
exitloop
endif
endloopPartiendo del codigo anterior, el ALERTBOX me muestra correctamente los diferentes datos obtenidos
pero los botones no me muestran esos datos y segun tengo entendido :
[xxx] = 0 ............... [Zona([xxx])] = [Zona0]
[xxx] = 1 ............... [Zona([xxx])] = [Zona1]
Otro problema que tengo es que para poder salir del loop tengo que poner el codigo que se ve mas abajo, porque si no lo hago todo se tranca y no sigue leyendo los codigos que hay por debajo del loop
If [xxx] == 0
exitloop
endifY siguiendo con los problemas que me encuentro es que segun veo al ejecutar el LOOP es que lo normal seria que al correr el mismo el contador sea desde el valor "0" hasta el valor final pero sin embargo no es asi, el LOOP arranca en el valor mas alto para ir bajando hasta el valor "0"
Tengo una serie de Botones cuyos Labels son "[Zona0] , [Zona1],..." y asi sucesivamente
uso lo siguiente para obtener los datos, son obtenidos de una base de datos Mysql :
Loop 0 [LargoJson] [xxx]
CreateEmptyObject [Zona]
SetVar [Zona([xxx])] "[Arr([xxx])('Nombre')]"
AlertBox "" "[Zona([xxx])]" ""
If [xxx] == 0
exitloop
endif
endloop
Partiendo del codigo anterior, el ALERTBOX me muestra correctamente los diferentes datos obtenidos
pero los botones no me muestran esos datos y segun tengo entendido :
[xxx] = 0 ............... [Zona([xxx])] = [Zona0]
[xxx] = 1 ............... [Zona([xxx])] = [Zona1]
Otro problema que tengo es que para poder salir del loop tengo que poner el codigo que se ve mas abajo, porque si no lo hago todo se tranca y no sigue leyendo los codigos que hay por debajo del loop
If [xxx] == 0
exitloop
endif
Y siguiendo con los problemas que me encuentro es que segun veo al ejecutar el LOOP es que lo normal seria que al correr el mismo el contador sea desde el valor "0" hasta el valor final pero sin embargo no es asi, el LOOP arranca en el valor mas alto para ir bajando hasta el valor "0"

Quote from luishp on May 31, 2019, 9:35 amHola @gustavo1973,
Vamos por partes:
segun tengo entendido :
[xxx] = 0 ............... [Zona([xxx])] = [Zona0]No, esto no es así. Fíjate que tenemos abierto un hilo al respecto de las variables compuestas.
Ahora mismo, a falta de actualizar VisualNEO Web con una solución definitiva, deberías utilizar la subrutina que comparto en ese otro hilo en el ejemplo (corregida ayer):neoSetVar [Zona(xxx)] "[Arr([xxx])('Nombre')]"Por otro lado, los loops siguen contando de abajo a arriba, pero la ejecución no se detiene con cada AlertBox, lo cual significa que todos los AlertBox se muestran casi al mismo tiempo quedando el último por encima de los demás y por eso es el primero que ves. En lugar de un AlertBox utiliza ConsoleLog para mostrar los mensajes y verás que el orden aparece correctamente.
Saludos!
Hola @gustavo1973,
Vamos por partes:
segun tengo entendido :
[xxx] = 0 ............... [Zona([xxx])] = [Zona0]
No, esto no es así. Fíjate que tenemos abierto un hilo al respecto de las variables compuestas.
Ahora mismo, a falta de actualizar VisualNEO Web con una solución definitiva, deberías utilizar la subrutina que comparto en ese otro hilo en el ejemplo (corregida ayer):
neoSetVar [Zona(xxx)] "[Arr([xxx])('Nombre')]"
Por otro lado, los loops siguen contando de abajo a arriba, pero la ejecución no se detiene con cada AlertBox, lo cual significa que todos los AlertBox se muestran casi al mismo tiempo quedando el último por encima de los demás y por eso es el primero que ves. En lugar de un AlertBox utiliza ConsoleLog para mostrar los mensajes y verás que el orden aparece correctamente.
Saludos!