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 01-04-2011
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Otra alternativa, si solo quieres saber si es hembra o varon (sin generar la tabla), sería formulando:

Código Delphi [-]
 Diferencia := (Trunc((AñoObjetivo-AñoPadre)/5) * 5 + AñoPadre) - (Trunc((AñoObjetivo-AñoMadre)/5) * 5 + AñoMadre);

Si la diferencia es positiva es Varon, si es negativa, es hembra, si es cero, significa que ambos "estrenan gónadas ese año", asi que tu decides... finalmente pienso que estamos hablando de probabilidades, no creo que sea algo exacto...

Un saludo,

--agregado---

obviamente estamos habalndo de valores lógicos, por ejemplo, ambos padres deben haber nacido para la fecha objetivo, la madre mas joven tenia como 10 años, y la mas vieja tal vez 60... que se yo.

Última edición por gatosoft fecha: 01-04-2011 a las 23:00:07.
Responder Con Cita
  #2  
Antiguo 04-04-2011
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Resuelto

Chris
Analizando bien tu coditgo, solo me sirve para dadas las fechas me diga si es hembra o varon
y lo que necesito es una tabla, para buscar el rango de fechas para cada sexo

Al final, encontre una solución, tal vez este codigo pueda ser optimizado un poco, pero así funciona ya

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
 var
   i,j     :Integer;
   Ap, Am  :Word;

begin
  //***** Inicialzar las variables *****
  Padre[1]:=StrToDate(FechPadre.Text); Madre[1]:=StrToDate(FechMadre.Text);
  Ap:=YearOf(Padre[1]);
  Am:=YearOf(Madre[1]);
  for i:=2 to 50 do
   begin
     Ap:=Ap + 5;
     Am:=Am + 4;
     Padre[i]:=RecodeYear(Padre[1], Ap);
     Madre[i]:=RecodeYear(Madre[1], Am);
   end;

  //***** Definir por cual progenitor empieza *****
  if YearOf(Padre[1]) <= YearOf(Madre[1]) then
    begin
      Desde:=Padre[1]; Hasta:=Madre[1];
      Prim:=Padre;     Seg:=Madre;
      SexoP:='Varón';  SexoS:='Hembra';
    end
  else
    begin
      Desde:=Madre[1]; Hasta:=Padre[1];
      Prim:=Madre;     Seg:=Padre;
      SexoP:='Hembra'; SexoS:='Varón';
    end;

  //***** Crear la tabla de calculo *****
  for i:=1 to 50 do
   begin
    if Odd(i) then
     begin
       for j:=1 to 50 do
        begin
          if (Desde < Seg[j]) then
            begin
              Hasta:=Seg[j];
              Sex:=SexoP;
              Break;
            end;
        end;
     end
    else
     begin
       for j:=1 to 50 do
        begin
          if Desde < Prim[j]    then
            begin
              Hasta:=Prim[j];
              Sex:=SexoS;
              Break;
            end;
        end;
     end;
     Listado.Cells[0,i]:=DateToStr(Desde);
     Listado.Cells[1,i]:=DateToStr(Hasta);
     Listado.Cells[2,i]:=Sex;
     Desde:=Hasta;
   end;
end;
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
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
Ayuda para hacer un algoritmo de busqueda y comparacion JoAnCa Varios 7 23-12-2008 22:55:28
ayuda para elaborar un codigo josi Varios 2 22-09-2008 15:34:02
Recomendación para elaborar diagramas de clases y dominios para mi sitio dark_monk9 PHP 2 25-07-2008 20:18:03
Elaborar Clase Para Validar Un Dato De Un Edit sdiaz1983 Varios 7 17-03-2008 15:16:36


La franja horaria es GMT +2. Ahora son las 12:30:58.


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