Ver la Versión Completa : calendario
botones67
17-05-2003, 13:46:18
hola a todos...
Perdonar mi ignorancia, pero estoy empezando.
Quisiera saber como poder imprimir en un report un anuario, es decir todos los meses de un año.
Gracias anticipadas.
andres1569
17-05-2003, 14:02:06
Hola:
¿Cómo pretendes mostrarlo? ¿Un listado por meses? ¿Todos los meses en la cabecera y los días en detalle? Hagas lo que hagas es importante saber de qué tabla obtienes los datos y en qué forma. ¿Qué tienes pensado al respecto?
Saludos
botones67
17-05-2003, 14:14:11
Muchas gracias andres1569 por contestarme.
Veras , no tengo ninguna tabla de donde sacar los meses ni nada de eso.
Solo quiero en un form1 un botón que a picarle me imprima un folio Todos los meses en la cabecera y los días en detalle, lo mismo no se puede. lo dicho perdona mi ignorancia es que estoy empezando.
Muchas gracias anticipadas...
andres1569
17-05-2003, 15:00:11
Hola:
Se me ocurre que puedes crear una tabla con 12 campos, cuyos nombres serían los meses del año. Luego generas 31 registros rellenando cada uno con los valores que tengas pensado y dejando en blanco los días de aquellos meses que tiene menos días.
Si abres esta tabla desde Delphi y la enlazas a un QReport, es tan fácil como situar un TQRDBText por cada campo (los 12), abres la tabla y te aparecerá el resultado.
Claro que este es un anuario un poco atípico, por eso te preguntaba qué es lo que querías mostrar.
Pruébalo a ver.
botones67
17-05-2003, 15:53:30
Gracias...
Todo un detalle por tu parte.
Saludos...
marcoszorrilla
17-05-2003, 16:01:35
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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.