Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Question Trucomania

Cita:
Empezado por Mystery Ver Mensaje
esta funcion es del truco 389 de 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
Responder Con Cita
  #2  
Antiguo 30-04-2010
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Thumbs up 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.

Código Delphi [-]
Function CIEsValido(CI : String) : Boolean;
var
  dia, mes, anio : Word;
begin
  Result:=True;
  if Length(CI)<>11 then
    begin
     Application.MessageBox('No. de Carnet de Identidad incompleto.' + #13 + 'Rectifique por favor.','SAF', MB_ICONERROR);
     Result := False;
     Exit;
    end;
  anio := StrToInt(Copy(CI,0,2));
  mes := StrToInt(Copy(CI,3,2));
  dia := StrToInt(Copy(CI,5,2));
  if (mes > 12) or (mes < 1) then
    begin
     Application.MessageBox('Error en el mes del Carnet de Identidad.' + #13 + 'Rectifique por favor.','SAF', MB_ICONERROR);
     Result := False;
     Exit;
    end;
  if not IsValidDate(anio, mes, dia) then
    begin
     Application.MessageBox('Error en la cantidad de dias.' + #13 + 'Rectifique por favor.','SAF', MB_ICONERROR);
     Result := False;
     Exit;
    end;


De todos modos si alguien cree que se le pudiera agregar algo mas ...

Muchas gracias

Salu2,
Ledian.
Responder Con Cita
  #3  
Antiguo 30-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 915
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Y los demas digitos que funcion cumplen dentro del Rut...

Solo estan para completar los 11?

Saludos.
Responder Con Cita
  #4  
Antiguo 30-04-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Cita:
Empezado por Ledian_Fdez Ver Mensaje
De todos modos si alguien cree que se le pudiera agregar algo mas ...
Bueno, ya que preguntás...

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.

Código Delphi [-]

---MAL---

if Mes_mal then
  begin
  Algo;
  Exit;
  end;
if Dia_mal then
  begin
  Algo;
  Exit;
  end;

--MEJOR--

if Mes_mal then
  Algo
else if Dia_mal then
  Algo;

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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


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


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
Copyright 1996-2007 Club Delphi