Ver Mensaje Individual
  #3  
Antiguo 30-10-2010
r1d2m3 r1d2m3 is offline
Miembro
 
Registrado: nov 2009
Posts: 88
Reputación: 15
r1d2m3 Va por buen camino
Gracias por el hilo, eso era lo que estaba buscando. Ya había visto esa función pero en la documentación no se aclara debidamente la contradicción que surge de ver el nombre de la func, incDay, o sea incrementar dias, vista así, parece que solo sirve para sumar días, pero bueno, suerte que ustedes ya la tenían clara. Por si le sirve a alguien mas, lo que estaba intentando hacer era pasar una fecha y definir el día de inicio de la semana y el día de finalización de la misma, es decir, si le paso el dia de hoy, viernes 29 de octubre de 2010, la función me debe devolver los días lunes 25 y domingo 31, voy a usar esta función para parametrizar un listado pidiendo un filtro para un día en concreto, o bien para la semana en curso, o bien para el mes en curso. A continuación, pego el código de mi función, tienen que definir una estructura del tipo record para contener los dias inicio y final.

Código Delphi [-]
function Semana(vFecha:string):dSemana;
var
  varDiasSumo, varDiasResto, varDiaActual:Integer;
  fecDesde, fecHasta, varFecAuxi:TDateTime;
  varDevo:dSemana;

begin
  varFecAuxi:=StrToDate(vFecha);
  varDiaActual:=DayOfTheMonth(varFecAuxi);
  varDiasResto:=((DayOfTheWeek(varFecAuxi)-1)*-1);
  varDiasSumo:=(7-DayOfTheWeek(varFecAuxi));
  fecDesde:=IncDay(varFecAuxi, varDiasResto);
  fecHasta:=IncDay(varFecAuxi, varDiasSumo);
  varDevo.fecDesde:=fecDesde;
  varDevo.fecHasta:=fecHasta;
  Result:=varDevo;
end;


type dSemana = record
  fecDesde:TDateTime;
  fecHasta:TDateTime;
end;

Espero le sirva a alguien mas.

Saludos.
Responder Con Cita