Botón buscar foto

resulta que tengo un botón buscar foto quiero que se habilite el botón cuando todos los campos estén llenos para luego de ultimo ingresar la foto.

1 respuesta

Respuesta
1

Pues creo que habría un par de opciones, una es que en cada evento valid de los text llames a una función que te valide que todos los text estén llenos y que habilite el botón según sea el caso, la otra opción es que lo hagas en el evento clic del botón, en ese evento primero validar que todos los text estén llenos e incluso mostrar un mensaje indicando que falta llenar tal campo

He aplicado el siguiente código pero no me funciona.

Método Habilitar

IF !Empty(Thisform.TxtNie.Value)

Thisform.Command1.Enabled = .T.

else

endif

lo pongo en el evento lostfocus del text.

¿Estas seguro que va al método habilitar? Ubica messagebox antes de que llames al método y también dentro del método para saber que esta yendo allá y ver porque parte de la pregunta se esta yendo

if !empty(thisform.txtnie.value)

thisform.command1.enabled=.t.

messagebox('ingresa por el verdadero de la condición')

else

Messagebox('no entra a la validación')

Endif

me aparece el mensaje después del ELSE.

Entonces eso es porque la validación no esta bien hecha, de pronto no te esta validando bien el empty, si es un campo carácter puedes usar la siguiente condición para saber si esta vacío o no

if len(alltrim(thisform.text1.value)) = 0

reemplaza esa linea en vez de if ! Empty(thisform.txtnie.value) e intenta nuevamente haber si te valida y me comentas

así tengo el código.

y es el mismo problema

IF LEN(Alltrim(Thisform.TxtNie.Value)) = 0 And;
LEN(Alltrim(Thisform.TxtNom.Value)) = 0 And;
LEN(Alltrim(Thisform.TxtApe.Value))= 0 And;
LEN(Alltrim(Thisform.TxtLug.Value))= 0 And;
LEN(Alltrim(Thisform.TxtNac.Value))= 0 And;
LEN(Alltrim(Thisform.edtDir.Value))= 0 And;
LEN(Alltrim(Thisform.CboSex.Value))= 0 And;
LEN(Alltrim(Thisform.TxtIng.Value))= 0 And;
LEN(Alltrim(Thisform.TxtTel.Value))= 0 And;
LEN(Alltrim(Thisform.TXTnen.Value))= 0 And;
LEN(Alltrim(Thisform.TxtAen.Value))= 0
Thisform.Command1.Enabled = .T.
messagebox('ingresa por el verdadero de la condición')
ELSE
messagebox('no entra a la validación')
ENDIF

Pero es que si te das cuenta si lo pones indicas que el botón de la foto solo se te habilite si todos los text están vacíos y no al contrario, todas las condiciones no deberían llevar = sino > para que así le indiques que te active el botón si todos los text están llenos

IF LEN(Alltrim(Thisform.TxtNie.Value)) > 0 And; LEN(Alltrim(Thisform.TxtNom.Value)) > 0 And; LEN(Alltrim(Thisform.TxtApe.Value)) > 0 And; LEN(Alltrim(Thisform.TxtLug.Value)) > 0 And; LEN(Alltrim(Thisform.TxtNac.Value)) > 0 And; LEN(Alltrim(Thisform.edtDir.Value)) > 0 And; LEN(Alltrim(Thisform.CboSex.Value)) > 0 And; LEN(Alltrim(Thisform.TxtIng.Value)) > 0 And; LEN(Alltrim(Thisform.TxtTel.Value)) > 0 And; LEN(Alltrim(Thisform.TXTnen.Value)) > 0 And; LEN(Alltrim(Thisform.TxtAen.Value)) > 0

Y en teoría ahí te debería dar el resultado que deseas

este código lo ubico en el evento del Text.Lostfocus y siempre me da el mismo problema.

No pues ese código debe ir en el método habilitar y en el evento lostfocus debes llamar a ese método

por eso así es como lo aplico.

Ah es que recién noto que en tu validación tienes un combo y los combos se validan de otra manera, reemplaza esta linea

LEN(Alltrim(Thisform. CboSex.Value)) > 0

Por esta

Thisform. Cbosex.listindex > 0

el mismo problema.

¿Todos tus text son carácter? ¿No hay alguno numérico?

TxtNac = Tipo FEcha

TxtIng = Tipo FECha

TxtTel = Numérico

Txttel debe ser

Thisform.TxtTel.Value > 0

Las fechas son un poco mas complicadas, lo mejor que puedes hacer es asignarles en el evento init o en algún lado la fecha de hoy y te evitas esa validación

thisform.txtnac.value = date()

thisform.txting.value = date()

siempre el mismo problema.

Ok entonces nos toca hacerlo poco a poco, en el método habilitar debes irlo haciendo por parte, primero valida un campo

IF LEN(Alltrim(Thisform.TxtNie.Value)) > 0

Thisform.Command1.Enabled = .T.

messagebox('ingresa por el verdadero de la condición')

ELSE

Messagebox('no entra a la validación')

ENDIF

Validé el primer campo y genera el mismo problema.

Mmm, llama al método habilitar desde el evento valid de txtnie

el resultado es el mismo.

Puedes enviarme el form ( el archivo .scx y .sct) al mail [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas