FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con esta Función
Hola amigos de este foro:
Estoy haciendo una aplicación donde necesito validar el numero de carnet de identidad. Nota: Soy cubano y el número de carnet tiene la sguiente estructura: - Contiene 11 dígitos. - año de nacimiento - mes de nacimiento - dia de nacimiento ejemplo: 81123105227 (año, mes, día, ...) Hasta el momento lo que he implementado es validar que tenga 11 dígitos y que sea una fecha de nacimiento valida y especificar si es un mes valido. Pero me gustaría especificar aun mas, por ejemplo cuando un día este incorrecto. ejemplo 75023012345 día incorrecto. ejemplo 75043112345 día incorrecto. Gracias de antemano ... Saludos, Ledian. PD: El código esta en la respuesta de abajo. Última edición por Ledian_Fdez fecha: 29-04-2010 a las 21:21:06. |
#2
|
|||
|
|||
Código
|
#3
|
||||
|
||||
Bueno, usando la función IsValidDate:
Así que yo haría algo así:
Por supuesto, habría que estar atento a cómo hace IsValidDate para manejar años con dos cifras. Saludongos. EDIT: Dado que siempre que se le pida al usuario ingresar números, éste va a ingresar LETRAS (el 100% de las veces ), también sería conveniente validad antes de hacer los StrToInt. |
#4
|
|||
|
|||
Mensajes?
Eso esta buenísimo, pero ...¿Cómo le digo al usuario donde esta el error? Si en el día, el mes o la cantidad de dígitos.
Salu2, Ledian. |
#5
|
||||
|
||||
Bueno, en ese caso estás jodido, porque que yo sepa no hay una función de Delphi que haga eso.
Se me ocurre que se podría hacer algo así:
|
#6
|
|||
|
|||
Hola Ledian_Fdez bueno ahora re pongo tu misma funcion un poco modificada...
primero el CI aparte de la fecha de nacimiento te brinda el sexo pues el penultimo numero del CI si es par es hombre y si es impar bueno tu sabes... por ejemplo te pongo un grupo de funciones y luego la tuya... OK... esta funcion es del truco 389 de trucomania
esta me brinda el sexo. y esta es la ultima... te especifico que a esta ultima le pasas el numero de CI completo no solo la fecha sino completo para que te devuelva el sexo en una variable global OK...
bueno a lo mejor se puede optimizar un poco mas pero bueno eso es todo... espero te sirva... OK chaooo sin mas Mystery PD: todo esto es con un form un boton y un Edit, en el onclick llamas a la funcion pasandole el CI OK chaooo |
#7
|
|||
|
|||
Mira esto !!
Hola Mystery la funcion DiasMes me devuelve un entero en el if con que lo comparo ???
Salu2, Ledian. Última edición por Ledian_Fdez fecha: 30-04-2010 a las 15:30:57. |
#8
|
|||
|
|||
Trucomania
Como pudieras facilitarme el Trucomania?
Si de algo le sirve este es mi correo: joseledian@yahoo.es o simplemente un link donde descargarlo. Gracias de antemano, Salu2, Ledian |
#9
|
|||
|
|||
Cita:
Saludos |
#10
|
|||
|
|||
Función OK !!!
Creo que con esta implementación gracias a la ayuda de todos ustedes la función cumple con mis especificidades.
Ahí se las dejo.
De todos modos si alguien cree que se le pudiera agregar algo mas ... Muchas gracias Salu2, Ledian. |
#11
|
|||
|
|||
Y los demas digitos que funcion cumplen dentro del Rut...
Solo estan para completar los 11? Saludos. |
#12
|
||||
|
||||
Cita:
Te digo de onda, no es para criticar, simplemente me parece interesante, ya que estamos: [1] A mí me parece que deberías validar antes de hacer los StrToInt... Porque si el usuario llega a poner algo que no es número... ¡pum! Se te rompe todo el programa. [2] Tampoco pondría los MessageDialogs adentro de la función. Siempre es una buena idea que las funciones sean "independientes", es decir que no dependan de cómo trabaja el programa que las usa. Así, si mañana quiero usar la función en un programa que en vez de usar MessageDialogs para dar errores, usa otra cosa; la función me sirve igual. [3] Eso de andar poniendo Exit por ahí... Hmmm... No es una buena práctica, hay ocasiones en las que es necesario, pero para mí en este caso sería mejor que saques los exit y unas los dos if con un else. Después de todo si el mes es incorrecto, no querés ni fijarte si el día está bien o mal.
Y, como dice el amigo cloayza, habría que ver qué hacen los otros números y si hay que agregar alguna validación más. En fin. Saludongos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Que hace esta función en VB? | mqm | Varios | 1 | 15-10-2007 20:30:15 |
Una funcion que me diga si un programa esta abierto | jorgegetafe | Varios | 14 | 08-10-2007 22:49:01 |
copiar fichero mas de 2Gb con esta funcion | aram2r | Varios | 7 | 08-02-2006 17:28:22 |
¿Es valida utilizar esta función? | Nelly | Varios | 5 | 18-01-2006 17:44:36 |
Sintaxis de esta Función | cmgenny | Varios | 5 | 11-05-2003 06:43:01 |
|