Hola amigo...
Yo probaría hacerlo a mano!
Haciendo la cuenta, teniendo en cuenta que la semana tiene 7 días...
Partiendo del primero de Enero del año en cuestión luego se suma la cantidad de días transcurridos según corresponda y finalmente se resta la diferencia en el día que cae:
Ejemplo Semada 17 de 2008
- Code: Select all Expand view
Function MiFunction(nAnio,nSemana)
Local Dias,Fecha,Anio,Cae
Dias:=nSemana * 7
Anio:=ALLTRIM(STR(nAnio))
Fecha:=CTOD("01/01/"+Anio) //Quedará 01/01/2008 en formato fecha
Fecha:=Fecha+Dias
Cae:=DOW(Fecha)
DO CASE
CASE Cae=2
Fecha:=Fecha-1
CASE Cae=3
Fecha:=Fecha-2
CASE Cae=4
Fecha:=Fecha-3
CASE Cae=5
Fecha:=Fecha-4
CASE Cae=6
Fecha:=Fecha-5
CASE Cae=7
Fecha:=Fecha-6
ENDCASE
MsgInfo(DTOC(Fecha),"Fecha a inicio de la semana "+ALLTRIM(STR(nSemana))+" del año "+ALLTRIM(STR(nAnio)) )
Return Fecha
El MsgInfo va a mostrar la fecha que me retorna la función. En este caso la función retorna 27/04/2008. Primer día de la semana, es decir, domingo
Espero te sirva la idea.
Saludos,