Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Eventos de un TEdit (https://www.clubdelphi.com/foros/showthread.php?t=33881)

luxus 19-07-2006 18:54:15

Eventos de un TEdit
 
Hola a todos,
Necesito un poco de ayuda con un problema con el que me encuentro.Para facilitar la expliación supongamos que tenemos 3 Tedit:


Edit 1 Edit 2 Edit 3
Cantidad Precio Total

Cuando esta en funcionamiento el programa, el texto en el edit 2 es fijo y se muestra en pantalla. El texto del edit 3 es 0,00 y el del edit 1 es 0.
Lo que quiero es que el usuario introduzca un numero en el edit 1 y automáticamente el texto que debe mostrarse en el edit3 es (cantidad*precio) para ello el evento que debe iniciar dicha multiplicacion sea cuando el usuario hay introducido la cantidad en el edit1 y pulse la tecla ENTER o INTRO. Mi duda reside en que no sé el evento del edit debo elegir. Probé con el ONCHANGE pero no es lo que yo precisamente el proceso que me gustaria que el usuario tuciese que seguir. ¿No sé si me explico?
Espero vuestras sugerencias y muchas gracias por vuestra colaboración de antemano.

ContraVeneno 19-07-2006 19:30:50

evento onkeypress y el parámetro Key debería ser igual a #13
Código:

onkeypress
if key = #13 then
 haces todo lo que tengas que hacer


nemesio 20-07-2006 01:40:52

Asi te funciona perfecto, el detalle está es que si metes un valor y cambias el foco con el Mouse, no pasa nada. Podrías también validar el evento OnExit, para que cuando se abandone el foco sea por la tecla enter o por el ratón vaya al mismo procedimiento.

Suerte.

ContraVeneno 20-07-2006 15:34:39

El problema de hacerlo en el evento OnExit, es que el usuario puede querer hacer otra cosa diferente a calcular, y sin embargo el programa lo hará de cualquier manera.

Ejemplo: en la empresa en que trabajé antes, todo lo programaban en el evento OnExit; por ejemplo, al salir del último control, cambiaba de pestaña o mostraba la siguiente pantalla de manera automática...

el problema estaba en que si el usuario se encuentra en el último control, y se da cuenta que se equivocó en un control anterior, al querer regresar a ese control y tratar de corregir, el sistema lo mandará a la siguiente pantalla con datos erróneos.

Este es solo un ejemplo de una infinidad de situaciones que pueden suceder y que le darán una mala sensación al usuario.

Por todas estas circunstancias, no creo que sea conveniente generar alguna operación en el evento OnExit (claro, que habrá situaciones que sí lo requieran). Y sinceramente creo que lo más correcto es hacerlo cuando el usuario presione enter.


La franja horaria es GMT +2. Ahora son las 01:56:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi