Página 1 de 1

Salidas de un TDBMaskEdit

Publicado: Mié Sep 13, 2006 4:30 am
por ddupre
Hola foro:
Tengo un pequeño form (tipo diálogo) con dos Label, un TDBMaskEdit, un
TDBEdit, un botón para Aceptar y otro para Cancelar. El TDBMaskEdit lo
utilizo para guardar el valor de un campo que es clave en una tabla y
que no debe repetirse. ¿Como puedo saber de que forma se salió del
TDBMaskEdit (se perdió el foco)?, es decir, si fue porque se dio click
en el botón Cancelar, o en el Aceptar, o se apretó Tab o Enter y se pasó
al TDBEdit o se dió click en la cruz para cerrar el dialogo.
Con Clipper tengo la clausula VALID del comando GET en la cual hago
prácticamente todo lo que quiero. Si bien entiendo que en Xailer la
ejecución de los programas es por eventos, no me doy cuenta como armar
la estrategia de validaciones (de una forma mas o menos genérica) para
controlar el ingreso de datos por parte de los usuarios. Hasta donde he
buscado no encontré ejemplos donde se hagan validaciones ¿hay alguno?
Sé que esto no es especí­ficamente una duda sobre Xailer, pero aclararlo
me va servir para poder seguir avanzando. Es por eso que me atrevo a
pedirles una mano y solicitar si alguien me puede dar algún consejo
Gracias
Daniel.

Salidas de un TDBMaskEdit

Publicado: Mié Sep 13, 2006 4:45 pm
por isolisNO_SPAM
Daniel:
Dale una revisada al evento OnExit de las clases TDBEdit y TDBMaskEdit,
seguramente eso es lo que buscas (equivalencia de VALID)
SALUDOS!!
Israel Solis
"Daniel Du Pré" <ddupre@macrosistemas.com.uy> escribió en el mensaje
news:[email=45076d4f@news.xailer.com...]45076d4f@news.xailer.com...[/email]
> Hola foro:
>
> Tengo un pequeño form (tipo diálogo) con dos Label, un TDBMaskEdit, un
> TDBEdit, un botón para Aceptar y otro para Cancelar. El TDBMaskEdit lo
> utilizo para guardar el valor de un campo que es clave en una tabla y que
> no debe repetirse. ¿Como puedo saber de que forma se salió del TDBMaskEdit
> (se perdió el foco)?, es decir, si fue porque se dio click en el botón
> Cancelar, o en el Aceptar, o se apretó Tab o Enter y se pasó al TDBEdit o
> se dió click en la cruz para cerrar el dialogo.
>
>
> Con Clipper tengo la clausula VALID del comando GET en la cual hago
> prácticamente todo lo que quiero. Si bien entiendo que en Xailer la
> ejecución de los programas es por eventos, no me doy cuenta como armar la
> estrategia de validaciones (de una forma mas o menos genérica) para
> controlar el ingreso de datos por parte de los usuarios. Hasta donde he
> buscado no encontré ejemplos donde se hagan validaciones ¿hay alguno?
>
> Sé que esto no es específicamente una duda sobre Xailer, pero aclararlo me
> va servir para poder seguir avanzando. Es por eso que me atrevo a pedirles
> una mano y solicitar si alguien me puede dar algún consejo
>
> Gracias
> Daniel.

Salidas de un TDBMaskEdit

Publicado: Mié Sep 13, 2006 6:33 pm
por ddupre
Israel
Agradezco tu ayuda y te comento lo que pude hacer hasta ahora.
Lo que me pasa es que no puedo conocer todos los casos que llevan a que
se dispare el OnExit, en mi prueba las opciones que tengo son:
1) Click en el botón "Aceptar"
2) Click en el botón "Cancelar"
3) Enter en el TDBMaskEdit para pasar al TDBEdit
4) Tab en el TDBMaskEdit también para pasar al TDBEdit
5) Click en la cruz para cerrar el diálogo.
Estando en modalidad AddNew()
La opción 5 no me ofrece problemas, veo que el dialogo se cierra y no se
dispara el OnExit.
En las opciones 1, 3 y 4 puedo controlar lo que necesito (existencia del
valor en la tabla y valores distintos de 0)
En la opción 5 es donde se me está dando el problema, lo que pretendo
hacer es que si se da click en Cancelar, se cierre el diálogo igual que
en el caso 5, pero se me sigue disparando el OnExit. ¿Hay forma de saber
si se dio click en el botón Cancelar?
Gracias
Daniel.
isolisNO_SPAM@sanroms.com escribió:
> Daniel:
>
> Dale una revisada al evento OnExit de las clases TDBEdit y TDBMaskEdit,
> seguramente eso es lo que buscas (equivalencia de VALID)
>
> SALUDOS!!
>
> Israel Solis
>
>
> "Daniel Du Pré" <ddupre@macrosistemas.com.uy> escribió en el mensaje
> news:[email=45076d4f@news.xailer.com...]45076d4f@news.xailer.com...[/email]
>> Hola foro:
>>
>> Tengo un pequeño form (tipo diálogo) con dos Label, un TDBMaskEdit, un
>> TDBEdit, un botón para Aceptar y otro para Cancelar. El TDBMaskEdit lo
>> utilizo para guardar el valor de un campo que es clave en una tabla y que
>> no debe repetirse. ¿Como puedo saber de que forma se salió del TDBMaskEdit
>> (se perdió el foco)?, es decir, si fue porque se dio click en el botón
>> Cancelar, o en el Aceptar, o se apretó Tab o Enter y se pasó al TDBEdit o
>> se dió click en la cruz para cerrar el dialogo.
>>
>>
>> Con Clipper tengo la clausula VALID del comando GET en la cual hago
>> prácticamente todo lo que quiero. Si bien entiendo que en Xailer la
>> ejecución de los programas es por eventos, no me doy cuenta como armar la
>> estrategia de validaciones (de una forma mas o menos genérica) para
>> controlar el ingreso de datos por parte de los usuarios. Hasta donde he
>> buscado no encontré ejemplos donde se hagan validaciones ¿hay alguno?
>>
>> Sé que esto no es especí­ficamente una duda sobre Xailer, pero aclararlo me
>> va servir para poder seguir avanzando. Es por eso que me atrevo a pedirles
>> una mano y solicitar si alguien me puede dar algún consejo
>>
>> Gracias
>> Daniel.
>
>

