Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fast Reports
En este manual se asume que est usted familiarizado con diseadores de informes por lo que conoce los
conceptos bsicos, como son las bandas, las fuentes de datos, los campos de datos, etc.
Contenido
1.
2.
3.
4.
5.
6.
El diseador
Pgina 5 de 21
Barras de herramientas
Men
Barra de
alineacin
Bandas
Barra de
objetos
objetos
Inspector de objetos
paginado
Posicin y tamao
del objeto actual
Nombre del
objeto actual
Usando el teclado
El diseador
Pgina 6 de 21
Usando el ratn
Con botn izquierdo seleccionamos los objetos de pantalla; en la paleta de componentes visuales (barra
de objetos), seleccionamos el objeto a insertar.
Con botn derecho accedemos al men contexto con funciones propias del objeto que apuntamos en
ese momento.
Con doble click, abrimos el editor del objeto seleccionado. Si se hace sobre la zona blanca del fondo
(papel) aparece el cuadro de opciones de pgina, donde se configuran mrgenes, orientacin, etc.
Maysculas + clic en botn izquierdo: seleccin mltiple.
Arrastrar y soltar: traza un rectngulo de seleccin. Los objetos que se toquen las lneas del rectngulo
se seleccionan a la vez, al soltar el botn.
Opciones de Pgina
Para indicar el tamao de papel en uso, la orientacin, los mrgenes y
otras opciones interesantes. La marca de altura ilimitada est
indicado para papel personalizado de pequeo tamao. Su accin
consiste en ampliar el fondo, para lanzar el salto de pgina ms tarde,
y de esa forma en impresoras de inyeccin se puede imprimir en su
totalidad antes de expulsar cada hoja.
La opcin fijar al rea imprimible (pestaa mrgenes) hace que desaparezcan los mrgenes y se ajuste el
informe a la mxima rea imprimible.
En la pestaa opciones podemos establecer columnas en el
informe y el espacio entre ellas. LA opcin imprimir en pgina
anterior hace salir una hoja en blanco antes del informe.
subinformes
apuntador
bandas
campos
dibujos
lneas
El diseador
Pgina 7 de 21
Casilla de marca
Rectngulo
imgenes
Icono
Nombre
Cuadro de Texto
Descripcin
ofrece un rectngulo con borde que puede albergar texto en mltiples lneas. El
texto puede contener variables.
Banda
imagen
subinforme
Lnea
Cuadro
sombreado
Cdigo de barras
Grfico
Campo de marca
OLE
El contenido del cuadro de texto consiste en campo memo (ilimitado de texto), pero que puede
incluir: texto, variables, campos de datos, o una combinacin de estos. El formato de la letra se aplicar a
todo el texto contenido dentro de l.
Algunos ejemplos de uso:
Longitud en : [Longitud]
- Esto muestra un trozo de texto fijo (Longitud en :) seguido por el valor de una variable ([Longitud])
Longitud en : [[Longitud] * 2.54]
-Esto muestra parte de texto fijo (Longitud en :) seguido por el resultado de una formula usada contra
una variable, ( [[variable] * valor]). Es importante escribir correctamente los corchetes adicionales cuando
usamos frmulas con variables.
El diseador
Pgina 8 de 21
Desde el editor puede introducir texto, insertar variables, campos de datos y expresiones. Pulse en los
botones "insertar campo DB" o "insertar Expresin" que le muestran los campos disponibles en cada
momento.
Por cada categora de formato, puede elegir por los formatos que se
ofrecen, o personalizarlos, (por ejemplo, #,##0.000 para un valor
numrico). Para valores lgicos use No;Si ; y en los formatos de
fecha con mes en letra, depende totalmente del idioma de su
mquina.
Si una variable no puede ser formateada presentar su valor en texto plano. Si un cuadro de texto contiene
una combinacin de campos y desea formatear cada uno de una forma distinta, se permite sobrescribir el
formato por defecto, aadiendo el carcter # seguido del estilo de la mscara; de la siguiente forma:
El diseador
Pgina 9 de 21
El diseador
Pgina 10 de 21
El objeto "Banda"
Al igual que en otros diseadores de informes, Fast Reports se basa completamente en la insercin
de mltiples bandas para presentar la informacin.
NOTA: Las bandas no tienen que aparecer en un orden concreto, puesto que cada una har su misin en
donde procedan, no obstante conviene colocarlas de forma adecuada para facilitar la lectura posterior.
Lista de bandas
Nombre
Ttulo del informe
Sumario del informe
Cabecera de pgina
Pie de pgina
Cabecera maestra
Datos maestros
Pie maestro
Cabecera de detalle
Datos de detalle
Pie de detalle
Cabecera subdetalle
Datos subdetalle
Pie subdetalle
Superpuesto
Cabecera columna
Pie de columna
Cabecera de grupo
Pie de grupo
Informe cruzado:
Cabecera / datos / pie
Hija
El diseador
Pgina 11 de 21
Al pulsar con el botn derecho del ratn en una banda, aparecen nuevas opciones, que son:
Ajustado: Cambia el alto de la banda en funcin al contenido de sus cuadros de texto, siempre que
alguno de ellos contenga mltiples lneas y sus propiedades ajustado y corte automtico de palabras
estn activadas La fila completa de la banda adopta la nueva altura.
Partido: Si est activado, y la altura de la ltima fila de datos supera el espacio restante, el informe se
parte, continuando en la siguiente pgina. En caso contrario, se deja el espacio restante vaco y la fila
de datos se imprime en la pgina siguiente.
Forzar nueva pgina: Fuerza a saltar a la pgina siguiente para cada fila de datos. Muy til cuando
queremos sacar un solo registro por hoja.
En la primera pgina: Solo para bandas de cabecera y pi de pgina. Si se desmarca, el contenido de
la banda no se muestra en primera pgina.
En la ltima pgina: Solo para bandas de pi de pgina. Si se desmarca, el contenido de la banda no
se muestra en ltima pgina.
Mostrar en todas las pginas: Solo para bandas de Cabeceras de los tipos: maestra, de detalle,
subdetalle, grupo e informes cruzados. Si se marca aparecen en todas las pginas. Si se desmarca solo
aparecen en la primera pgina.
El objeto Imagen
Sirve para insertar grficos. Soporta los formatos
BMP/WMF/ICO. JPG y GIF.
Incluye un editor que permite cargar y borrar la imagen, o
seleccionar una imagen desde un campo MEMO de Base
de datos. Para insertar una imagen desde un fichero,
localcelo y pulse doble clic sobre l. La insercin de una
imagen desde un campo memo se hace automticamente,
simplemente referenciando la variable del campo memo
(si est en el conjunto de variables disponibles). En H6 no
se precisa hacer esto.
El diseador
Pgina 12 de 21
El objeto Sub-Informe
Se usa para insertar un informe adicional en un punto particular del listado Cuando se genera el
informe, el subinforme se coloca en pginas separadas del informe principal. Un ejemplo de esto sera si
queremos aadir grficos adicionales a continuacin de los datos normales del listado.
Al insertar este objeto, se aade una pgina adicional; y en el lugar insertado aparece un indicador del
nuevo objeto.
El SubInforme se mostrar a continuacin del informe principal. Si incluimos mas de un sub-informe,
se mostrarn uno a continuacin del otro en bandas separadas.
El objeto Lnea
Se utiliza para insertar lneas horizontales o verticales. Pueden incluirse en bandas separadas y su
estilo y color se configura desde la barra de herramienta Marco.
Para dibujar una lnea, pulse el botn del objeto, mueva el ratn sobre la pgina activa mostrndose
un cursor en forma de lpiz. Trace las lneas libremente con el tpico arrastrar y soltar.
El objeto Grfico
Inserta figuras geomtricas de los tipos rectngulo, rectngulo redondeado, elipse y tringulo.
2 of 5 interleaved
Code39
Code39 Extended
Code128A-C
Code93
Code93 Extended
MSI
PostNet
Codebar
EAN8
EAN13
EAN128A-C
UPC A, E0, E1, Supp2, Supp5
El diseador
Pgina 13 de 21
El inspector de objetos
Con el cual, manipulamos las propiedades de los objetos.
Cada objeto, segn su tipo, dispone de un amplio conjunto de propiedades
que nos permiten ajustar su comportamiento a nuestro gusto. El nombre de
las propiedades se puede ver traducido a castellano, entrando en
Herramientas / opciones y cambiando la casilla nombre de propiedades
traducidas.
Altere las propiedades y aprenda a cambiar su comportamiento. Es la mejor
manera de aprender a aplicarlas.
3. Insertando variables
Variables de datos [campos preparados para H6]
El diccionario de Datos
La integracin de Fast
Reports con Hermandad prepara
un juego de variables que ya
estn
enlazadas
a
sus
correspondientes campos de la
Base de datos. Con ello
facilitamos el uso de objetos de
datos al usuario, denominando los
campos con nombres mas
comprensibles que los nombres
tcnicos originales. El juego de
variables en su conjunto forma el
diccionario de datos, que aunque
se muestra en
la siguiente
pantalla, no est accesible al
usuario normal:
En el paso previo del diseo de
informes, nos encargamos de
elegir
los
campos
que
compondrn el listado (vea el
manual de H6); esto hace que H6
genere automticamente una variable para cada campo elegido. Esas sern las que forma en el conjunto
de variables disponibles. Si detecta que necesita algn campo ms, debe salir del diseador, aadir el
campo, y al retornar al diseador, aparecer una variable que lo identifica.
A las variables disponibles se accede cada vez que intentemos cargar en el editor de texto un dato .
Vea la siguiente imagen donde aparecen los tres pasos para llegar a ellas: desde el editor de texto, pasando
al constructor de expresiones y , en l, presionando en variables se nos muestra el conjunto de ellas.
El diseador
Pgina 14 de 21
En el diseador del recibo de procesin, al incluirse un considerable nmero de campos, las variables a
parecen agrupadas, de manera que resulte ms cmodo localizarlas.
Variables de sistema
Consiste en un juego de campos calculados, que son los siguientes:
Pagina#: ofrece el nmero de la pgina actual. Es igual que la Funcin Page# funcin (ver descripcin en
Funciones internas).
Fecha#: muestra la fecha de creacin del informe . (equivale ala funcin Date)
Hora#: hora en que se crea el informe (equivale a la funcin Time).
Linea#, Linea global#, columna#, LineaActual#, Total paginas: ver descripcin en funciones internas.
Una expresin puede contener una texto, variables y funciones (mezcladas).
Funciones
Para ver el asistente de funciones presione el botn .
Contiene la lista de todas las funciones agrupadas, y
ejemplos de cmo aplicarlas.
El diseador
Pgina 15 de 21
Icono
Close
Nombre
Nuevo
Descripcin
Crea nuevo informe vaco
Abrir
Salvar
Vista Previa
Cortar
Copiar
Pegar
Deshacer
Rehacer
Poner al frente
Enviar detrs
Selecciona todo
Nueva pgina
Borra pgina
Opciones de
pgina
Muestra rejilla
Alinear a rejilla
Ajustar a rejilla
ayuda
Cerrar
La barra de Texto
La barra de "Marco"
Proporciona el enmarcado de los objetos.
La barra de "Alineacin"
El diseador
Pgina 16 de 21
Rutinas y objetos
Cada objeto puede incorporar uno o ms bloques de cdigo. El editor de rutinas aparece en el editor
de texto, en una zona inferior identificada por las letras BEGIN y END, entre las cuales habr que escribir la
rutina (conocido como script). Si no aparece, presione sobre el botn
en la parte superior de la
ventana. El script se ejecuta siempre antes de imprimir el objeto, y suele estar accesible en la propiedad
OnBeforePrint que es un evento localizable en la lista del Inspector de objetos.
Ejemplo de
script
No todos los objetos admiten scripts. Pero los que lo permiten siempre tendrn el evento OnBeforePrint
disponible, ya sean bandas o el propio informe.
Escribiendo cdigo
En los scripts, puede usar propiedades y mtodos relativos a los objetos del informe. Adems se pueden
usar constantes y crear variables propias.
Usando variables
No hay que especificar el tipo, porque todas se declaran como variant (de cualquier tipo). Pueden tener
cualquier nombre, siempre que no se llamen igual que los objetos.
Ve el siguiente ejemplos:
begin
a := [Page#];
end
Referenciando campos
Los campos aparecen internamente como variables predefinidas. Por tanto en los escripts podemos usar
cosas como
Visible:= [deuda actual] > 10
Que provoca que el objeto solo muestre su contenido cuando se cumple la condicin establecida
Constantes
Consiste en definir variables con un valor fijo y que despus podrn aparecer en cualquier objeto del
informe entre corchetes. Por ejemplo:
begin
a := 0;
b := 'abcd';
c := True;
d := 'eso es todo!';
end;
Recuerde usar la comilla simple cuando el valor sea una cadena de texto
El diseador
Pgina 17 de 21
Referenciando objetos
Cada objeto tiene un nombre (propiedad NAME). En los escrips se puede manipular las propiedades de
esos objetos llamndolos por su nombre. Debe usar la notacin por punto para ello, por ejemplo:
Memo1.Text.. Si estamos en el mismo campo a modificar, solo habr que indicar la propiedad.
Todas las propiedades aparecen en el inspector de objetos.
Ejemplos:
begin
Memo1.Font.Name := 'Courier New';
Memo1.Font.Size := 10;
Memo1.Font.Color := clRed;
Memo1.Font.Style := fsBold + fsItalic
end;
con ello cambiamos todo el formato de letra del objeto Memo1
Observando este ejemplo, vemos ciertos valores constantes de sistema. Eso indica que se pueden usar,
y son:
Normalmente, los scripts se usan para alterar el comportamiento de los objetos, como el tamao, color,
contenido, etc. Un ejemplo de esto lo vemos en el siguiente escript, donde aparece una rutina que ampla el
uso del formato condicional utilizando el intrprete:
begin
if [Deuda actual] < 10 then fillcolor:= cltransparent
else if [Deuda actual] < 20 then fillcolor:=clgreen
else fillcolor:=clred
end;
con el que usamos tres tipos de color para el valor: si la deuda es menor de 10 no vara, pero si es mayor
usamos el verde cuando no pasa de 20 y el rojo cuando es superior.
El diseador
Pgina 18 de 21
5. Utilizando funciones
-Agregadas
Normalmente se usan en el sumario, y en los pies de pgina y grupo
Sum(<expresion> [, band] [,1]). Calcula la suma de los valores pasados en <expresion> para la banda
dada. Si no colocamos nombre de la banda, se realiza la suma de todos los valores del informe. El
nmero 1 del tercer parmetro hace que se cuenten tambin los objetos invisibles
Avg, Min, Max. Su sintaxis es anloga a la funcin SUMA. Avg calcula la media aritmtica; Min y Max
retornan el valor mnimo y maximo respectivamente.
Count(<band>). Ofrece la cuenta de filas de datos presentadas en una banda.
- de cadena
Copy(<string>, <from>, <count>). Retorna una subcadena de <string> con longitud de <count>
caracteres, comenzando en la posicin <from>.
-Aritmticas
-Otras funciones
Input(<caption> [,<default>]). Muestra una ventana de dilogo cuya cabecera ser <caption> y una
caja de edicin. Si se aade el parmetro default, este aparece en la caja de edicin por defecto.
Despus, cuando el usuario presiona OK, retorna la cadena introducida.
Date. Devuelve la fecha actual.
Time. Devuelve la hora actual.
Line#. Devuelve el nmero de la lnea actual.
LineThrough#. Devuelve el nmero de la lnea actual contando desde el principio del informe todas sus
lneas.
Column#. Devuelve el nmero de columna actual.
El diseador
Pgina 19 de 21
TotalPages. Devuelve el nmero total de pginas. Para usarla hay que poner el informe como de doble
pasada.
DayOf(<date>). Retorna el da (1..31) de la fecha usada como parmetro.
MonthOf(<date>). Retorna el mes de la fecha usada como parmetro.
YearOf(<date>). Retorna el ao de la fecha usada como parmetro.
MessageBox(<text>, <caption>, <buttons_and_icons>). Muestra un cuadro de dilogo de tipo mensaje
con el texto text, la cabecera caption y botones. Devuelve el valor que corresponda al botn
pulsado (mrOk, mrCancel, mrYes, mrNo). Use los siguientes valores para el parmetro
<buttons_and_icons>:
Botones
Iconos
Mb_Ok
mb_OkCancel
mb_YesNo
mb_YesNoCancel
mb_IconError
mb_IconQuestion
mb_IconInformation
mb_IconWarning
CurY. Retorna la posicin Y actual donde la prxima banda se imprimir Se le puede asignar un valor
a CurY para colocarla en otra posicin. Para convertir pxeles a milmetros y viceversa, use la
equivalencia : 18 pxeles = 5mm.
FinalPass. Retorna TRUE (verdadero), si un informe es de doble pasada y est ejecutando la ltima
pasada.
PageHeight. Retorna la altura de la pgina en pxeles menos la altura de la banda pie de pgina.
Para facilitar el uso en escripts, detallamos a continuacin todas las propiedades y mtodos
El diseador
Pgina 20 de 21
Mtodos
Mtodo
Hide
Memo.Add
Memo.Clear
Memo.Delete
Show
Parmetros
Cadena
Entero
-
Objetos estndares
Propiedad
Descripcin
Oculta el objeto poniendo su propiedad visible a False.
Aade una nueva lnea al contenido del campo.
Borra todo el texto del campo.
Elimina la lnea especificada por el nmero dado como parmetro.
Muestra un objeto, poniendo su propiedad visible a True.
Tipo
Alignment
Entero
AutoWidth
Booleano
CharSpacing
Font.Name
Font.Size
Entero
Cadena
Entero
Font.Style
Entero
Font.Color
GapX
GapY
HideZeros
LineSpacing
Entero
Entero
Entero
Booleano
Entero
Suppress
Booleano
TextOnly
Booleano
WordBreak
Booleano
WordWrap
Booleano
Objeto "Banda"
Propiedad
Breaked
ChildBand
ColumnGap
Columns
ColumnWidth
Condition
DataSource
EOF
Tipo
Booleano
Cadena
Entero
Entero
Entero
Cadena
Cadena
Booleano
FormNewPage
Booleano
Master
OnFirstPage
OnLastPage
Cadena
Booleano
Booleano
PrintChildIfInvisible
Booleano
PrintIfSubsetEmpty
Booleano
RepeatHeader
Booleano
Descripcin
Alineacin del texto en el objeto
Valores posibles: frtaLeft, frtaRight, frtaCenter, frtaVertical,
frtaMiddle, frtaDown.
Hace que el objeto se ensanche automticamente a la necesidad
dela totalidad de texto que contiene.
Espacio entre caracteres.
Nombre del tipo de letra utilizado
Tamao de letra en pxeles.
Estilo: negrita, cursiva, subrayado. Valores posibles:fsBold, fsItalic,
fsUnderline.
Color de la letra.
Distancia horizontal entre el borde y el texto que contiene.
Distancia vertical entre el borde y el texto que contiene.
Si contiene un valor CERO se ignora. Valores posibles: True; False.
Espacio entre las lneas del texto.
Oculta el dato si se repite respecto del anterior registro. Valores
posibles:: True; False.
Hace que no se procese o interprete el contenido, mostrando solo el
literal. Valores posibles: True; False.
Cuando una palabra sobrepasa el margen derecho permite que se
troceen las ltimas slabas. Valores posibles: True; False
Cuando una palabra sobrepasa el margen derecho permite que se
trocee en 2 mas lneas. Valores posibles: True; False
Descripcin
Ruptura de bandas. Valores posibles: True; False.
La banda enlaza datos a otra banda hija
Distancia horizontal entre columnas
Nmero de columnas en la banda
Ancho de las columnas.
Condiciones para grupos. Aplicada a bandas cabecera de grupo.
Conjunto de datos a mostrar.
Indica si se ha llegado al fin de los datos. Valores: True; False.
Fuerza la salida de una nueva pgina tras imprimir la banda.
Valores posibles: True; False.
Especifica la banda usada cuando se agrupan datos.
Se imprime en la primera pgina. Valores posibles: True; False.
Se imprime en la ltima pgina. Valores posibles: True; False.
Especifica si se imprime una banda hija cuando su banda padre es
invisible. Valores posibles:True; False.
Especifica si se imprime una banda cuando su banda hija est
vaca. Valores posibles: True; False.
Especifica cuando se repite una banda en cada pgina Valores
posibles: True; False.
El diseador
Pgina 21 de 21
Mtodos
First
Next
Prior
Objeto "Imagen"
Propiedad
Parmetros
-
Tipo
BlobType
Entero
Center
Booleano
DataField
Cadena
KeepAspect
Booleano
Objeto "CheckBox"
Propiedad
CheckColor
CheckStyle
DataField
Tipo
Entero
Entero
Cadena
Descripcin
Establece el datasource de una banda en el primer registro.
Establece el datasource de una banda en el siguiente registro.
Establece el datasource de una banda en el anterior registro.
Descripcin
Especifica el tipo de imagen contenida en un campo blob (memo).
Valores posibles: btBMP, btJPG, btICO, btWMF.
Especifica cuando ha de centrar la imagen en el objeto.
Valores posibles:True; False.
Especifica el campo de la tabla que contiene la imagen.
Para mantener las proporciones relativas de la imagen, al ser
estirada. Valores posibles: true; False.
Descripcin
Color de la marca cruzada cuando est chequeado
Estilo de la marca. Valores posibles: csCross, csCheck.
Nombre del campo que contiene el dato
Tipo
Entero
Entero
Booleano
Booleano
RoundSize
Entero
ShadowColor
ShadowWidth
Entero
Entero
Style
Entero
Objeto "Dibujo"
Propiedad
Shape
Tipo
Entero
Descripcin
Color inicial utilizando sistema gradual (gradiente)
Color final utilizando sistema gradual (gradiente)
Uso del sistema gradual. Valores posibles: True; False.
Esquinas redondeadas. Valores posibles:: True; False.
Si las esquinas estn redondeadas, esta propiedad indica el grado de
redondeo.
Color de la sombra.
Ancho de la sombra.
Si se usa efecto gradual, esta propiedad especifica el estilo de
gradiente. Valores posibles: gsVertical, gsHorizontal, gsElliptic,
gsRectangle, gsHorizCenter, gsVertCenter.
Descripcin
Determina el tipo de dibujo del objeto. Valores posibles:
skRectangle,
skRoundRectangle,
skEllipse,
skTriangle,
skDiagonal1, skDiagonal2.