Calendario completo.

Buanos días, veras, mi pregunta es la siguiente, necesito modificar el siguiente código para lograr que, al ingresar una fecha me tire el calendario de todos los meses del año: el código es el siguiente:
CLEAR
accept "ingrese una fecha (dd/mm/aaaa)?" to lcFecha
ldFecha= CTOD(lcFecha)
lnDia= DAY(ldFecha)
lnMes= MONTH(ldFecha)
lnAnio= YEAR(ldFecha)
DO CASE
   CASE lnMes=1 .or. LnMes=3 .or. LnMes=5 .or. LnMes=7 .or. LnMes=8 .or. LnMes=10 .or. LnMes=12
        lnDias= 31
   CASE lnMes = 2 .and. LnAnio / 4 = 0
        lnDias = 29
   CASE lnMes = 2 .and. LnAnio / 4 # 0
        lnDias = 28
   OTHERWISE
        lnDias = 30
ENDCASE
lc1DiaMes = "01/"+ STR(lnMes,2) + "/" + STR(lnAnio,4)
ld1DiaMes = CTOD(lc1DiaMes)
lnDiaSemana = DOW(ld1DiaMes)
? "    " + cmonth (ldFecha)
? " Dom Lun Mar Mie Jue Vie Sab "
?
FOR x = 1 TO lnDiaSemana - 1
    ?? "    "
ENDFOR
FOR x = 1 TO lnDias
    ?? STR(x,4)
    IF DOW(ld1DiaMes) = 7
   ?
    ENDIF
    ld1DiaMes = ld1DiaMes + 1
ENDFOR x

Este Código me tira el calendario de un mes, Y Debo modificarlo para lograr que me tire el calendario de los 12 meses del año.. El ingreso es el mismo, es una fecha común y corriente. Desde ya muchas gracias... Espero tu ayuda.. Ya que debo entregar el calendario en la escuela. Mi correo es [email protected] . LA EXTENSIÓN DEL ARCHIVO ES .prg

1 Respuesta

Respuesta
1
No seas vago ! Te lo paso sólo por esta vez, pero es TU TRABAJO averiguarlo !
CLEAR
accept "ingrese una fecha (dd/mm/aaaa)?" to lcFecha
ldFecha= CTOD(lcFecha)
ldFechaincr= CTOD("01/01/" + ALLTRIM(STR(YEAR(ldFecha),4)))
DO WHILE YEAR(ldFechaincr)=YEAR(ldFecha)
    lnMes= MONTH(ldFechaincr)
    lnAnio= YEAR(ldFechaincr)
    DO CASE
       CASE lnMes=1 .or. lnMes=3 .or. lnMes=5 .or. lnMes=7 .or. lnMes=8 .or. lnMes=10 .or. lnMes=12
            lnDias= 31
       CASE lnMes = 2 .and. lnAnio / 4 = 0
            lnDias = 29
       CASE lnMes = 2 .and. lnAnio / 4 # 0
            lnDias = 28
       OTHERWISE
            lnDias = 30
    ENDCASE
    lnDiaSemana = DOW(ldFechaincr)
    ? "    " + cmonth (ldFechaincr)
    ? " Dom Lun Mar Mie Jue Vie Sab "
    ?
    FOR x = 1 TO lnDiaSemana - 1
        ?? "    "
    ENDFOR
    FOR x = 1 TO lnDias
        ?? STR(x,4)
        IF DOW(ldFechaincr) = 7
       ?
        ENDIF
        * INCREMENTA LA FCHA UN DIA *    
        ldFechaincr= ldFechaincr + 1
    ENDFOR x
Enddo
Muchas gracias, SI es cierto que lo tengo que averiguar yo, lo que pasa es que ando corto de tiempo, y lo tengo que entregar, PERO LA VERDAD TE AGRADEZCO UN MONTÓN, MILES DE GRACIAS.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas