Page 1 of 1

AYUDA CON FOLDER

Posted: Tue Sep 12, 2006 8:24 pm
by A&C
HOLA AL FORO YO NUEVAMENTE CON DILEMAS

MIREN TENGO UN DIALOGO DENTRO UN FOLDER CON DOS PESTAÑAS,, EN CADA UNA DE ELLAS UNOS GET, BROWSE, ETC..

EL PROBLEMA ES Q CUANDO PINCHO LAS SOLAPAS DE LA SEGUNDA PESTAÑA DEL FOLDER SE EJECUTA LA INSTRUCCION VALID DEL PRIMER GET,, ES RARO ES,, AL PRINCIPIO LO HACIA EN LA PRIMERA PESTAÑA DEL FOLDER EN LA VALID DEL PRIMER GET (Ojo las dos pestañas del folder tienen los mismo objetos,,),, PERO LO SOLUCIONES DANDOLE EL SETFOCUS AL GET CON ON INIT del dialogo...

la pregunta del millon como le digo que cuando pinche la segunda pestaña del folder el get que tiene el valid reciba el foco..


GRACIAS DE ANTEMANO

Ayuda con Folder

Posted: Wed Sep 13, 2006 11:34 am
by Javier LLoris
El folder tiene la clausula ON CHANGE que sirve para saber cuando se cambia de pestaña.

Ejemplo:

ON CHANGE ( IIf( oFolder:nOption == 1, oGet1:SetFocus(), oGet2:SetFocus() )

Esto posicionaria el foco en el objeto oGet1 si esta en la solapa 1 y si esta en otra en el objeto oGet2.

Ayuda con Folder

Posted: Wed Sep 13, 2006 11:34 am
by Javier LLoris
El folder tiene la clausula ON CHANGE que sirve para saber cuando se cambia de pestaña.

Ejemplo:

ON CHANGE ( IIf( oFolder:nOption == 1, oGet1:SetFocus(), oGet2:SetFocus() )

Esto posicionaria el foco en el objeto oGet1 si esta en la solapa 1 y si esta en otra en el objeto oGet2.

AYUDA CON FOLDER

Posted: Wed Sep 13, 2006 1:52 pm
by A&C
EL PROBLEMA DEBE SER OTRO APLIQUE LO Q DIJISTE Y AUNQUE DA EL FOCO AL GET,, AUN SE SIGUE EJECUTANDO EL VALID DEL GET,, Y NOSE PORQUE... SE SUPONE Q EL VALID SOLO DEBERIA VALIDAR LA SALIDA DEL GET VERDAD,,

ALGUNA SUGERENCIA

GRACIAS

Posted: Fri Sep 15, 2006 10:47 am
by manuramos
Podrías modificar la clase TGET para que por defecto se ejecute el VALID, pero que mediante un nuevo DATA, puesto a 'false', éste no se ejecute.

Me explico, podrías añadir:

DATA lValidar AS LOGIC INIT .T.

Después en el METHOD lValid()

cambiar:

if ::oGet:BadDate
Tone( 100, 3 )
return .f.
else
...

por:

if ::oGet:BadDate
Tone( 100, 3 )
return .f.
elseif !::lValidar
return .T.
else
...

De esta manera, el Valid sólo se ejecuta cuando ::lValidar está en .T. (Defecto)

Finalmente, podrías poner en el ON CHANGE de la 1ª pesataña oGet:lValidar := .F., y en el de la 2ª oGet:lValidar := .T. o algo así, de manera que cuando pinchas en la segunda pestaña el Get en cuestión no se valida y cuando vuelves a la primera se vuelve a activar la validación del Get.

Debería funcionar, a no ser que el método de validación del GET se ejecute antes que el ON CHANGE del Folder, en cuyo caso habrá que poner lValidar := .F. en un lugar más apropiado, o sujeto a condiciones más específicas.

Por probar no pierdfes nada.

Un saludo