Quote from Gaev on May 17, 2019, 1:25 am@Gustavo1973:
it would be nice to be able to assign keys to the entered buttons as we do in VISUAL NEO WIN
You need to specify something like ...
SetObjectAttribute "idOfYourButtonGoesHere" "accessKey" "h"... now, when you press ALT+h, the click event of the Button is invoked.
Note:
1) When I placed this command in the project's start-up section ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- also NOT when I returned to Page 12) When I placed this command in the page-enter section of Page 1 ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- and worked again when I returned to Page 13) When I placed this command in the page-enter section of Page 1 and Page 2 ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- and worked again when I returned to Page 1So, it looks like you need to enter such commands in the page-enter section of the page where the button is ... and it only works when you are on that Page.
@Gustavo1973:
it would be nice to be able to assign keys to the entered buttons as we do in VISUAL NEO WIN
You need to specify something like ...
SetObjectAttribute "idOfYourButtonGoesHere" "accessKey" "h"
... now, when you press ALT+h, the click event of the Button is invoked.
Note:
1) When I placed this command in the project's start-up section ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- also NOT when I returned to Page 1
2) When I placed this command in the page-enter section of Page 1 ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- and worked again when I returned to Page 1
3) When I placed this command in the page-enter section of Page 1 and Page 2 ...
- it worked for a button on Page 1
- but NOT when I was on Page 2
- and worked again when I returned to Page 1
So, it looks like you need to enter such commands in the page-enter section of the page where the button is ... and it only works when you are on that Page.

Quote from luishp on May 17, 2019, 7:00 am@gustavo1973 solo en el caso de que @gaev no haya resuelto tus dudas:
Existe alguna manera de definir una variable tipo GLOBAL como en VisualNeoWin para poder usarla en toda la aplicacion?
Cualquier variable que definas fuera de una subrutina es global.
Otro problema que tengo es que necesito borrar la variable en la cual el usuario puso la clave de acceso en caso de que no sea la correcta para que lo haga nuevamente y tambien hacer foco en el campo de ingreso numerico, todo esto desde la subrutina y no me permite hacerlo.
No entiendo lo de "no me permite hacerlo". Puedes utilizar
SetVar [mivar] ""para dejar el valor vacío o bienDeleteVar [mivar]para eliminar la variable de memoria.Respecto a la tecla de acceso rápido, además de la solución aportada por Gaev, puedes utilizar la acción OnKeyDown.
@gustavo1973 solo en el caso de que @gaev no haya resuelto tus dudas:
Existe alguna manera de definir una variable tipo GLOBAL como en VisualNeoWin para poder usarla en toda la aplicacion?
Cualquier variable que definas fuera de una subrutina es global.
Otro problema que tengo es que necesito borrar la variable en la cual el usuario puso la clave de acceso en caso de que no sea la correcta para que lo haga nuevamente y tambien hacer foco en el campo de ingreso numerico, todo esto desde la subrutina y no me permite hacerlo.
No entiendo lo de "no me permite hacerlo". Puedes utilizar SetVar [mivar] "" para dejar el valor vacío o bien DeleteVar [mivar] para eliminar la variable de memoria.
Respecto a la tecla de acceso rápido, además de la solución aportada por Gaev, puedes utilizar la acción OnKeyDown.
Quote from Gustavo1973 on May 17, 2019, 3:49 pmQuizás no me exprese bien,
Mirando el ejemplo publicado por ti de acceso basico a una base de datos, hay una subrutina que recibe los datos desde la base de datos y dentro de esta subrutina existe una variable que se declara como [TotalRecorders] que almacena la cantidad de registros devueltos en la consulta.
Ahora bien, si intento usar el valor de esa variable en alguna parte fuera de la subrutina me devuelve un valor vacio, que no tiene nada almacenado.
Con respecto a la solucion que brindo Gaev para asignar una tecla a un boton dentro de la aplicacion no me funciono, voy a intentar hacerlo mediante la opcion brindada por ti
Maybe I do not express myself well,
Looking at the example published by you of basic access to a database,
there is a subroutine that receives the data from the database
and within this subroutine there is a variable that is declared as [TotalRecorders]
that stores The number of records returned in the query.
Now, if I try to use the value of that variable somewhere outside the subroutine,
it returns an empty value, which has nothing stored.
With respect to the solution that Gaev gave to assign a key to a button inside the application,
it did not work,
I will try to do it through the option provided by you
Quizás no me exprese bien,
Mirando el ejemplo publicado por ti de acceso basico a una base de datos, hay una subrutina que recibe los datos desde la base de datos y dentro de esta subrutina existe una variable que se declara como [TotalRecorders] que almacena la cantidad de registros devueltos en la consulta.
Ahora bien, si intento usar el valor de esa variable en alguna parte fuera de la subrutina me devuelve un valor vacio, que no tiene nada almacenado.
Con respecto a la solucion que brindo Gaev para asignar una tecla a un boton dentro de la aplicacion no me funciono, voy a intentar hacerlo mediante la opcion brindada por ti
Maybe I do not express myself well,
Looking at the example published by you of basic access to a database,
there is a subroutine that receives the data from the database
and within this subroutine there is a variable that is declared as [TotalRecorders]
that stores The number of records returned in the query.
Now, if I try to use the value of that variable somewhere outside the subroutine,
it returns an empty value, which has nothing stored.
With respect to the solution that Gaev gave to assign a key to a button inside the application,
it did not work,
I will try to do it through the option provided by you

