FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Obligar a ejecutar todos los valid
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Obligar a ejecutar todos los valid
Posted: Thu Aug 06, 2009 05:06 PM

Amigos del Foro,

En alguna parte que despues de una busqueda detallada no logre encontrar estaba la repuesta a esto, pero bueno el problema es el siguiente : tengo un dialogo donde se ejecutan 7 valid, como debo hacer para que si el usuario con el mouse pincha la tecla aceptar (Grabar) se obligue a ejecutarse todos los valid ? o sea que no quede ni uno si evaluar ?

Espero haberme explicado, y agradeciendo de antemano su colaboracion

Ramon Paredes
Desde Managua, Nicaragua

... Desde la Tierra de lagos y Volcanes......
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Obligar a ejecutar todos los valid
Posted: Thu Aug 06, 2009 06:02 PM
Tendras que evaluar los bValids de cada control: EVAL(<control>:bValid)

Si solo tienes 7 controles y todos los controles tienen validacion puedes hacer directamente:

LOCAL lValid := .F.
AEVAL(oDlg:aControls, { |o| lValid .OR. EVAL(o:bValid) }


En caso contrario tendras que evaluarlos uno por uno:

lValid := EVAL( oGet1:bValid ) .OR. EVAL( oGet2:bValid ) .OR. ......

Lo que puedes hacer es utilizar un ARRAY:

LOCAL aGet := ARRAY(7)
.
.
REDEFINE GET aGet[1] ....
REDEFINE GET aGet[2] ....
REDEFINE GET aGet[3] ....
.
.

AsĂ­ podras hacer:

LOCAL lValid := .F.
AEVAL(aGet, { |o| lValid .OR. EVAL(o:bValid) }


En todos los casos, si lValid da .T. es que han pasado todas las validaciones, sino es que algĂșn bValid ha dado .F.
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Re: Obligar a ejecutar todos los valid
Posted: Thu Aug 06, 2009 06:02 PM
Tendras que evaluar los bValids de cada control: EVAL(<control>:bValid)

Si solo tienes 7 controles y todos los controles tienen validacion puedes hacer directamente:

LOCAL lValid := .F.
AEVAL(oDlg:aControls, { |o| lValid .OR. EVAL(o:bValid) }


En caso contrario tendras que evaluarlos uno por uno:

lValid := EVAL( oGet1:bValid ) .OR. EVAL( oGet2:bValid ) .OR. ......

Lo que puedes hacer es utilizar un ARRAY:

LOCAL aGet := ARRAY(7)
.
.
REDEFINE GET aGet[1] ....
REDEFINE GET aGet[2] ....
REDEFINE GET aGet[3] ....
.
.

AsĂ­ podras hacer:

LOCAL lValid := .F.
AEVAL(aGet, { |o| lValid .OR. EVAL(o:bValid) }


En todos los casos, si lValid da .T. es que han pasado todas las validaciones, sino es que algĂșn bValid ha dado .F.
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Re: Obligar a ejecutar todos los valid
Posted: Thu Aug 06, 2009 07:42 PM

Gracias antolin ,probare a ver que tal,

Saludes
Ramon Paredes

... Desde la Tierra de lagos y Volcanes......

Continue the discussion