Salidas de un TDBMaskEdit

Publicado: Mié Sep 13, 2006 9:10 pm
por isolisNO_SPAM
Daniel
Tienes que tener la precaución de asignar "mrCANCEL" a la propiedad
"nModalResult" de tus botones Cancelar
--
SALUDOS!!
Israel Solis
"Daniel Du Pré" <ddupre@macrosistemas.com.uy> escribió en el mensaje
news:[email=450832e9@news.xailer.com...]450832e9@news.xailer.com...[/email]
> Israel
>
> Agradezco tu ayuda y te comento lo que pude hacer hasta ahora.
>
> Lo que me pasa es que no puedo conocer todos los casos que llevan a que se
> dispare el OnExit, en mi prueba las opciones que tengo son:
>
> 1) Click en el botón "Aceptar"
> 2) Click en el botón "Cancelar"
> 3) Enter en el TDBMaskEdit para pasar al TDBEdit
> 4) Tab en el TDBMaskEdit también para pasar al TDBEdit
> 5) Click en la cruz para cerrar el diálogo.
>
>
> Estando en modalidad AddNew()
> La opción 5 no me ofrece problemas, veo que el dialogo se cierra y no se
> dispara el OnExit.
> En las opciones 1, 3 y 4 puedo controlar lo que necesito (existencia del
> valor en la tabla y valores distintos de 0)
> En la opción 5 es donde se me está dando el problema, lo que pretendo
> hacer es que si se da click en Cancelar, se cierre el diálogo igual que en
> el caso 5, pero se me sigue disparando el OnExit. ¿Hay forma de saber si
> se dio click en el botón Cancelar?
>
>
> Gracias
> Daniel.
>
> isolisNO_SPAM@sanroms.com escribió:
>> Daniel:
>>
>> Dale una revisada al evento OnExit de las clases TDBEdit y TDBMaskEdit,
>> seguramente eso es lo que buscas (equivalencia de VALID)
>>
>> SALUDOS!!
>>
>> Israel Solis
>>
>>
>> "Daniel Du Pré" <ddupre@macrosistemas.com.uy> escribió en el mensaje
>> news:[email=45076d4f@news.xailer.com...]45076d4f@news.xailer.com...[/email]
>>> Hola foro:
>>>
>>> Tengo un pequeño form (tipo diálogo) con dos Label, un TDBMaskEdit, un
>>> TDBEdit, un botón para Aceptar y otro para Cancelar. El TDBMaskEdit lo
>>> utilizo para guardar el valor de un campo que es clave en una tabla y
>>> que no debe repetirse. ¿Como puedo saber de que forma se salió del
>>> TDBMaskEdit (se perdió el foco)?, es decir, si fue porque se dio click
>>> en el botón Cancelar, o en el Aceptar, o se apretó Tab o Enter y se pasó
>>> al TDBEdit o se dió click en la cruz para cerrar el dialogo.
>>>
>>>
>>> Con Clipper tengo la clausula VALID del comando GET en la cual hago
>>> prácticamente todo lo que quiero. Si bien entiendo que en Xailer la
>>> ejecución de los programas es por eventos, no me doy cuenta como armar
>>> la estrategia de validaciones (de una forma mas o menos genérica) para
>>> controlar el ingreso de datos por parte de los usuarios. Hasta donde he
>>> buscado no encontré ejemplos donde se hagan validaciones ¿hay alguno?
>>>
>>> Sé que esto no es específicamente una duda sobre Xailer, pero aclararlo
>>> me va servir para poder seguir avanzando. Es por eso que me atrevo a
>>> pedirles una mano y solicitar si alguien me puede dar algún consejo
>>>
>>> Gracias
>>> Daniel.
>>