Quote from luishp on May 17, 2019, 5:07 pm@gustavo1973,
Ahora bien, si intento usar el valor de esa variable en alguna parte fuera de la subrutina me devuelve un valor vacio, que no tiene nada almacenado.
Fíjate que, en la parte inferior de la aplicación, se utiliza precisamente esa variable [TotalRecords] donde pone:
"Current record: 0 - Total Records in DataBase: 4". El 4 es el valor de [TotalRecords]. ¿Estás seguro que la estás escribiendo correctamente?.Por otro lado la solución de @gaev funciona correctamente pero fíjate que primero debes asegurarte de que tu aplicación tiene el foco (haciendo click sobre ella en cualquier parte) y que en FireFox funciona de manera algo diferente (Alt-shift-key en lugar de Alt-key como en el resto de navegadores). Adjunto ejemplo donde se utilizan ambas técnicas.
Un saludo.
Ahora bien, si intento usar el valor de esa variable en alguna parte fuera de la subrutina me devuelve un valor vacio, que no tiene nada almacenado.
Fíjate que, en la parte inferior de la aplicación, se utiliza precisamente esa variable [TotalRecords] donde pone:
"Current record: 0 - Total Records in DataBase: 4". El 4 es el valor de [TotalRecords]. ¿Estás seguro que la estás escribiendo correctamente?.
Por otro lado la solución de @gaev funciona correctamente pero fíjate que primero debes asegurarte de que tu aplicación tiene el foco (haciendo click sobre ella en cualquier parte) y que en FireFox funciona de manera algo diferente (Alt-shift-key en lugar de Alt-key como en el resto de navegadores). Adjunto ejemplo donde se utilizan ambas técnicas.
Un saludo.
Uploaded files:Quote from Gustavo1973 on May 18, 2019, 4:09 pmBueno , Lamentablemente no doy con la solucion
tengo problemas en la subrutina que recibe los datos que dependiendo del valor que recibe desde la consulta es su comportamiento, yo necesito que si la clave ingresada es correcta me envie a una pagina determinada dentro de la aplicacion pero que si es incorrecta me permita ingresar la clave nuevamente poniendo su valor a cero:
CreateEmptyArray [tableData]
SetVar [tableData] [data]ArrayLen [tableData] [totalRecords]
SetVar [CantidadRegistros] [totalRecords]
If [CantidadRegistros] == 0
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
If [CantidadRegistros] > 0
GotoPage "Quiosco"
endifSi ingreso una clave que esta guardada en la base de datos me envia a la pagina indicada "Quiosco" pero si no encuentra la clave no me muestra nada.
Tambien probe de la siguiente manera con el mismo resultado:
If [CantidadRegistros] > 0
GotoPage "Quiosco"
else
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
Bueno , Lamentablemente no doy con la solucion
tengo problemas en la subrutina que recibe los datos que dependiendo del valor que recibe desde la consulta es su comportamiento, yo necesito que si la clave ingresada es correcta me envie a una pagina determinada dentro de la aplicacion pero que si es incorrecta me permita ingresar la clave nuevamente poniendo su valor a cero:
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords]
SetVar [CantidadRegistros] [totalRecords]
If [CantidadRegistros] == 0
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
If [CantidadRegistros] > 0
GotoPage "Quiosco"
endif
Si ingreso una clave que esta guardada en la base de datos me envia a la pagina indicada "Quiosco" pero si no encuentra la clave no me muestra nada.
Tambien probe de la siguiente manera con el mismo resultado:
If [CantidadRegistros] > 0
GotoPage "Quiosco"
else
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
Quote from Gustavo1973 on May 18, 2019, 8:54 pmya logre hacerlo funcionar, usando la primer variable original que toma la cantidad de registros y no la segunda que se define en la subrutina, no se a que se debe eso pero me funciono:
If [totalRecords] == 0
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
If [totalRecords] > 0
GotoPage "Quiosco"
endifSi en vez de la variable "totalRecords" uso la variable "CantidadRegistros" ya no funciona
ya logre hacerlo funcionar, usando la primer variable original que toma la cantidad de registros y no la segunda que se define en la subrutina, no se a que se debe eso pero me funciono:
If [totalRecords] == 0
DeleteVar [Clave]
SetVar [Clave] ""
FocusObject "NumericInput1"
endif
If [totalRecords] > 0
GotoPage "Quiosco"
endif
Si en vez de la variable "totalRecords" uso la variable "CantidadRegistros" ya no funciona
Quote from Gaev on May 18, 2019, 11:33 pm@gustavo1973:
If instead of the variable "totalRecords" I use the variable "QuantityRecords" it no longer works
The code you submitted in the previous post ...
SetVar [QuantityRecords] [totalRecords] If [ AmountRecords ] == 0 DeleteVar [Key] etc. etc.... you populate [QuantityRecords] from the array length [totalRecords] ... but where does [AmountRecords] get populated ? ... perhaps that is why it does not work as expected.
I modified Luis's neoPhpSimplestDataBase project's subroutine called parseData like so ...
CreateEmptyArray [tableData] SetVar [tableData] [data] ArrayLen [tableData] [totalRecords] ... ADDED THESE TWO COMMANDS SetVar [varTotalRecords] [totalRecords] AlertBox "totalRecords" "[totalRecords] ... [varTotalRecords]" "" SetVar [currentRecord] 0 SetVar [recordId] [tableData([currentRecord])('id')] SetVar [recordPainting] [tableData([currentRecord])('painting')] SetVar [recordAuthor] [tableData([currentRecord])('author')] SetVar [recordImg] "./img/[tableData([currentRecord])('image')]"... and modified HTML for Container7 like so ...
Current record: [currentRecord] - Total Records in DataBase: [totalRecords] ... [varTotalRecords]After compile, neoPhpServer and run (localhost) ...
1) AlertBox showed the expected value i.e. 4 ... 4
2) Container7 also showed 4 ... 4... proving that the global variable [varTotalrecords] was updated inside the subroutine ... and visible outside it.
@gustavo1973:
If instead of the variable "totalRecords" I use the variable "QuantityRecords" it no longer works
The code you submitted in the previous post ...
SetVar [QuantityRecords] [totalRecords] If [ AmountRecords ] == 0 DeleteVar [Key] etc. etc.
... you populate [QuantityRecords] from the array length [totalRecords] ... but where does [AmountRecords] get populated ? ... perhaps that is why it does not work as expected.
I modified Luis's neoPhpSimplestDataBase project's subroutine called parseData like so ...
CreateEmptyArray [tableData]
SetVar [tableData] [data]
ArrayLen [tableData] [totalRecords]
... ADDED THESE TWO COMMANDS
SetVar [varTotalRecords] [totalRecords]
AlertBox "totalRecords" "[totalRecords] ... [varTotalRecords]" ""
SetVar [currentRecord] 0
SetVar [recordId] [tableData([currentRecord])('id')]
SetVar [recordPainting] [tableData([currentRecord])('painting')]
SetVar [recordAuthor] [tableData([currentRecord])('author')]
SetVar [recordImg] "./img/[tableData([currentRecord])('image')]"
... and modified HTML for Container7 like so ...
Current record: [currentRecord] - Total Records in DataBase: [totalRecords] ... [varTotalRecords]
After compile, neoPhpServer and run (localhost) ...
1) AlertBox showed the expected value i.e. 4 ... 4
2) Container7 also showed 4 ... 4
... proving that the global variable [varTotalrecords] was updated inside the subroutine ... and visible outside it.

