• Lunes 29 de Abril de 2024, 04:54

Autor Tema:  Validar Fechas  (Leído 2910 veces)

ellerysammy

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Validar Fechas
« en: Lunes 29 de Noviembre de 2004, 04:22 »
0
Estoy haciendo una aplicacion en la que tengo que manejar unas fechas para activar una serie de alarmas, es algo asi como un monitoreador de actividades, el caso es que para capturar dichas fechas utilizo un MaskEdit con esta mascara !99/99/00;1;_ el problema que se me esta presentyado al momento de capturar la fecha es que el usuario me puede digitar una fecha invalida tal como 54/27/2004 (dia/mes/año) y cuando intento guardar el dato en una base de datos access me bota el error de que la fecha no es valida y no se puede guardar.....
Que podria hacer para validar dicha fecha. (no quiero quitar el maskedit, ni tampoco usar edit's separados para captuar dia mes y año)
Tambien quisiera saber si en la mascara del MaskEdit puedo validar esto ????
Agradezco cualquier ayuda
No importa cuan ocupado estes, sino cuanto de lo que realmente importa estas haciendo

NOVA_BUILDER

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Validar Fechas
« Respuesta #1 en: Miércoles 1 de Diciembre de 2004, 00:51 »
0
:comp:  OK, MIRA NO SE PORQUE TIENES DOS CUADRITOS, DE NIVEL DE USUARIO, TALVEZ SEA POR EL TIEMPO, PERO EN FIN...

LOS DIAS SON DEL 1 AL 31

LOS MESES DEL 1 AL 12

Y EL AÑO ...

PUEDES VALIDAR SI LO DESEAS QUE SEA >= AL ACTUAL...

COMO...

1 OPCION -> CREA LAS SIG VAR. DIA, MES, ANIO;

Y VALIDA QUE VALORES PERMITES EN CADA UNA, QUE SERIAN LOS ANTES MENSIONADOS; PARA EXTRAER EL AÑO ACTUAL YA SABES NO (PUEDE SER CON DATE(NOW()) O SOLO CON DATE(); Y OBTIENES LOS ULTIMOS 2 CHAR.

2 OPCION -> VALIDAR DIRECTAMENTE EL MASKEDIT POR POSISIONES

EJ.

el usuario captura la fecha

validacio::::


String dia,mes,anio;
dia="";
int posision=0;


for(int busca=1;busca<TEditMask->Tetx.Length();busca++)
{

   if (TEditmask=="/")
   {
   break;
    }
   else
      {
        dia=dia+TEditMask[busca];
posision++;
        }


}



depues otro for parecido que inicia en posision y valida mes y posteriormente otro que valida anio, ..

 :scream:  ESPERO QUE TE SIRVA.
EL QUE LEE SOBRE VB...ES PORQUE ESTA APRENDIENDO A LEER.

betitono1

  • Miembro MUY activo
  • ***
  • Mensajes: 235
    • Ver Perfil
Re: Validar Fechas
« Respuesta #2 en: Miércoles 1 de Diciembre de 2004, 15:48 »
0
ERxiste un componente q maneja las fechas en sólo haciendo clic en la fecha aparece la cadena y el usuariono puede modificarla

utilizar el MonthCalendar de la paleta Win32, y asi puedes ver el ejempo, este edit lo puedes dejar como sólo lectura


void __fastcall TForm1::MonthCalendar1Click(TObject *Sender)
{
Edit1->Text=MonthCalendar1->Date;
}


Saludos

ellerysammy

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Validar Fechas
« Respuesta #3 en: Jueves 2 de Diciembre de 2004, 04:56 »
0
Oyeme nova builder, si hago la pregunta es por que precisamente yo no queria hacer eso que me aconsejaste, por eso enfoque mi pregunta diciendo que si la validacion de la fecha se podia hacer en el maskedit......
No importa cuan ocupado estes, sino cuanto de lo que realmente importa estas haciendo

betitono1

  • Miembro MUY activo
  • ***
  • Mensajes: 235
    • Ver Perfil
Re: Validar Fechas
« Respuesta #4 en: Jueves 2 de Diciembre de 2004, 06:19 »
0
Creo que debes estar agradecido que hayan tomado en cuenta tu pregunta y no exigir que otras personas resuelvan tus problemas, espero q saques provecho de lo que te responden.

Saludos

ellerysammy

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Validar Fechas
« Respuesta #5 en: Jueves 2 de Diciembre de 2004, 18:47 »
0
No es que no agradezca el aporte es la forma como lo hace, OK, MIRA NO SE PORQUE TIENES DOS CUADRITOS, DE NIVEL DE USUARIO, TALVEZ SEA POR EL TIEMPO, PERO EN FIN... como queriendo decir algo.....

Es paneas obvio que los meses son 12 y como dije antes mi pregunta estaba enfocada a la validacion en la mascara del mask edit, es decir, si se podia establecer una mascara de tal forma que no se puediesen digitar fechas invalidas, sin tener que escribir el codigo que NovaBuilder expone en su respuesta.

De todas formas Gracias y para el bien de este foro y que siga funcionanado tal bien como lo ha venido haciendo, antes de responder una pregunta los usuarios deberian(mos) enterderla primero.

See You
No importa cuan ocupado estes, sino cuanto de lo que realmente importa estas haciendo

NOVA_BUILDER

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Validar Fechas
« Respuesta #6 en: Jueves 2 de Diciembre de 2004, 20:34 »
0
OK

GRACIAS POR EL CONSEJO Y DISCULPA LO DE LOS DOS CUADRITOS....

 :devil:
EL QUE LEE SOBRE VB...ES PORQUE ESTA APRENDIENDO A LEER.