Uso/detección de tecla en bucle dowhile
Moderator: Rathinagiri
Uso/detección de tecla en bucle dowhile
Estimados programadores:
¿ Es posible detectar una tecla; ( por Ejemplo: INKEY(), LASTKEY(), Etc. ); desde el interior de un bucle DO .. WHILE
o desde un For ... Next, para ejecutar una función determinada?
Ejemplo: (Este ejemplo funciona en Clipper, pero en HMG, no :
Do While .T.
cKey := upper(chr( nKey := Inkey()))
* Asignando en un do case las funciones respectivas
Do Case
Casse nKey == VK_LEFT
Funcion()
......
End Case
.....
Enddo
Return
Oscar
¿ Es posible detectar una tecla; ( por Ejemplo: INKEY(), LASTKEY(), Etc. ); desde el interior de un bucle DO .. WHILE
o desde un For ... Next, para ejecutar una función determinada?
Ejemplo: (Este ejemplo funciona en Clipper, pero en HMG, no :
Do While .T.
cKey := upper(chr( nKey := Inkey()))
* Asignando en un do case las funciones respectivas
Do Case
Casse nKey == VK_LEFT
Funcion()
......
End Case
.....
Enddo
Return
Oscar
- dragancesu
- Posts: 925
- Joined: Mon Jun 24, 2013 11:53 am
- DBs Used: DBF, MySQL, Oracle
- Location: Subotica, Serbia
Re: Uso/detección de tecla en bucle dowhile
There are possibilities but it's complicated and often does not need, this is a classic clipper code that should be avoided when the real windows program
See TEXTBOX control and you'll see that the response to several events ON ENTER ON CHANGE ... also GRID and BROWSE have similar opportunities
The answer is YES, but is not easy and there are better solutions
See TEXTBOX control and you'll see that the response to several events ON ENTER ON CHANGE ... also GRID and BROWSE have similar opportunities
The answer is YES, but is not easy and there are better solutions
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Uso/detección de tecla en bucle dowhile
Hola Oscar, bien venido al fórum HMG. No sé si tienes alguna familiaridad con programacion gráfica, pero voy a intentar explicarte puntos importantes.
Como dijo nuestro colega Dragan, seria muy complicado, trabajoso y yo diria más atado a una forma de programar totalmente distinta a las aplicaciones baseadas en Windows. Donde el uso de mouse, eventos, propiedades y acciones son los que prepondera y todavia las hace no necesariamente en la misma secuencia que como lo hacíamos en Clipper. Al menos que estés referiendote a utilizar HMG en modo console no en modo gráfico.
Para programar en GUI, debemos dejar de lado todas las telas/pantallas (screens) mejor dicho interface visuales que utilizábamos en Clipper o cualquier otra herramienta en modo console.
Por ejemplo, cuando el usuário llena/responde a un formulário donde hay campos, en GUI el usuário puede hacerlo fuera de secuencia (eso por el uso del mouse y su interface gráfica), en cambio en modo console lo hace en una secuencia.
Recientemente, disponibilizé unas rutinas que ejemplifica algo sobre la interaccion que se le puede dar al llenar un campo (field).
Fijate este ejemplo: viewtopic.php?p=46828#p46828
Como debes saber, en la programacion GUI hay a disposicion vários tipos de CONTROLes, componentes usados en específicas situaciones. Por ejemplo: si tienes que exibir una tabla, lo puedes y debes utilizar el GRID. Si el usuário tiene que eligir un item apenas, puedes usar el COMBOBOX, LISTBOX o RADIOGROUP. Puedes fijarte en el sub-fichero DOC de HMG que has instalado, buscá por "Controls" y te vá mostrar la sintasis. Y en el sub-fichero SAMPLES tambien "Controls" irás encontrar cada ejemplo.
Desde luego que aqui en el fórum irás encontrar mucho material y ayuda de los colegas.
Es solo cuestion de ejemplificar siempre con tu código y realizar tus cuestionamientos o dudas.
Sobre algunos ejemplos de uso de teclas, por favor ver ejemplos:
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_1
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_2
viewtopic.php?p=31154#p31154
viewtopic.php?p=9782#p9782
Un gran abrazo desde Brasil
Como dijo nuestro colega Dragan, seria muy complicado, trabajoso y yo diria más atado a una forma de programar totalmente distinta a las aplicaciones baseadas en Windows. Donde el uso de mouse, eventos, propiedades y acciones son los que prepondera y todavia las hace no necesariamente en la misma secuencia que como lo hacíamos en Clipper. Al menos que estés referiendote a utilizar HMG en modo console no en modo gráfico.
Para programar en GUI, debemos dejar de lado todas las telas/pantallas (screens) mejor dicho interface visuales que utilizábamos en Clipper o cualquier otra herramienta en modo console.
Por ejemplo, cuando el usuário llena/responde a un formulário donde hay campos, en GUI el usuário puede hacerlo fuera de secuencia (eso por el uso del mouse y su interface gráfica), en cambio en modo console lo hace en una secuencia.
Recientemente, disponibilizé unas rutinas que ejemplifica algo sobre la interaccion que se le puede dar al llenar un campo (field).
Fijate este ejemplo: viewtopic.php?p=46828#p46828
Como debes saber, en la programacion GUI hay a disposicion vários tipos de CONTROLes, componentes usados en específicas situaciones. Por ejemplo: si tienes que exibir una tabla, lo puedes y debes utilizar el GRID. Si el usuário tiene que eligir un item apenas, puedes usar el COMBOBOX, LISTBOX o RADIOGROUP. Puedes fijarte en el sub-fichero DOC de HMG que has instalado, buscá por "Controls" y te vá mostrar la sintasis. Y en el sub-fichero SAMPLES tambien "Controls" irás encontrar cada ejemplo.
Desde luego que aqui en el fórum irás encontrar mucho material y ayuda de los colegas.
Es solo cuestion de ejemplificar siempre con tu código y realizar tus cuestionamientos o dudas.
Sobre algunos ejemplos de uso de teclas, por favor ver ejemplos:
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_1
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_2
viewtopic.php?p=31154#p31154
viewtopic.php?p=9782#p9782
Un gran abrazo desde Brasil
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
- Roberto Lopez
- HMG Founder
- Posts: 4004
- Joined: Wed Jul 30, 2008 6:43 pm
Re: Uso/detección de tecla en bucle dowhile
Could be you so kind to do your posts in English, according to the international nature of this forum and its members?
Thanks!
Thanks!
Regards/Saludos,
Roberto
(Veritas Filia Temporis)
Roberto
(Veritas Filia Temporis)
- esgici
- Posts: 4543
- Joined: Wed Jul 30, 2008 9:17 pm
- DBs Used: DBF
- Location: iskenderun / Turkiye
- Contact:
Re: Uso/detección de tecla en bucle dowhile
Viva INTERNATIONAL HMGRoberto Lopez wrote:Could be you so kind to do your posts in English, according to the international nature of this forum and its members?
Thanks!
Viva INTERNATIONAL HMG
- Pablo César
- Posts: 4059
- Joined: Wed Sep 08, 2010 1:18 pm
- Location: Curitiba - Brasil
Uso/detección de tecla en bucle dowhile
LETS STOP THERE, please !
My apologies if I have offended any party with my replying.
I believed that I gave better chance for better understanding when I repplied in spanish to Oscar in this forum/section.
We have to be considered that Oscar is newie at forum. In this case, the author has open an new topic in spanish, IMHO we have two ways:
1. Ask for moderator (do not exist anymore, probably by the same reason) or administrator's forum to move the topic for the right section and communicate to the author for that.
2. Be gentle and patient, do not force anyone write in English. There are many messages written in different languages here (I can list many). We do not need to return to discuss in something impossible.
I do not see much difference to post in both language when original text is being translated by the Google translator. Any one can do it and whom do not wants to take for yourself the job: would it be easier to ignore it. Just simples in that.
I think next time, I will answer to the user by Private Message...
(Please read on blue color in my signature text at bottom of my messages and please reflect about it)
In spanish section, there are many replies in English and nobody complains in that.
IMHO, the rest of foruns/sections, it should be the same !
Better this than avoid undesnecessary discussions, by the another reason is because all of us should respect the free communication.
Oscar, si te sientes mejor escribir en español, por favor hazlo en: viewforum.php?f=24
Allá puedes escribir en español, castellano, português e inclusive en ingles que nadie irá quejarse.
My apologies if I have offended any party with my replying.
I believed that I gave better chance for better understanding when I repplied in spanish to Oscar in this forum/section.
We have to be considered that Oscar is newie at forum. In this case, the author has open an new topic in spanish, IMHO we have two ways:
1. Ask for moderator (do not exist anymore, probably by the same reason) or administrator's forum to move the topic for the right section and communicate to the author for that.
2. Be gentle and patient, do not force anyone write in English. There are many messages written in different languages here (I can list many). We do not need to return to discuss in something impossible.
I do not see much difference to post in both language when original text is being translated by the Google translator. Any one can do it and whom do not wants to take for yourself the job: would it be easier to ignore it. Just simples in that.
I think next time, I will answer to the user by Private Message...
(Please read on blue color in my signature text at bottom of my messages and please reflect about it)
In spanish section, there are many replies in English and nobody complains in that.
IMHO, the rest of foruns/sections, it should be the same !
Better this than avoid undesnecessary discussions, by the another reason is because all of us should respect the free communication.
Oscar, si te sientes mejor escribir en español, por favor hazlo en: viewforum.php?f=24
Allá puedes escribir en español, castellano, português e inclusive en ingles que nadie irá quejarse.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Re: Uso/detección de tecla en bucle dowhile
Mil gracias por tu orientación. Voy a revisar lo sugerido. Después de cuento !!!Pablo César wrote:Hola Oscar, bien venido al fórum HMG. No sé si tienes alguna familiaridad con programacion gráfica, pero voy a intentar explicarte puntos importantes.
Como dijo nuestro colega Dragan, seria muy complicado, trabajoso y yo diria más atado a una forma de programar totalmente distinta a las aplicaciones baseadas en Windows. Donde el uso de mouse, eventos, propiedades y acciones son los que prepondera y todavia las hace no necesariamente en la misma secuencia que como lo hacíamos en Clipper. Al menos que estés referiendote a utilizar HMG en modo console no en modo gráfico.
Para programar en GUI, debemos dejar de lado todas las telas/pantallas (screens) mejor dicho interface visuales que utilizábamos en Clipper o cualquier otra herramienta en modo console.
Por ejemplo, cuando el usuário llena/responde a un formulário donde hay campos, en GUI el usuário puede hacerlo fuera de secuencia (eso por el uso del mouse y su interface gráfica), en cambio en modo console lo hace en una secuencia.
Recientemente, disponibilizé unas rutinas que ejemplifica algo sobre la interaccion que se le puede dar al llenar un campo (field).
Fijate este ejemplo: viewtopic.php?p=46828#p46828
Como debes saber, en la programacion GUI hay a disposicion vários tipos de CONTROLes, componentes usados en específicas situaciones. Por ejemplo: si tienes que exibir una tabla, lo puedes y debes utilizar el GRID. Si el usuário tiene que eligir un item apenas, puedes usar el COMBOBOX, LISTBOX o RADIOGROUP. Puedes fijarte en el sub-fichero DOC de HMG que has instalado, buscá por "Controls" y te vá mostrar la sintasis. Y en el sub-fichero SAMPLES tambien "Controls" irás encontrar cada ejemplo.
Desde luego que aqui en el fórum irás encontrar mucho material y ayuda de los colegas.
Es solo cuestion de ejemplificar siempre con tu código y realizar tus cuestionamientos o dudas.
Sobre algunos ejemplos de uso de teclas, por favor ver ejemplos:
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_1
C:\hmg.3.4.3\SAMPLES\Events\On_Key\ON_KEY_2
viewtopic.php?p=31154#p31154
viewtopic.php?p=9782#p9782
Un gran abrazo desde Brasil
Re: Uso/detección de tecla en bucle dowhile
Mil gracias por tu orientación. Voy a revisar lo sugerido. Después de cuento !!!
No problem to write in english. I review suggested and then you tell
Again, many thanks Pablo.
Oscar
No problem to write in english. I review suggested and then you tell
Again, many thanks Pablo.
Oscar