Obtener el dia siguiente a una fecha
{Muestra de lo anterior por si}
program calendar;
uses
crt, dos;
var
dias, ayo, mes, dia, diasem, ayo1, mes1, dia1 : Word;
err, nd, ul, i, x, y : integer;
mes2, dias2, dias3, mes3 : word;
fecha : string[10];
cadia, cames : string[2];
caayo : string[4];
begin
clrscr;
GetDate(ayo,mes,dia,diasem);
ayo1 := ayo;
mes1 := mes;
dia1 := dia;
gotoxy(10,2);write('La Fecha Actual Es : ',dia,'/',mes,'/',ayo);
gotoxy(10,4);write('Entre Nueva Fecha : ');
gotoxy(30,4);readln(fecha);
cadia := copy(fecha,1,2);
cames := copy(fecha,4,2);
caayo := copy(fecha,7,4);
val(cadia,dia,err);
val(cames,mes,err);
val(caayo,ayo,err);
writeln('La Fecha Nueva Es : ',dia,'/',mes,'/',ayo);
if dia > 1 then
writeln('La Fecha Anterior Seria :',dia - 1,'/',mes,'/',ayo)
else
begin
mes2 := mes;
mes2 := mes2 - 1;
case mes2 of
1,3,5,7,8,10,12 : dias2 := 31;
2 : if mes2 mod 4 = 0 then
dias2 := 29
else
dias2 := 28;
4,6,9,11 : dias2 := 30;
end;
writeln('La Fecha Anterior Seria : ',dias2,'/',mes2,'/',ayo)
end;
mes3 := mes;
case mes3 of
1,3,5,7,8,10,12 : dias3 := 31;
2 : if mes3 mod 4 = 0 then
dias3 := 29
else
dias3 := 28;
4,6,9,11 : dias3 := 30;
end;
if dia < dias3 then
writeln('La Fecha Posterior Seria : ',dia + 1,'/',mes,'/',ayo)
else
begin
writeln('La Fecha Posterior Seria : ',1,'/',mes + 1,'/',ayo)
end;
readln;
setdate(ayo1,mes1,dia1);
end.