Ver Mensaje Individual
  #7  
Antiguo 04-04-2011
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Reputación: 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