FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
calendario
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. |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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... |
#4
|
|||
|
|||
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. |
#5
|
|||
|
|||
Gracias...
Todo un detalle por tu parte. Saludos... |
#6
|
||||
|
||||
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. |
|
|
|