Quote from Palamar on May 24, 2019, 3:24 pmHolas:
@luishp he instalado la versión nueva de VisualNeo y descargué la versión corregida de neoPHP de este post, y volvió a dar el error mencionado en otro post, duplica las entradas. Error mio? o de la versión?. No puedo encontrar si en alguna parte menciona la versión del neoPHP.
Saludos!
Holas:
@luishp he instalado la versión nueva de VisualNeo y descargué la versión corregida de neoPHP de este post, y volvió a dar el error mencionado en otro post, duplica las entradas. Error mio? o de la versión?. No puedo encontrar si en alguna parte menciona la versión del neoPHP.
Saludos!

Quote from Palamar on May 24, 2019, 4:32 pmEs más, ha regresado el problema del html que se deforma. @Luishp quisiera saber si solo me esta sucediendo a mi. La versión es 19.5.16. Saludos! Gracias!
Es más, ha regresado el problema del html que se deforma. @Luishp quisiera saber si solo me esta sucediendo a mi. La versión es 19.5.16. Saludos! Gracias!

Quote from luishp on May 24, 2019, 6:38 pmHola @palamar,
Pues la verdad es que me sorprende mucho.
El problema del html que se deforma se solucionó an la versión beta (antes de existir VisualNEO) y el plugin neoPhp ha sido precisamente el principal bug solucionado en esta última versión.
Ahora mismo estoy trabajando en un ordenador diferente al que utilizo para desarrollar y no consigo reproducir ninguno de los dos errores que comentas, utilizando también la versión 19.5.16
Hola @palamar,
Pues la verdad es que me sorprende mucho.
El problema del html que se deforma se solucionó an la versión beta (antes de existir VisualNEO) y el plugin neoPhp ha sido precisamente el principal bug solucionado en esta última versión.
Ahora mismo estoy trabajando en un ordenador diferente al que utilizo para desarrollar y no consigo reproducir ninguno de los dos errores que comentas, utilizando también la versión 19.5.16

