Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con maskedit (https://www.clubdelphi.com/foros/showthread.php?t=59636)

lKinGl 03-09-2008 03:34:27

Problema con maskedit
 
hola amigos foristas,

quisiera saber como comprobar si un maskedit tiene los datos completos o no

resulta que tengo un maskedit "Fecha de Nacimiento" y cuando presiono enter se resta la fecha actual con la fecha de nacimiento y me da la edad

pero no se anticipar el error si un usuario no escribe ningun dato o si los escribe incompletos

en español el algoritmo que quiero realizar es este:

si maskedit1.text esta completo y presiono enter
sacar edad(ya tengo el codigo).
de lo contrario
application.messagebox(' Debe llenar bien el maskedit'+#13+'Intentelo de nuevo','');
finsi


espero me puedan ayudar

Caro 03-09-2008 04:13:18

Hola lKinGl, puedes utilizar la función TryStrToDate.

Código Delphi [-]
procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
var
 Fecha : TDateTime;
begin
 if key=#13 then
  begin
   if TryStrToDate(MaskEdit1.Text, Fecha) then
    //Hacemos los calculos
   else
    begin
     showmessage('Debe llenar bien la fecha');
     MaskEdit1.SetFocus;
    end;
  end;
end;

lKinGl 03-09-2008 04:17:59

1 millon amigo Caro es exactamente lo que queria

publico el códgio final para que a alguien mas le sirva


Código Delphi [-]
procedure TForm4.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
var
 Fecha : TDateTime;
begin
 if key=#13 then
  begin
   if TryStrToDate(MaskEdit1.Text, Fecha) then
    begin
     label8.Caption := IntToSTr(YearsBetween(StrToDate(MaskEdit1.Text), StrToDate(form3.Label1.Caption)))+'  Años';
    end
   else
    begin
     showmessage('Debe llenar bien la fecha');
     MaskEdit1.SetFocus;
    end;
  end;
end;

Caro 03-09-2008 04:24:35

Hola de nuevo lking, solo comentarte que soy amiga ;).

Saluditos

lKinGl 03-09-2008 04:25:37

Disculpa, de verdad no fue mi intencion amiga


La franja horaria es GMT +2. Ahora son las 03:22:34.

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