Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Formato MaskEdit (https://www.clubdelphi.com/foros/showthread.php?t=54717)

Buelos 28-03-2008 05:58:40

Formato MaskEdit
 
hola, agradezco me puedan colaboran con una duda que tengo, tengo un control de tipo mask edit por medio del cual manejo la hora ingresada por el usuario, en el edit mask tengo el formato del edit como short time pero necesito si alguien sabe como hago para que en el espacio de minutos no me acepte mas de 59 y en el de hora no mas de 23, les agradezco su colaboracion cuidense chao.

cloayza 28-03-2008 13:25:53

Prueba este codigo, ami me funciona muy bien.
Código Delphi [-]
procedure TForm1.MaskEdit1Exit(Sender: TObject);


     Function IsTimeValid(Const ATime:String;Const AShowError:Boolean):Boolean;
     Var
        Hora,Minutos:string;
        Code,Value,iError:integer;
     Begin
          Hora   :=Copy(ATime,1,Pos(':',ATime)-1);
          Minutos:=Copy(ATime,Pos(':',ATime)+1,Length(ATime));
          iError:=0;
          Val(Hora,Value,Code);

          If Not ((Code=0) And (Value>=0) and (Value<=23)) Then
             iError:=1;

          Val(Minutos,Value,code);
          If Not ((Code=0) And (Value>=0) And (Value<=59)) Then
             Inc(iError,2);

          If AShowError Then
          Begin
               Case (iError) Of
                    1,3: ShowMessage('Hora invalida...');
                    2: ShowMessage('Minutos invalidos...');
               End;
          End;
          Result:=(iError=0)
     End;

begin
     If Not IsTimeValid(MaskEdit1.Text,True) Then
        MaskEdit1.SetFocus;
end;

Saludos desde
Concepcion-Chile

Lepe 28-03-2008 13:56:29

¿no puedes usar un TdateTimePicker? ya hace todo eso internamente y mostrará un calendario.

Saludos

Buelos 01-04-2008 00:09:07

Hola gracias a todos por su colaboracion la verdad utilice el codigo de cloayza y me resulto perfecto, gracias de verdad por todo y tambien a lepe por su sugerencia pero la verdad ya habia intentado trabajar con este control y me trae problemas de la forma como la necesito.


La franja horaria es GMT +2. Ahora son las 10:54:42.

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