Está en la página 1de 21

El diseador

Fast Reports

El diseador Fast Reports para Hermandad


Todas las versiones de Hermandad han incluido un generador de informes. Es uno de los puntos
fuertes de este programa, porque produce ilimitados informes o listados al usuario, sin tener que depender
de desarrollos aadidos.
Los generadores anteriores utilizaban un ncleo de Windows o de QuickReports, pero a veces
producan errores imprevistos por incluir bugs no depurados por sus creadores.
Con el salto al ncleo de Fast Report, damos un paso muy importante en la generacin de informes, porque
no solo incluimos una herramienta altamente depurada, sino que adems proporciona una facilidad de uso y
potencia inigualables.
El tipo incorporado se denomina genricamente Free Reports porque se suministra con cdigo
fuente de manera gratuita, por su creador A.Tzyganenko.
Hemos usado dichos fuentes para rescribirlos y adecuarlos a las necesidades del programa Hermandad,
consiguiendo una integracin total que beneficiar a las Cofradas y Hermandades que lo utilicen.

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 entorno del diseador ..............................................................................................................5


Los objetos de FastReport............................................................................................................7
Insertando variables ...................................................................................................................13
Las barras de herramientas.........................................................................................................15
Utilizando funciones ..................................................................................................................18
Propiedades y mtodos de los objetos .......................................................................................19

El diseador
Pgina 5 de 21

1. El entorno del diseador


Contiene paneles encajables o barras de herramientas, que pueden ser movidas a voluntad ser colocados a
su necesidad. La posicin y visibilidad de los paneles queda grabada en el registro, por lo que cada vez que
se abre el diseador, nos lo encontramos configurado de la ltima forma que lo utilizamos.

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

Teclas de flecha: mueve un selector de objeto en objeto.


Ctrl + Flechas: mueve un objeto seleccionado en la direccin de la flecha pulsada.
Maysculas + flechas: incrementa o disminuye el alto y ancho de un objeto.
Enter y Ctrl + Enter: abre el editor de texto del objeto seleccionado.
Del: borra el objeto seleccionado.
Ctrl + 1..9: altera la propiedad FrameWidth del objeto seleccionado.
Ctrl + Z : deshacer ultima accin.
Ctrl + Y: rehace la accin cancelada.
Ctrl + G: activa / desactiva la rejilla de fondo.
Ctrl + B, Ctrl + I, Ctrl + U Cambia atributos de letra: negrita, itlica, subrayado
Ctrl + F: enmarca el objeto seleccionado.
Ctrl + X: corta al portapapeles.
Ctrl + V: pega desde el portapapeles.
Ctrl + C copia al portapapeles.
Ctrl + A: selecciona todos los objetos de la pgina
Ctrl + N: crea un nuevo informe vaco.
Ctrl + O: abre un informe desde un fichero externo.
Ctrl + S: salva el informe en un fichero externo.
Ctrl + P: vista previa.

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 del Informe


Se abre desde el men archivo / opciones del informe, y presenta la lista de
impresoras disponibles en su sistema. Puede seleccionar una impresora
virtual, que acepta cualquier dimensin de papel, pero que solo sirve para
pruebas en modo diseo. No se puede usar para imprimir. Es til porque permite
realizar informes para impresoras que an no estn instaladas en el sistema. De
esta forma se puede usar un papel A3 aunque su impresora real no lo permita.
Si se marca escoger en ejecucin, la impresora se adjudica tras cargar el
informe, y ser la predeterminada en su sistema Windows.
La doble pasada sirve para cuando utilizamos un objeto funcin de tipo total pginas. En tal caso, esta
variable requiere que todo el informe sea ejecutado una vez, para calcular el nmero total de pgina. En la
segunda pasada ya tiene ese valor para poder emitir campos del tipo Pgina xx de yy. Si usas este campo
y no marca la doble pasada el total de pginas no mostrar un valor correcto.
Tras seleccionar una impresora, el diseador adecua el fondo a la zona imprimible de la impresora elegida.

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.