Quote from Palamar on May 24, 2019, 6:57 pmBueno @luishp voy a volver a desinstalar todo, borrar todo registro e instalar todo de 0. Acabo de corroborar que tengo esa versión y me he descargado la actualización de neoPHP que dejaste en el post. El tema es que los dos problemas a la vez me extraña. Preguntó....en la última versión ya viene el neoPHP corregido verdad?. Saludos y gracias!.
Bueno @luishp voy a volver a desinstalar todo, borrar todo registro e instalar todo de 0. Acabo de corroborar que tengo esa versión y me he descargado la actualización de neoPHP que dejaste en el post. El tema es que los dos problemas a la vez me extraña. Preguntó....en la última versión ya viene el neoPHP corregido verdad?. Saludos y gracias!.

Quote from luishp on May 24, 2019, 7:15 pmHola de nuevo @palamar
en la última versión ya viene el neoPHP corregido verdad?
Si, claro!
No deberías tener que desinstalar nada, me resulta muy raro.
Recuerda recompilar el proyecto!
Ya me dirás. Saludos y gracias a ti.
Hola de nuevo @palamar
en la última versión ya viene el neoPHP corregido verdad?
Si, claro!
No deberías tener que desinstalar nada, me resulta muy raro.
Recuerda recompilar el proyecto!
Ya me dirás. Saludos y gracias a ti.