Tema: calendario
Ver Mensaje Individual
  #6  
Antiguo 17-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Puedes crearte una "StringGrid" de 13 columnas por 32 filas.

Y llenarlo con este código:

procedure TForm1.Button1Click(Sender: TObject);
var
aMeses: array[1..12] of string;
aDias : array[1..12] of Integer;
fila,columna:Integer;
n,j:Integer;
begin
n:=0;
j:=0;

aMeses[1] :='Enero';
aMeses[2] :='Febrero';
aMeses[3] :='Marzo';
aMeses[4] :='Abril';
aMeses[5] :='Mayo';
aMeses[6] :='Junio';
aMeses[7] :='Julio';
aMeses[8] :='Agosto';
aMeses[9] :='Septiembre';
aMeses[10]:='Octubre';
aMeses[11]:='Noviembre';
aMeses[12]:='Diciembre';

aDias[1] :=31;
aDias[2] :=28;
aDias[3] :=31;
aDias[4] :=30;
aDias[5] :=31;
aDias[6] :=30;
aDias[7] :=31;
aDias[8] :=31;
aDias[9] :=30;
aDias[10]:=31;
aDias[11]:=30;
aDias[12]:=31;


for n:=1 to 12 do
begin
StringGrid1.Cells[n,0]:=aMeses[n];
end;



for n:=1 to 12 do
begin

for j:=1 to aDias[n] do
begin
StringGrid1.Cells[n ,j]:=IntToStr(j);
end;

end;

end;


Ahora ya solamente te queda imprimir el StringGrid, en el Foro hay varias citas sobre imprimir un StringGrid.


Nota: el mes de Febrero lo he dado con 28 días, pero con un pequeño arreglo, es decir utilizando un If y la funcion IsLeapYear, determinaríamos si tiene 28 ó 29.

Un Saludo.

Última edición por marcoszorrilla fecha: 17-05-2003 a las 16:03:38.
Responder Con Cita