Opciones del diseador


Se localiza en el men herramientas / opciones y le permite
configurar el diseador a su gusto.

subinformes

2. Los objetos de FastReport

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

Creador de bandas, lugar donde se ubicarn los campos del informe

imagen

Acepta los formatos BMP, ICO, WMF, EMF y JPG.


Crea un subinforme. Cuando inserte este objeto en el informe, se crea una
nueva pgina de informe
Trazo de lneas horizontales y verticales
Crea un rectngulo con sombra que aceptar mltiples lneas de dato. til para
crear ttulos
Muestra datos en cdigo de barra (en desarrollo, an no disponible)

subinforme
Lnea
Cuadro
sombreado
Cdigo de barras
Grfico

Inserta dibujos geomtricos (rectngulo, elipse, tringulo).

Campo de marca

Muestra daos lgicos en forma de campo de chequeo X.

OLE

Inserta un objeto OLE. (en desarrollo, an no disponible)

El objeto "Cuadro de Texto"


Se trata del ms poderoso y flexible de los objetos de Fast Reports. Bsicamente, provee un
rectngulo rellenable con texto multi lnea. Adems se le puede definir el tipo de contorno, color y tamao;
definir el tipo de letra, la alineacin y rotacin del texto (horizontal o vertical). Para ajustar sus atributos
puede usar 2 barras de herramientas: la de texto y la de marco:

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

La va ms rpida para editar un cuadro de texto es:


seleccionarlo y presionar doble-clic. Se abre la siguiente
ventana que nos permite la edicin:

Su barra de herramientas nos ofrece las siguientes funciones:


Inserta una expresin o campo variable;
Inserta un campo de datos. En H6 solo aparece en modo
analista para asegurar el buen funcionamiento del programa e
impedir la manipulacin incorrecta de los informes.;
Operaciones del portapapeles
Activa / desactiva el ajuste de lnea
Activa / desactiva el editor de cdigo;
Cancelar;
Aceptar.

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.

Cada cuadro de texto tendr su propio estilo. Accediendo al


inspector de objetos (presione F11) haga click en la propiedad
DisplayFormat: Ver todas las opciones de formato de mscaras
muy necesarias para campos numricos, de fecha, de hora y lgicos

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

