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.

Salidas de un TDBMaskEdit

Foro público de Xailer en español
Responder
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Salidas de un TDBMaskEdit

Mensaje 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.
isolisNO_SPAM
Mensajes: 5
Registrado: Mar Oct 25, 2005 6:52 am

Salidas de un TDBMaskEdit

Mensaje 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.
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Salidas de un TDBMaskEdit

Mensaje 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.
>
>
isolisNO_SPAM
Mensajes: 5
Registrado: Mar Oct 25, 2005 6:52 am

Salidas de un TDBMaskEdit

Mensaje 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.
>>
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Salidas de un TDBMaskEdit

Mensaje 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
>
>
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Salidas de un TDBMaskEdit

Mensaje 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/
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Salidas de un TDBMaskEdit

Mensaje 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
>>
>>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Salidas de un TDBMaskEdit

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
ddupre
Mensajes: 329
Registrado: Lun Nov 12, 2007 3:53 pm

Salidas de un TDBMaskEdit

Mensaje 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).
>
Responder