Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Validar Los Campos De La Fecha
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Validar Los Campos De La Fecha 
 
Buenas amigos, gamberos tengo instalado gambas 2.19, uso Phpmyadmin bajo Ubuntu 10.04 LTS - la versión Lucid Lynx.

Estoy tratando de validar los datos que se introducen en la fecha tengo un Valuebox de tipo Date que me da el formato de fecha asi dd/mm/yyyy
El codigo que tengo me calcula la edad de una persona apartir de la Fecha de Nacimiento y la Fecha actual del sistema el codigo es el siguiente:

PUBLIC SUB ValueBox1_LostFocus()
 DIM DateX AS String[3]
  TextBox10.Text = Format$(Date, "dd/mm/yyyy")
  DateX = Split(ValueBox1.text, "/")
  TextBox9.Text = CInt((CInt(Format(Date, "yyyymmdd")) - CInt(DateX[2] & DateX[1] & DateX[0])) / 10000)
END

El TextBox10 es quien tiene la Fecha Actual del Sistema
El TextBox9 es quien da el resultado osea la Edad
El Valuebox1 es donde introduzco la Fecha de Nacimiento


Este codigo funciona 100% bien calcula la Edad fino pero siempre y cuando coloque la fecha en el siguiente orden dd/mm/yyyy "el cual es como la quiero tener "

Lo que quisiera es validar que cuando coloque un dia mayor a 31 ejemplo 33/09/2011 me de un mensaje de error donde diga el mes tiene 31 dias maximo, mas de 31 noo,  No se puede procesar la fecha error en el dia

y que cuando coloque en el mes algo mayor a 12 ejemplo 31/13/2011 me diga epa. los meses solo son 12 No se puede procesar la fecha errror en el mes

Espero me puedan ayudar o guiarme saludos y mil gracias
 



 
mym769 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Validar Los Campos De La Fecha 
 
Hola mym769

Tienes también la posibilidad que sabiendo que mes es, abrir un combobox en el que puedas dar a escoger el día.Contando con los años bisiestos.

Por otro lado para ahorrarte conversiones prueba la función STR$, que convierte números y fechas, respetando el formato local.

PUBLIC SUB Form_Open()    
  convertir("04/30/12")  
END

PUBLIC SUB convertir(fecha AS Date)
  DIM fechaconv AS String
  
  fechaconv = Str$(fecha)
  PRINT fechaconv
    
END
 


A todo esto.Llegamos a la conclusión de dárselo todo servido al usuario. click,click.

Ah, puedes usar la función Split, así:

PUBLIC SUB Form_Open()
  DIM afecha AS String[]
      
  afecha = Split("33/12/2012", "/")
  
  IF CInt(afecha[0]) > 31 THEN PRINT "epa, te pasaste en los días"
  IF CInt(afecha[1]) > 12 THEN PRINT "epa, te pasaste en los meses"
    
END
 


Tendrás que tener en cuenta cuantos días tiene ese mes, en el caso de bisiesto, el mes que es.

Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 12 Abril 2012, 08:56; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Validar Los Campos De La Fecha 
 
Buenas amigo. Shell primero muchas gracias por tratar de ayudarme de verdad.. Pero aun me da error y no logro validar el primer dato que es el dia y el segundo que es el mes
Por lo que entendi afecha[0] es el dia y el afecha[1] es el mes pero no me lo valida aun, apenas coloco cualquier numero y me da los mensajes de advertencia...

PUBLIC SUB ValueBox1_Change()
DIM afecha AS String[3]
      
  afecha = Split("33/11/2100", "/")  Cuando modifico el 33 por otro menor ejemplo 30 no da error pero deja que trabajar acepta 32 en el dia y 13 en el mes
  
  IF CInt(afecha[0]) > 31 THEN
   Message.Info("epa, te pasaste en los días")
   ValueBox1.Value = ""
   ValueBox1.SetFocus
  ENDIF  
  
  IF CInt(afecha[1]) > 12 THEN
   Message.Info("epa, te pasaste en los meses")
   KILL ValueBox1.LostFocus
    ValueBox1.Value = ""
    ValueBox1.SetFocus
  ENDIF

END
 



 
mym769 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Validar Los Campos De La Fecha 
 
Listo amigo realice unos cambios y me funciono aqui esta lo que hice tambien para la comunidad que sirva de aporte de este humilde servidor

PUBLIC SUB ValueBox1_Change()
DIM fecha AS String[3]      
  fecha = Split(ValueBox1.text, "/")   Cambie la fecha que tenia por el Valuebox donde introduzco la fecha manualmente
  IF CInt(fecha[0]) > 31 THEN
   Message.Info("epa, te pasaste en los días")
   ValueBox1.Value = ""
   ValueBox1.SetFocus  
  ENDIF      
  IF CInt(fecha[1]) > 12 THEN
   Message.Info("epa, te pasaste en los meses")  
    ValueBox1.Value = ""
    ValueBox1.SetFocus  
  ENDIF
  CATCH                                             agregue un capturador de error para el Error 21 OUT OF BOUNDS que siempre me salia
END

En esencia tu codigo me sirvio de mucho.. Gracias amigo SHELL estoy muy agradecido...
 



 
mym769 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Hago Para Validar Dos Campos En Una M... jousseph General 12 Martes, 06 Julio 2010, 19:24 Ver último mensaje
jguardon
No hay nuevos mensajes Como Obtener La Fecha Actual? [SOLUCIONADO] CanihoJR General 4 Jueves, 09 Junio 2011, 16:57 Ver último mensaje
skaterleopoldo12
No hay nuevos mensajes Validar Campos, TextBox skaterleopoldo12 General 2 Miercoles, 13 Junio 2012, 03:26 Ver último mensaje
skaterleopoldo12
No hay nuevos mensajes ¿Como Formateo La Siguiente Fecha? gambafeliz General 9 Lunes, 26 Agosto 2019, 08:35 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron