Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   validar en fecha, dia y mes (https://www.clubdelphi.com/foros/showthread.php?t=18291)

alcides 08-02-2005 15:30:12

validar en fecha, dia y mes
 
hola a todos,

En la validación de la fecha: el año lo hace correctamente, pero cuando
quiero validar el dia, si es mayor de 31 debe darme el mensaje 'error en dia' en
cambio se interunpe la corrida y da el mensaje 'is not valid date and time'
eso mismo con el mes, porque lo hace en el caso del año y no lo hace con
el dia y el mes.

esto es lo que hago:
Código Delphi [-]
  procedure TFrm_Movimientos.Tbl_EncabezadoFecha_TransacionChange(
    Sender: TField);
  var
  ano, mes, dia:word;
  Fecha:tdate;
  begin
      Fecha := Tbl_Encabezado.FieldbyName('Fecha_Transacion').AsDateTime;
      DecodeDate(Fecha, ano, mes, dia);
  if  (dia < 01) or (dia > 31) then begin
  Showmessage ('Error en Día, Favor Verificar, ' + 'Día introducido' +IntToStr(dia));
  abort
  end
  else
  if  (mes < 01) or (mes > 12) then beginShowmessage('Error en Mes, Favor Verificar, ' +
  'Mes introducido' + IntToStr(mes));
  abort
  end
  else
  if  (ano < 1990) then begin
  Showmessage('Error en Año, Favor Verificar, ' + 'Año introducido' + IntToStr(ano));
  abort
  end;
  end;
  end;
Gracias anticipadas,

Alcides
Rep.Dom.

marcoszorrilla 08-02-2005 15:41:57

El problema me parece que viene porque la fecha al no ser válida, se produce el error en la asignación primera, y entonces no llega a tu mensaje, de todas maneras no sé que es lo que quieres hacer, pero pienso sería mejor capturar el error y personalizar el mensaje.

Un Saludo.

alcides 08-02-2005 16:29:33

gracias marcoszorrilla,


Cita:

Empezado por marcoszorrilla
El problema me parece que viene porque la fecha al no ser válida, se produce el error en la asignación primera, y entonces no llega a tu mensaje, de todas maneras no sé que es lo que quieres hacer, pero pienso sería mejor capturar el error y personalizar el mensaje.

Un Saludo.

si la fecha no es valida, despues de decodificada
lo que quiero es determinar cuando se introduzca un dia en blanco o mayor de 31, o se introduzca un mes en blanco o mayor de 12, porque estos campo seran usado para calcular activos fijos.


Alcides
Rep.Dom.


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

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