Ver Mensaje Individual
  #5  
Antiguo 11-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Reputación: 25
egostar Va camino a la fama
Cita:
Empezado por ixMike Ver Mensaje
......Ajusta primero las dos fechas, para que coincidan las dos con el mismo día de la semana que NO sea sábado o domingo. Es decir, después de hacer la resta, haz que los dos días se conviertan en lunes, o martes, o miércoles... utiliza la función DayOfWeek o DayOfTheWeek.
-Una vez hecho ese ajuste, Dias:=Dias-(Fecha2-Fecha1)*2/7. Esto es, le resta 2/7 partes de días, o lo que es lo mismo, 2 días de cada semana (los findes). Ahora Fecha1 y Fecha2 son las fechas ya ajustadas.
Solo agregando, si no puedes o no quieres ajustar las fechas, puedes hacer esto.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Fecha : TDateTime;
  Dias : integer;
begin
  dias := 0;
  Fecha := DateTimePicker1.Date;
  REPEAT
     if DayofWeek(Fecha) in [2..6] then begin //en mi caso 2 a 6 es Lunes a Viernes, pero podria ser diferente en tu caso
        Memo1.Lines.Add(DatetoStr(Fecha));
        Inc(Dias);
     end;
     Fecha := Fecha+1;
  UNTIL Fecha > DateTimePicker2.Date;
  Memo1.Lines.Add('Total dias : '+FloattoStr(Dias));
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita