delphi
program Calendario; {$APPTYPE CONSOLE} uses Windows, SysUtils, Classes, DateUtils; procedure EscribirMes(Mes: Integer); var i,j: Integer; Fecha: TDateTime; begin Case Mes of 1: Writeln(';;;Enero;'); 2: Writeln(';;;Febrero;'); 3: Writeln(';;;Marzo;'); 4: Writeln(';;;Abril;'); 5: Writeln(';;;Mayo;'); 6: Writeln(';;;Junio;'); 7: Writeln(';;;Julio;'); 8: Writeln(';;;Agosto;'); 9: Writeln(';;;Septiembre;'); 10: Writeln(';;;Octubre;'); 11: Writeln(';;;Noviembre;'); 12: Writeln(';;;Diciembre;'); end; Writeln('Lunes;Martes;Miercoles;Jueves;Viernes;Sabado;Domingo'); Fecha:= EncodeDate(2013,Mes,1); while DayOfTheWeek(Fecha) <> 1 do begin Fecha:= Fecha - 1; end; for i:= 1 to 8 do begin for j:= 1 to 7 do begin if MonthOf(Fecha) = Mes then Write(DayOf(Fecha)); Write(';'); Fecha:= Fecha + 1; end; Writeln; end; end; var i: Integer; begin for i:= 1 to 12 do begin EscribirMes(i); end; end.
Una vez compilado hacer algo como esto:
delphi
Calendario.exe > Calendario.csv
Y ya tenemos un calendario (aunque el código es MUY mejorable)