PDA

Ver la Versión Completa : Comprobación de MaskEdit


lKinGl
25-09-2008, 16:14:08
Salu2 amigos foristas...

tengo un Maskedit en el cual quiero que el usuario introduzca la cedula de identidad que tiene actualmente este formato...

99.999.999

mi prgeunta es

¿Como compruebo que ese maskedit este lleno?

por que acostumbro que al momento de presionar el boton guardar se hagan las correspondientes validaciones y si algo esta mal llenado manda error

pero no hayo como comprobar que al maskedit esté completamente lleno

Gracias adelantadas!!

BlueSteel
25-09-2008, 16:29:39
Salu2 amigos foristas...

tengo un Maskedit en el cual quiero que el usuario introduzca la cedula de identidad que tiene actualmente este formato...

99.999.999

mi prgeunta es

¿Como compruebo que ese maskedit este lleno?

por que acostumbro que al momento de presionar el boton guardar se hagan las correspondientes validaciones y si algo esta mal llenado manda error

pero no hayo como comprobar que al maskedit esté completamente lleno

Gracias adelantadas!!


Hola.. pero si es un MaskEdit, tengo entendido que no podras salir del foco si no se ingresan todos los campos que solicitas .... por lo cual si quieres ingresar una cedula que no complete esos caracteres como 40--- deberás ingresar 00.000.040...

Salu2:p:D

lKinGl
25-09-2008, 16:32:30
Hola.. pero si es un MaskEdit, tengo entendido que no podras salir del foco si no se ingresan todos los campos que solicitas .... por lo cual si quieres ingresar una cedula que no complete esos caracteres como 40--- deberás ingresar 00.000.040...

Salu2:p:D




si se puede salir del maskedit estando los datos incompletos por eso necesito saber como se hace la validacion

gracias por tu tiempo....

BlueSteel
25-09-2008, 16:39:07
si se puede salir del maskedit estando los datos incompletos por eso necesito saber como se hace la validacion

gracias por tu tiempo....

pero eso genera un error de Invalid imput value

creo que tendrias que capturar / intersectar el error y validar contra eso...revisa estos hilo1 (http://www.clubdelphi.com/foros/showthread.php?t=3560&highlight=capturar+error+maskedit) hilo2 (http://www.clubdelphi.com/foros/showthread.php?t=4453&highlight=capturar+error+maskedit)

Salu2:p:D

Caro
25-09-2008, 16:51:06
Holas, yo no uso el MaskEdit, pero acabo de hacer una prueba y no da ningún error al salir del MaskEdit con los datos incompletos. lKing, lo que se me ocurre para validar el MaskEdit es lo siguiente, puedes ponerlo en el evento OnExit del MaskEdit, o en el boton donde verificas los datos.

En las posiones que no se llena nada, te lo toma como vacío lo que estoy haciendo es eliminar todos esos vacios en una variable axiliar y despues preguntar por la longitud.

procedure TForm1.MaskEdit1Exit(Sender: TObject);
var
Aux : String;
begin
Aux := Trim(MaskEdit1.Text);
While Pos(' ', Aux) > 0) do
Delete(Aux,Pos(' ', Aux),1);
if Length(Aux)<10 then
begin
showmessage('No ha terminado de llenar ');
MaskEdit1.SetFocus;
end;
end;


Seguro que hay alguna forma mejor, ya nos van a corregir nuestros amigos.

Saluditos

lKinGl
25-09-2008, 17:01:01
hmmm pero no entiendo por que colocas imput, si el maskedit es un componente similar al edit normal solo que el maskedit permite hacer validaciones

lo que quiero saber es como saber si mi maskedit fue bien llenado o no...

se supone que si me dices input es por crees que estoy usando un inputbox?

disculpa pero de verdad no te entiendo

lKinGl
25-09-2008, 17:04:18
Muchas gracias caro es exactamente lo que necesito, pero ahora me dejaste con el código pero aun mas enredado por que no logro comprenderlo, podrias explicarmelo detalladamente para asimilarlo mejor?

gracias por sus respuestas

Caro
25-09-2008, 17:13:21
..........comprenderlo, podrias explicarmelo detalladamente para asimilarlo mejor?


Te explico:


procedure TForm1.MaskEdit1Exit(Sender: TObject);
var
Aux : String;
begin
//Trim elimina los espacios de los costados
Aux := Trim(MaskEdit1.Text);

//Recorremos hasta terminar de quitar los espacios
//Pos nos da la posición donde se encuentra el primer espacio
While Pos(' ', Aux) > 0 do
//Delete nos borrar de Aux el espacio de la posición donde ha encontrado Pos
Delete(Aux,Pos(' ', Aux),1);

//Preguntamos por su longitud, si es menor a 10 es porque por ahí hay algún espacio y ha sido eliminado
if Length(Aux)<10 then
begin
showmessage('No ha terminado de llenar ');
MaskEdit1.SetFocus;
end;
end;


Saluditos

lKinGl
25-09-2008, 17:24:57
excelente caro de verdad muchas gracias por la explicación... entendí el proceso perfectamente ;):D

BlueSteel
25-09-2008, 17:32:20
hmmm pero no entiendo por que colocas imput, si el maskedit es un componente similar al edit normal solo que el maskedit permite hacer validaciones

lo que quiero saber es como saber si mi maskedit fue bien llenado o no...

se supone que si me dices input es por crees que estoy usando un inputbox?

disculpa pero de verdad no te entiendo

sorry.... es que donde hice la prueba tenia el maskedit validando si el registro existia en la base de datos... porl o cual el error que me dio debe ser por eso....

Salu2:p:D

guzmanek
04-10-2008, 08:37:39
Salu2 amigos foristas...

tengo un Maskedit en el cual quiero que el usuario introduzca la cedula de identidad que tiene actualmente este formato...

99.999.999

mi prgeunta es

¿Como compruebo que ese maskedit este lleno?

por que acostumbro que al momento de presionar el boton guardar se hagan las correspondientes validaciones y si algo esta mal llenado manda error

pero no hayo como comprobar que al maskedit esté completamente lleno

Gracias adelantadas!!


Hola.

Lo q tenes q hacer es cambiar los 9s por 0s (CEROS) para q al salirte del maskedit sin completarlo te de error y te vuelva al maskedit.

Lo probe y funca.

Lo q hace el 0 (cero), es obligar a llenar ese campo. a diferencia del 9 q es opcional.

Espero q no sea muy tarde.

Saludos a todos.