Salidas de un TDBMaskEdit

Publicado: Jue Sep 14, 2006 5:10 am
por ddupre
Israel
Eso lo tuve en cuenta (se lo asigne a través del inspector de objetos)
pero no entiendo como funciona esa propiedad porque cuando doy click en
Cancelar igualmente se dispara el evento OnExit.
Lo que hago en el OnExit del TDBMaskEdit es esto, lo cual funciona bien
para todos los casos que te mencioné anteriormente menos para el botón
Cancelar
METHOD NroRamoExit( oSender, oNextCtl ) CLASS TAMRamos
WITH OBJECT oSender
if :Value == 0
MsgInfo('Nro. de Ramo no válido')
Return .F.
endif
if :oDataset:seek(str(:Value,4))
MsgInfo('Ya existe Ramo con ese nro.')
Return .F.
endif
END WITH
RETURN .T.
Gracias por tu ayuda
Daniel.
isolisNO_SPAM@sanroms.com escribió:
> Daniel
>
> Tienes que tener la precaución de asignar "mrCANCEL" a la propiedad
> "nModalResult" de tus botones Cancelar
>
>

Salidas de un TDBMaskEdit

Publicado: Jue Sep 14, 2006 10:46 am
por zeasoftware
Estoy teniendo un error con los TDBMaskEdit, al hacer un AddNew y entrar a
una TForm, hago una operacion con este campo pero me marca que es de Tipo
'C' por lo que me marca error.
El campo en la DBF es numerico.
_nX := nPrecio * (::oDBMaskEdit41:value/100)
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoft/

Salidas de un TDBMaskEdit

Publicado: Vie Sep 15, 2006 6:03 am
por ddupre
Ayuda por favor:
¿como puedo saber si se dio click en el boton Cancelar dentro del evento
NroRamoExit , para poner algo que evite que se ejecuten las lineas que
hay en dicho evento y se cierre el dialogo?.
Llevo mas de 4 dí­as tratando de hacer esta tonterí­a y no lo logro :-(
Gracias
Daniel.
Daniel Du Pré escribió:
> Israel
>
> Eso lo tuve en cuenta (se lo asigne a través del inspector de objetos)
> pero no entiendo como funciona esa propiedad porque cuando doy click en
> Cancelar igualmente se dispara el evento OnExit.
>
> Lo que hago en el OnExit del TDBMaskEdit es esto, lo cual funciona bien
> para todos los casos que te mencioné anteriormente menos para el botón
> Cancelar
>
> METHOD NroRamoExit( oSender, oNextCtl ) CLASS TAMRamos
>
> WITH OBJECT oSender
> if :Value == 0
> MsgInfo('Nro. de Ramo no válido')
> Return .F.
> endif
> if :oDataset:seek(str(:Value,4))
> MsgInfo('Ya existe Ramo con ese nro.')
> Return .F.
> endif
> END WITH
>
> RETURN .T.
>
> Gracias por tu ayuda
> Daniel.
>
>
> isolisNO_SPAM@sanroms.com escribió:
>> Daniel
>>
>> Tienes que tener la precaución de asignar "mrCANCEL" a la propiedad
>> "nModalResult" de tus botones Cancelar
>>
>>

Salidas de un TDBMaskEdit

Publicado: Vie Sep 15, 2006 12:14 pm
por jfgimenez
Daniel,
perdona el retraso
> ¿como puedo saber si se dio click en el boton Cancelar dentro del evento
> NroRamoExit , para poner algo que evite que se ejecuten las lineas que hay
> en dicho evento y se cierre el dialogo?.
Pon la propiedad lCancel = .T. del botón. Con eso ya no se dispara el evento
OnExit del control que tuviera el foco, y además te cierra automáticamente
el diálogo y te devuelve mrCANCEL (siempre que no hayas cambiado la
propiedad nModalResult del botón por otro valor).
--
Un saludo,
José F. Giménez
http://www.xailer.com

Salidas de un TDBMaskEdit

Publicado: Vie Sep 15, 2006 2:34 pm
por ddupre
Jose:
Mil gracias.
Funciono perfecto.
Daniel.
Jose F. Gimenez escribió:
> Daniel,
>
> perdona el retraso
>
>> ¿como puedo saber si se dio click en el boton Cancelar dentro del evento
>> NroRamoExit , para poner algo que evite que se ejecuten las lineas que hay
>> en dicho evento y se cierre el dialogo?.
>
> Pon la propiedad lCancel = .T. del botón. Con eso ya no se dispara el evento
> OnExit del control que tuviera el foco, y además te cierra automáticamente
> el diálogo y te devuelve mrCANCEL (siempre que no hayas cambiado la
> propiedad nModalResult del botón por otro valor).
>