[Variable #formato], donde formato es uno de los siguientes:

x.x Nx.x Nyyyyy formatos numricos;


-siendo en x.x la longitud del nmero/nmero de dgitos en parte decimal;
-en yyyyy una cadena del tipo #,##0.00
-si en x.x yyyyy se incluye un punto, coma o guin, (., ,, -), tal carcter ser usado como
separador de la parte decimal.
Dxxxxx, Txxxxx - fecha y hora. Siendo xxxxx una cadena de tipo dd.mm.yy.
Bxxxxx;yyyyy Formatos lgicos. Si el valor es FALSO, la cadenaxxxxx ser la que aparezca, en caso
contrario aparecer la cadena yyyyy.

He aqu algunos ejemplos usando el carcter #:


[Cuota anual #9.2] [Cuota anual #9-2] [Cuota anual #N#,##0.00]
muestra Cuota anual en formato numrico
[Fecha de alta #Ddd-mm-yyyy]
muestra la fecha de alta en formato dia-mes-ao
[Fecha de alta #Ddd-mmm-yyyy]
muestra la fecha de alta en formato dia-3 letras del mes-ao
[Junta gobierno #BNo;Si]
Campo Lgico: muestra Si cuando el hermano pertenece a la Junta de Gobierno, y no en caso contrario
[Junta gobierno #B;Si]
Campo Lgico: muestra Si cuando el hermano pertenece a la Junta de Gobierno, y NADA en caso contrario
Formato condicional
Cuando quiera que ciertos datos presenten una forma caracterstica, o
que destaquen por un determinado valor, puede usar este tipo de
; el cual produce un
formato al que se accede pulsando el botn
cambio de letra, su color o su fondo, basndose en una condicin
especial.
Pulse el botn y le aparecer el cuadro de dilogo de la derecha.
Lo usamos sobre la variable [deuda actual] de manera que cuando un
hermano tiene un valor superior al 10, presentar el dato en Negrita,
cursiva y color rojo. En otro caso aparecer con el formato original

Otras propiedades del Cuadro de Texto


Al pulsar botn derecho sobre un objeto cuadro de texto disponemos
de ms opciones:
Ajustado: Hace que el objeto presente una altura variable presentando la informacin en mltiples
lneas. Para que funcione, es obligatorio activar la propiedad ajustado de su banda madre .
Corte automtico de palabras: Acta con el anterior; usando los espacios para separar las lneas.
Tamao automtico: antes de imprimir, el objeto calcula su ancho mximo.
Solo texto: En este caso no se procesa la variable del interior. Muestra lo que contenga literalmente.
Suprimir valores repetidos: No imprime nada si contiene el mismo valor de la lnea anterior
Adems tenemos propiedades adicionales en el inspector de objetos:
CharSpacing espacio extra entre caracteres.
GapX, GapY: pxeles de separacin extra en las esquinas izquierda y arriba
LineSpacing espacio extra entre lneas del texto.
Para conocer a fondo el funcionamiento de estas propiedades, prubelas una a una y vera como alteran el
informe desde la vista previa inmediata.

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

donde y para que se usa


Solo se imprime al principio del informe
Solo se imprime al final del informe
Se imprime al principio de cada pgina
Se imprime al final de cada pgina
Se imprime al principio de cada primer nivel de datos
Datos en el 1er. Nivel repetido por cada registro
Al final de cada primer nivel de datos
Se imprime al principio de cada segundo nivel de datos
Datos en el 2 Nivel repetido por cada registro
Al final de cada segundo nivel de datos
Se imprime al principio de cada tercer nivel de datos
Datos en el 3er. Nivel repetido por cada registro
Al final de cada tercer nivel de datos
Se imprime en cada pgina a modo de capa trasera (marca al agua)
Se imprime al principio de una columna
Se imprime al final de una columna
Ttulo de grupo impreso al principio del grupo
Se imprime despus de los datos de un grupo
Estas bandas se usan en informe cruzado (cross-tab) con un nmero
variable de columnas en la pgina.
Puede ser aadida a otra banda de cualquier tipo excepto las
cruzadas y pie de pgina. Se coloca siempre despus de su banda
padre.

Segn la banda donde estemos, el diseador mostrar el editor apropiado

Normalmente las bandas que muestran datos requieren


conexin a una fuente de datos. No obstante, en la integracin a
Hermandad no ser necesario, ya que es H6 quien lo hace de manera
invisible al usuario cuando se ejecute el informe. An as, para usar la
vista previa inmediata desde el diseador se puede seleccionar como
origen de datos el conjunto DATOS. Vea la pantalla del origen de
datos que se abre presionando doble-clic sobre una banda que
requiera datos.
Si selecciona el conjunto de datos virtual, debe especificar
un nmero de registros. Esto solo debe hacerlo para pruebas
inmediatas, ya que lo que se muestra es el primer registro multiplicado
tantas veces como nmero de registros haya indicado. Y por tanto, no
se presenta informacin real de las tablas de H6. No deje activada tal
opcin porque despus, el informe no le mostrar lo que desea. Se
limita a una presentacin virtual para pruebas.

El diseador
Pgina 11 de 21

Si selecciona una banda de grupo, se le pedir una


condicin, que ser el valor que se use para agrupar el
informe. Puede usar una de las variables de H6 o cualquier
funcin basada en las variables (campos) que se le ofrecen.

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 men de contexto del objeto proporciona las siguientes


propiedades:
Ajustado La imagen se estrecha en el rectngulo.
Mantener relacin de aspecto: Si ajustado est marcado, hace que se mantengan las proporciones
de alto y ancho.
Centrar: Centra la imagen en el recuadro.

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.

Hay ciertos lmites en el uso de este objeto:


No puede ser usado en informes por columnas
Las bandas Titulo, Sumario, Cabecera y pie de pgina pueden utilizarse en los sub-reports, pero no se
podrn asociar al informe principal.
No admiten bandas partidas ni grupos.

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 CheckBox (marca)


Se usa para mostrar grficamente valores booleanos (lgicos). El resultado aparece directamente
cuando en su interior referenciamos una variable de campo booleano; en cualquier otro caso hay que utilizar
mtodos especiales para obtener la casilla marcada o vaca.

El objeto Grfico
Inserta figuras geomtricas de los tipos rectngulo, rectngulo redondeado, elipse y tringulo.

El objeto Cdigo de Barras


Su nombre dice para que sirve. Admitir los siguientes formatos:

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

Este objeto, actualmente est en desarrollo y aparecer en posteriores revisiones de Hermandad.

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

4. Las barras de herramientas


La barra estndar

Icono

Close

Nombre
Nuevo

Descripcin
Crea nuevo informe vaco

Abrir

Abre un informe existente desde un fichero de extensin FRF

Salvar

Graba el informe en formato y extensin FRF

Vista Previa

Muestra el informe tal cual saldr impreso

Cortar

Corta objeto y lo deposita en portapapeles

Copiar

Copia objeto y lo deposita en portapapeles

Pegar

Pega objeto desde el portapapeles

Deshacer

Deshace ltimos cambios

Rehacer

Rehace la ltima operacin

Poner al frente

Muestra por delante los objetos seleccionados

Enviar detrs

Enva detrs los objetos seleccionados

Selecciona todo

Selecciona todos los objetos de la pgina

Nueva pgina

Crea una nueva pgina

Borra pgina
Opciones de
pgina
Muestra rejilla

Borra pgina actual

Alinear a rejilla

Alinear a rejilla los objetos cuando los movemos

Ajustar a rejilla

Ajusta a rejilla los objetos cuando les cambiamos el tamao

ayuda
Cerrar

Muestra ayuda sensible al contexto


Cierra el diseador

Muestra el cuadro de opciones de pgina


Muestra rejilla

La barra de Texto

No requiere ms explicacin, al contener todos los procesos normales de cualquier editor

La barra de "Marco"
Proporciona el enmarcado de los objetos.

La barra de "Alineacin"

Proporciona todos los tipos posibles de alineacin de objetos.


Bastar seleccionar varios objetos y pulsar sobre el botn que nos proporcione la alineacin requerida.

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

hemos creado la variable a y la hacemos equivalente al nmero de pgina


ahora podemos usarla en cualquier objeto del informe colocndola entre corchetes
Si usamos esto

[a+ 1] equivale al nmero de pgina actual mas uno.

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:

colores: clWhite, clBlack etc. todos los colores estndares y de sistema


Estilos para letras: fsBold, fsItalic, fsUnderline;
Recuadros (frames): frftNone, frftRight, frftBottom, frftLeft, frftTop;
Alineacin de texto: frtaLeft, frtaRight, frtaCenter, frtaVertical, frtaMiddle, frtaDown;
Alineacin de banda: baNone, baLeft, baRight, baCenter, baWidth, baBottom.

Adems podemos cambiar el valor de un campo:


if Memo1.Lines[1] = 'a' then Memo1.Lines[1] := 'b'
en el ejemplo se cambia solo el contenido de la primer lnea.
Para cambiar todo debemos hacer esto:
if Memo1.Lines[1] = 'a' then Memo1.memo := 'b'

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

Ejemplo: [Sum([deuda actual], Band1)]

//no olvide poner toda la expresin entre corchetes

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

Str(<value>). Convierte un nmero a su valor en formato cadena de texto

Copy(<string>, <from>, <count>). Retorna una subcadena de <string> con longitud de <count>
caracteres, comenzando en la posicin <from>.

If(<expression>, <string1>, <string2>). Retorna la cadena <string1>, si la expresin es verdadera, en


otro caso retorna <string2>.

FormatFloat(<formatstr>, <value>). Convierte a numrico el valor significativo de <value>, usando


como mscara <formatstr>.

FormatDateTime(<formatstr>, <value>). Convierte a fecha / hora el valor de una cadena, usando la


mscara de <formatstr>.

StrToDate(<value>). Convierte la cadena <value> a fecha.

StrToTime(<value>). Convierte la cadena <value> a hora.

UpperCase(<value>). Convierte la cadena <value> a maysculas.

LowerCase(<value>). Convierte la cadena <value> a minsculas.

NameCase(<value>). Convierte el primer carcter de la cadena <value> a maysculas y el resto lo deja


en minsculas.

Length(<string>). Retorna la longitud de la cadena <string>.

Trim(<string>). Elimina los espacios al principio y al final de <string>,devolviendo lo que queda .

Pos(<substring>, <string>). Retorna la posicin de <substring> cuando coincide en la cadena <string>.

-Aritmticas

Int(<value>). Retorna la parte numrica y entera de <value>.


Frac(<value>). Retorna la parte fraccional de <value>.
Round(<value>). Retorna el nmero redondeado.
value1 Mod value2. Retorna el resto resultante de dividir <value1> by <value2>.
MinNum(<value1>, <value2>). Retorna el menor de dos valores.
MaxNum(<value1>, <value2>). Retorna el mayor de dos valores.

-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.

Page#. Devuelve el nmero de la pgina 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

Procedimientos y funciones permitidas en el montaje de un informe

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.

FreeSpace. Retorna el espacio que le queda a la pgina en pxeles.

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.

PageWidth. Retorna el ancho de la pgina en pxeles.

StopReport. Paraliza el montaje del informe.

NewPage. Comienza una nueva pgina.

NewColumn. Comienza una nueva columna en un informe de mltiple columnas


ShowBand(<band>). Muestra la banda denominada <band>.

Para facilitar el uso en escripts, detallamos a continuacin todas las propiedades y mtodos

6. Propiedades y mtodos de los objetos


Propiedades y mtodos globales
Propiedad
Tipo
Descripcin
Alineacin de objetos en su banda
BandAlign
Entero
Valores posibles: baNone, baLeft, baRight, baCenter, baWidth, baBottom.
Enabled
Booleano
Si TRUE, habilitado: un objeto respondera a eventos. Valores: True o False.
FillColor
Entero
Color del fondo. Se permiten constantes de color de Windows clXXX.
FrameColor
Entero
Color del recuadro de un objeto.
Estilo del borde. Valores posibles: psSolid, psDash, psDot, psDashDot,
FrameStyle
Entero
psDashDotDot, psDouble.
FrameTyp
Entero
Tipo de borde un conjunto de constantes frftTop, frftBottom, frftLeft, frftRight.
FrameWidth
Decimal
Ancho del recuadro.
Height
Entero
Altura del objeto seleccionado.
Left
Entero
Coordenada horizontal izquierda relativa al formulario en pxeles.
Texto del objeto. Esta propiedad puede estar accesible por su ndice, por
Memo
Cadena
ejemplo: Memo[1].
Memo.Count
Entero
Retorna el nmero de lneas en un memo (texto del campo).
Name
Cadena
Nombre del objeto.
Stretched
Booleano
Si TRUE, el objeto presenta sus dimensiones naturales.
Top
Entero
Coordenada superior izquierda relativa a su objeto padre.
Indica cuando el objeto debe aparecer en pantalla u ocultarse.
Visible
Booleano
Valores posibles: True o False.
Width
Entero
Ancho del objeto.

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

Objeto "Rectngulo sombreado"


Es un objeto descendente del cuadro de texto, por lo que tiene todas sus propiedades, y adems, como
propias, las siguientes:
Propiedad
BeginColor
EndColor
Gradient
RoundRect

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.

También podría gustarte