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.