Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comprobación de MaskEdit (https://www.clubdelphi.com/foros/showthread.php?t=60243)

lKinGl 25-09-2008 16:14:08

Comprobación de MaskEdit
 
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

Cita:

Empezado por lKinGl (Mensaje 316249)
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

Cita:

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

Cita:

Empezado por lKinGl (Mensaje 316257)
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 hilo2

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.
Código Delphi [-]
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

Cita:

Empezado por lKinGl (Mensaje 316277)
..........comprenderlo, podrias explicarmelo detalladamente para asimilarlo mejor?

Te explico:

Código Delphi [-]
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

Cita:

Empezado por lKinGl (Mensaje 316273)
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

Cita:

Empezado por lKinGl (Mensaje 316249)
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.


La franja horaria es GMT +2. Ahora son las 20:24:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi