In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Detección de teclas pulsadas sobre TDBBrowse
-
- Mensajes: 67
- Registrado: Mar Nov 02, 2004 6:23 pm
Detección de teclas pulsadas sobre TDBBrowse
Hola,
Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
capturando los eventos de la pulsación de las teclas Ins, Del y Return
respectivamente. He codificado un método en el evento OnKeyDown del
TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
switch nKey
case K_RETURN
::Edit()
exit
case K_DEL
::Del()
exit
case K_INS
::Add()
exit
end switch
RETURN Nil
Como no encontraba las constantes en Xailer.ch he añadido el #include
"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal?
No hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y
perdonad si es fallo mío.
--
Un saludo,
Jaime Irurzun.
Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
capturando los eventos de la pulsación de las teclas Ins, Del y Return
respectivamente. He codificado un método en el evento OnKeyDown del
TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
switch nKey
case K_RETURN
::Edit()
exit
case K_DEL
::Del()
exit
case K_INS
::Add()
exit
end switch
RETURN Nil
Como no encontraba las constantes en Xailer.ch he añadido el #include
"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal?
No hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y
perdonad si es fallo mío.
--
Un saludo,
Jaime Irurzun.
Detección de teclas pulsadas sobre TDBBrowse
Jaime,
> Como no encontraba las constantes en Xailer.ch he añadido el #include
> "Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
> hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
> si es fallo mío.
Las constantes que has usado sólo sirven para el modo consola, no GUI. Las
constantes de las teclas para windows están en xailerincludewinuser.api,
y todas empiezan por VK_. En este caso deberías usar VK_RETURN, VK_DELETE y
VK_INSERT
--
Un saludo,
José F. Giménez
> Como no encontraba las constantes en Xailer.ch he añadido el #include
> "Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
> hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
> si es fallo mío.
Las constantes que has usado sólo sirven para el modo consola, no GUI. Las
constantes de las teclas para windows están en xailerincludewinuser.api,
y todas empiezan por VK_. En este caso deberías usar VK_RETURN, VK_DELETE y
VK_INSERT
--
Un saludo,
José F. Giménez
-
- Mensajes: 67
- Registrado: Mar Nov 02, 2004 6:23 pm
Detección de teclas pulsadas sobre TDBBrowse
Perfecto, era eso. Mil gracias...
--
Un saludo,
Jaime Irurzun.
Jose F. Gimenez escribió:
> Jaime,
>
>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>
>
> Las constantes que has usado sólo sirven para el modo consola, no GUI. Las
> constantes de las teclas para windows están en xailerincludewinuser.api,
> y todas empiezan por VK_. En este caso deberías usar VK_RETURN, VK_DELETE y
> VK_INSERT
>
--
Un saludo,
Jaime Irurzun.
Jose F. Gimenez escribió:
> Jaime,
>
>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>
>
> Las constantes que has usado sólo sirven para el modo consola, no GUI. Las
> constantes de las teclas para windows están en xailerincludewinuser.api,
> y todas empiezan por VK_. En este caso deberías usar VK_RETURN, VK_DELETE y
> VK_INSERT
>
Detección de teclas pulsadas sobre TDBBrowse
Ya que se habre hilo usando la extensión SWITCH...END
Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
porqué???
Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
IF...ELSE
¿Cual es más rápido a evaluar???
Un Saludo,
Xevi.
"Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
> capturando los eventos de la pulsación de las teclas Ins, Del y Return
> respectivamente. He codificado un método en el evento OnKeyDown del
> TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>
> METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>
> switch nKey
> case K_RETURN
> ::Edit()
> exit
> case K_DEL
> ::Del()
> exit
> case K_INS
> ::Add()
> exit
> end switch
>
> RETURN Nil
>
> Como no encontraba las constantes en Xailer.ch he añadido el #include
> "Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
> hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
> si es fallo mío.
>
> --
> Un saludo,
> Jaime Irurzun.
>
Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
porqué???
Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
IF...ELSE
¿Cual es más rápido a evaluar???
Un Saludo,
Xevi.
"Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
> capturando los eventos de la pulsación de las teclas Ins, Del y Return
> respectivamente. He codificado un método en el evento OnKeyDown del
> TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>
> METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>
> switch nKey
> case K_RETURN
> ::Edit()
> exit
> case K_DEL
> ::Del()
> exit
> case K_INS
> ::Add()
> exit
> end switch
>
> RETURN Nil
>
> Como no encontraba las constantes en Xailer.ch he añadido el #include
> "Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
> hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
> si es fallo mío.
>
> --
> Un saludo,
> Jaime Irurzun.
>
-
- Mensajes: 137
- Registrado: Vie Jul 29, 2005 8:49 am
- Ubicación: Valencia - España
- Contactar:
Detección de teclas pulsadas sobre TDBBrowse
Xevi,
Pongamos por caso:
Hay que comprobar que un parámetro pueda ser A, C, X, Y, H,T donde A,C y
H tienen el mismo código.
Con DO CASE
DO CASE
CASE uParam == "A" .OR. uParam == "C" .OR. uParam == "H"
....
....
....
CASE uParam == "X"
....
CASE uParam == "Y"
....
CASE uParam == "T"
....
OTHERWISE
....
ENDCASE
Con SWITCH
SWITCH uParam
CASE "A"
CASE "C"
CASE "H"
....
EXIT // Importante!!!!
CASE "X"
...
EXIT
CASE "Y"
...
EXIT
CASE "T"
...
EXIT
DEFAULT
...
END
Saludos,
José Luis Capel
Xevi escribió:
>
> Ya que se habre hilo usando la extensión SWITCH...END
>
> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
> porqué???
> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
> IF...ELSE
> ¿Cual es más rápido a evaluar???
>
>
> Un Saludo,
> Xevi.
>
>
> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>respectivamente. He codificado un método en el evento OnKeyDown del
>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>
>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>
>> switch nKey
>> case K_RETURN
>> ::Edit()
>> exit
>> case K_DEL
>> ::Del()
>> exit
>> case K_INS
>> ::Add()
>> exit
>> end switch
>>
>>RETURN Nil
>>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>>
>>--
>>Un saludo,
>>Jaime Irurzun.
>>
>
>
>
>
Pongamos por caso:
Hay que comprobar que un parámetro pueda ser A, C, X, Y, H,T donde A,C y
H tienen el mismo código.
Con DO CASE
DO CASE
CASE uParam == "A" .OR. uParam == "C" .OR. uParam == "H"
....
....
....
CASE uParam == "X"
....
CASE uParam == "Y"
....
CASE uParam == "T"
....
OTHERWISE
....
ENDCASE
Con SWITCH
SWITCH uParam
CASE "A"
CASE "C"
CASE "H"
....
EXIT // Importante!!!!
CASE "X"
...
EXIT
CASE "Y"
...
EXIT
CASE "T"
...
EXIT
DEFAULT
...
END
Saludos,
José Luis Capel
Xevi escribió:
>
> Ya que se habre hilo usando la extensión SWITCH...END
>
> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
> porqué???
> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
> IF...ELSE
> ¿Cual es más rápido a evaluar???
>
>
> Un Saludo,
> Xevi.
>
>
> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>respectivamente. He codificado un método en el evento OnKeyDown del
>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>
>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>
>> switch nKey
>> case K_RETURN
>> ::Edit()
>> exit
>> case K_DEL
>> ::Del()
>> exit
>> case K_INS
>> ::Add()
>> exit
>> end switch
>>
>>RETURN Nil
>>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>>
>>--
>>Un saludo,
>>Jaime Irurzun.
>>
>
>
>
>
Detección de teclas pulsadas sobre TDBBrowse
Xevi,
Te sigo respondiendo.
SWITCH es más rápido de evaluar. ¿Por que? Porque solo mira constantes
que se resuelven en tiempo de compilación. Por ejemplo, esto no vale
para switch
SWITCH uParam
CASE MiFuncion() // Es una función: no lo admite switch
CASE a == b // comparaciones: no las admite
CASE MiVariable // No admite variables
END
Saludos,
José Luis Capel
Xevi escribió:
>
> Ya que se habre hilo usando la extensión SWITCH...END
>
> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
> porqué???
> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
> IF...ELSE
> ¿Cual es más rápido a evaluar???
>
>
> Un Saludo,
> Xevi.
>
>
> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>respectivamente. He codificado un método en el evento OnKeyDown del
>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>
>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>
>> switch nKey
>> case K_RETURN
>> ::Edit()
>> exit
>> case K_DEL
>> ::Del()
>> exit
>> case K_INS
>> ::Add()
>> exit
>> end switch
>>
>>RETURN Nil
>>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>>
>>--
>>Un saludo,
>>Jaime Irurzun.
>>
>
>
>
>
Te sigo respondiendo.
SWITCH es más rápido de evaluar. ¿Por que? Porque solo mira constantes
que se resuelven en tiempo de compilación. Por ejemplo, esto no vale
para switch
SWITCH uParam
CASE MiFuncion() // Es una función: no lo admite switch
CASE a == b // comparaciones: no las admite
CASE MiVariable // No admite variables
END
Saludos,
José Luis Capel
Xevi escribió:
>
> Ya que se habre hilo usando la extensión SWITCH...END
>
> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó claro
> porqué???
> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
> IF...ELSE
> ¿Cual es más rápido a evaluar???
>
>
> Un Saludo,
> Xevi.
>
>
> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola,
>>
>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>respectivamente. He codificado un método en el evento OnKeyDown del
>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>
>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>
>> switch nKey
>> case K_RETURN
>> ::Edit()
>> exit
>> case K_DEL
>> ::Del()
>> exit
>> case K_INS
>> ::Add()
>> exit
>> end switch
>>
>>RETURN Nil
>>
>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>si es fallo mío.
>>
>>--
>>Un saludo,
>>Jaime Irurzun.
>>
>
>
>
>
Detección de teclas pulsadas sobre TDBBrowse
Gracias, José Luis,
Me faltaba incluir EXIT... y no podía probarlo correctamente.
Un Saludo,
Xevi.
"José Luis Capel" <capelsoft@terra.es> escribió en el mensaje
news:[email=438d5b52@ozsrvnegro.ozlan.local...]438d5b52@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>
> Pongamos por caso:
>
> Hay que comprobar que un parámetro pueda ser A, C, X, Y, H,T donde A,C y H
> tienen el mismo código.
>
> Con DO CASE
>
> DO CASE
> CASE uParam == "A" .OR. uParam == "C" .OR. uParam == "H"
> ....
> ....
> ....
> CASE uParam == "X"
> ....
> CASE uParam == "Y"
> ....
> CASE uParam == "T"
> ....
> OTHERWISE
> ....
> ENDCASE
>
> Con SWITCH
>
> SWITCH uParam
> CASE "A"
> CASE "C"
> CASE "H"
> ....
> EXIT // Importante!!!!
> CASE "X"
> ...
> EXIT
> CASE "Y"
> ...
> EXIT
> CASE "T"
> ...
> EXIT
> DEFAULT
> ...
> END
>
> Saludos,
> José Luis Capel
>
>
> Xevi escribió:
>> Ya que se habre hilo usando la extensión SWITCH...END
>>
>> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó
>> claro porqué???
>> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
>> IF...ELSE
>> ¿Cual es más rápido a evaluar???
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
>> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>>respectivamente. He codificado un método en el evento OnKeyDown del
>>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>>
>>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>>
>>> switch nKey
>>> case K_RETURN
>>> ::Edit()
>>> exit
>>> case K_DEL
>>> ::Del()
>>> exit
>>> case K_INS
>>> ::Add()
>>> exit
>>> end switch
>>>
>>>RETURN Nil
>>>
>>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>>si es fallo mío.
>>>
>>>--
>>>Un saludo,
>>>Jaime Irurzun.
>>>
>>
>>
>>
>>
>
Me faltaba incluir EXIT... y no podía probarlo correctamente.
Un Saludo,
Xevi.
"José Luis Capel" <capelsoft@terra.es> escribió en el mensaje
news:[email=438d5b52@ozsrvnegro.ozlan.local...]438d5b52@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
>
> Pongamos por caso:
>
> Hay que comprobar que un parámetro pueda ser A, C, X, Y, H,T donde A,C y H
> tienen el mismo código.
>
> Con DO CASE
>
> DO CASE
> CASE uParam == "A" .OR. uParam == "C" .OR. uParam == "H"
> ....
> ....
> ....
> CASE uParam == "X"
> ....
> CASE uParam == "Y"
> ....
> CASE uParam == "T"
> ....
> OTHERWISE
> ....
> ENDCASE
>
> Con SWITCH
>
> SWITCH uParam
> CASE "A"
> CASE "C"
> CASE "H"
> ....
> EXIT // Importante!!!!
> CASE "X"
> ...
> EXIT
> CASE "Y"
> ...
> EXIT
> CASE "T"
> ...
> EXIT
> DEFAULT
> ...
> END
>
> Saludos,
> José Luis Capel
>
>
> Xevi escribió:
>> Ya que se habre hilo usando la extensión SWITCH...END
>>
>> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó
>> claro porqué???
>> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
>> IF...ELSE
>> ¿Cual es más rápido a evaluar???
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
>> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>>respectivamente. He codificado un método en el evento OnKeyDown del
>>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>>
>>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>>
>>> switch nKey
>>> case K_RETURN
>>> ::Edit()
>>> exit
>>> case K_DEL
>>> ::Del()
>>> exit
>>> case K_INS
>>> ::Add()
>>> exit
>>> end switch
>>>
>>>RETURN Nil
>>>
>>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>>si es fallo mío.
>>>
>>>--
>>>Un saludo,
>>>Jaime Irurzun.
>>>
>>
>>
>>
>>
>
Detección de teclas pulsadas sobre TDBBrowse
Entiendo...
Intentaré utilizar SWITH en los casos que me sean posibles... si es por
ganar mas velocidad !!!
Velocidad entre DO CASE...CASE...ENDCASE y IF...ELSEIF...ENDIF
¿Cual escojer???
Yo estoy acostumbrado a utilizar IF...ELSE...ENDIF... ¿tengo mal vicio???
Un Saludo,
Xevi.
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:438d614b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> Te sigo respondiendo.
>
> SWITCH es más rápido de evaluar. ¿Por que? Porque solo mira constantes
> que se resuelven en tiempo de compilación. Por ejemplo, esto no vale para
> switch
>
> SWITCH uParam
> CASE MiFuncion() // Es una función: no lo admite switch
> CASE a == b // comparaciones: no las admite
> CASE MiVariable // No admite variables
> END
>
> Saludos,
> José Luis Capel
>
>
> Xevi escribió:
>> Ya que se habre hilo usando la extensión SWITCH...END
>>
>> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó
>> claro porqué???
>> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
>> IF...ELSE
>> ¿Cual es más rápido a evaluar???
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
>> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>>respectivamente. He codificado un método en el evento OnKeyDown del
>>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>>
>>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>>
>>> switch nKey
>>> case K_RETURN
>>> ::Edit()
>>> exit
>>> case K_DEL
>>> ::Del()
>>> exit
>>> case K_INS
>>> ::Add()
>>> exit
>>> end switch
>>>
>>>RETURN Nil
>>>
>>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>>si es fallo mío.
>>>
>>>--
>>>Un saludo,
>>>Jaime Irurzun.
>>>
>>
>>
>>
>>
>
Intentaré utilizar SWITH en los casos que me sean posibles... si es por
ganar mas velocidad !!!
Velocidad entre DO CASE...CASE...ENDCASE y IF...ELSEIF...ENDIF
¿Cual escojer???
Yo estoy acostumbrado a utilizar IF...ELSE...ENDIF... ¿tengo mal vicio???
Un Saludo,
Xevi.
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:438d614b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> Te sigo respondiendo.
>
> SWITCH es más rápido de evaluar. ¿Por que? Porque solo mira constantes
> que se resuelven en tiempo de compilación. Por ejemplo, esto no vale para
> switch
>
> SWITCH uParam
> CASE MiFuncion() // Es una función: no lo admite switch
> CASE a == b // comparaciones: no las admite
> CASE MiVariable // No admite variables
> END
>
> Saludos,
> José Luis Capel
>
>
> Xevi escribió:
>> Ya que se habre hilo usando la extensión SWITCH...END
>>
>> Vimos en Madrid, cuando podemos utilizar el SWICHT... pero no me quedó
>> claro porqué???
>> Alguna explicación sobre ventajas a utilizar SWITCH frente a DO CASE o
>> IF...ELSE
>> ¿Cual es más rápido a evaluar???
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Jaime Irurzun" <jaime.irurzun@gmail.com> escribió en el mensaje
>> news:438cb0c6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola,
>>>
>>>Estoy tratando de lanzar los métodos de Alta, Baja y Modificación
>>>capturando los eventos de la pulsación de las teclas Ins, Del y Return
>>>respectivamente. He codificado un método en el evento OnKeyDown del
>>>TDBBrowse, pero únicamente funciona la pulsación de la tecla Return:
>>>
>>>METHOD DBBrowseKeyDown( oSender, nKey, nFlags ) CLASS TFormCentros
>>>
>>> switch nKey
>>> case K_RETURN
>>> ::Edit()
>>> exit
>>> case K_DEL
>>> ::Del()
>>> exit
>>> case K_INS
>>> ::Add()
>>> exit
>>> end switch
>>>
>>>RETURN Nil
>>>
>>>Como no encontraba las constantes en Xailer.ch he añadido el #include
>>>"Inkey.ch" de xHarbour y he utilizado esas constantes. ¿Hago algo mal? No
>>>hace ni caso a las pulsaciones de SUPR e INS... Muchas Gracias y perdonad
>>>si es fallo mío.
>>>
>>>--
>>>Un saludo,
>>>Jaime Irurzun.
>>>
>>
>>
>>
>>
>
Detección de teclas pulsadas sobre TDBBrowse
Xevi,
> Velocidad entre DO CASE...CASE...ENDCASE y IF...ELSEIF...ENDIF
> ¿Cual escojer???
> Yo estoy acostumbrado a utilizar IF...ELSE...ENDIF... ¿tengo mal vicio???
Yo también acostumbro a usar IF...ELSEIF...ENDIF
Por lo que yo sé, las dos contrucciones generan exactamente el mismo pcode.
Por lo tanto, usa el que más te guste.
--
Un saludo,
José F. Giménez
> Velocidad entre DO CASE...CASE...ENDCASE y IF...ELSEIF...ENDIF
> ¿Cual escojer???
> Yo estoy acostumbrado a utilizar IF...ELSE...ENDIF... ¿tengo mal vicio???
Yo también acostumbro a usar IF...ELSEIF...ENDIF

Por lo que yo sé, las dos contrucciones generan exactamente el mismo pcode.
Por lo tanto, usa el que más te guste.
--
Un saludo,
José F. Giménez