Sintaxis de las expresiones

Inicio  Anterior  Siguiente

 

Las expresiones son usadas para calcular valores numéricos, cadenas o valores lógicos ("verdadero" o "falso"). Hay varios operadores y funciones disponibles para esto, que dependen del lenguaje de programación ("Pascal" en éste caso), que pueden ser usadas para hacer muchas clases de cálculos. Se puede operar sobre campos de datos, por ejemplo calcula el impuesto de una cantidad dada, o mezcla dos campos de datos en una sola cadena. Tenga en cuenta que si la expresión es una de las propiedades de una banda del informe, el resultado de la expresión debe ser un valor lógico. Sólo la banda de grupo esperará como resultado una cadena o un número, según sea el campo de la expresión del elemento.

 

Composición de expresiones

 

El evaluador de expresiones sólo trabaja con cuatro tipos de datos: Cadenas, Enteros, Flotantes y Booleanos. Los datos binarios y memo no son soportados en las expresiones. A continuación se muestra una lista de como son convertidos los campos de una base de datos a tipos de datos del informe:

 

Tipo de Dato        Tipo de Campo        

Cadena        Campos de cadena, fechas y tiempos        

Entero        Enteros cortos, bytes y enteros        

Flotante        Flotantes y monetarios        

Booleano        Booleanos (lógicos)        

 

La sintaxis de una expresión se parece enormemente al Object Pascal. He aquí  una lista de operadores soportados:

 

Operador        Descripción        

+        Suma        

-        Resta        

*        Multiplicación        

/        División        

()        Paréntesis        

And        Y Lógico        

Or        O Lógico        

Not        NO Lógico        

=        Igual        

<        Menor que        

>        Mayor que        

<=        Menor o igual que        

>=        Mayor o igual que        

<>        Distinto        

 

Las funciones estandar que se incluyen son:

 

Función        Descripción        

Date        Devuelve la fecha actual como una cadena        

Time        Devuelve el tiempo actual como una cadena        

Str(Número)        Convierte el argumento numérico a una cadena                

Copy(Str,s,l)        Devuelve la subcadena de 'Str' (comenzando desde el caracter en la posición 's', y tomando un máximo de 'l' caracteres)        

Int(Número)        Devuelve la parte entera de un número        

Frac(Número)        Devuelve la parte fraccionaria de un número        

If (Expr, r1, r2)        Devuelve 'r1' or 'r2' dependiendo de la expression Boolean 'expr'        

TypeOf(Expr)        Devuelve el tipo de dato de 'expr'        

Sqrt(Número)        Devuelve la raíz cuadrada de un número        

True        Valor lógico verdadero        

False        Valor lógico falso        

Sum(Expr)        Devuelve la suma de 'expr'        

Count        Devuelve el número de entradas        

Min(Expr)        Devuelve el menor valor de 'expr'        

Max(Expr)        Devuelve el mayor valor de 'expr'        

Average(Expr)        Extrae una media de 'expr'        

         

Usando campos de bases de datos en las expresiones

 

Cualquier campo referenciado en cualquiera de las tablas o querys referenciadas en el informe puede ser incluido dentro de la expresión. Los nombres de los campos son referenciados únicamente por sus nombres de campo (por ejemplo 'Nombre') o por el nombre de la tabla seguido por un punto y el campo del nombre (por ejemplo Clientes.Nombre). Si no se especifica un nombre de tabla el informe buscará el campo en todas las Fuentes de datos disponibles y utilizará el primero que encuentre.

 

La actual versión del evaluador de expresiones no soporta campos de nombre con caracteres especiales tales como blancos, '/', puntos, signos de dolar y similares.

 

Usando cadenas en las expresiones

 

Las cadenas en las expresiones deben de estar encerradas entre dobles comillas. La que sigue es una expresión admitida:

 

"Los ordenadores son geniales!"

 

La máxima longitud de las cadenas es de 255 caracteres.

 

Expresiones de ejemplo

 

Las que siguen son algunos ejemplos de expresiones:

 

Expresión        Descripción        

1        Constante entera, devuelve 1        

1.5        Constante de punto flotante, devuelve 1.5        

"Delphi"        Cadena constante, devuelve "Delphi" como una cadena        

True        Constante Lógica, devuelve True (Verdadero)        

1 + 2        Cálculo numérico, devuelve 3        

2 * (3 + 2.5)        Cálculo numérico, devuelve 11        

"Delphi" + " es genial"        Cálculo de cadena, devuelve "Delphi es genial"        

Nombre        Devuelve el valor del campo 'Nombre' si es que existe        

Clientes.Nombre        Devuelve el valor del campo 'Nombre' de la tabla 'Clientes'        

Nombre + " " + Contacto        Suma el campo 'Nombre', un blanco y el campo 'Contacto'        

ImporteTotal * IVA/ 00        Cálculo entre campos numéricos        

"Impreso "+ Date        Cálculo entre campos de cadena        

"El importe total es " + str(ImporteTotal)        Calculo entre campos de cadena y conversión de un numérico a una cadena        

if(ImporteTotal > 5000, "Gran pedido", "Pequeño pedido")        Devuelve "Gran pedido" si ImporteTotal es mayor que 5000, en caso contrario devuelve "Pequeño pedido"        

if(Chequeo, "X", " ")        Devuelve una 'X' si Chequeo es True (Verdadero)        

 

 

Componer expresiones visualmente

 

Las expresiones pueden ser directamente tecleadas en la correspondiente línea de edición, o puede pulsar sobre el botón ".." a la derecha de la línea de edición para mostrar el diálogo para construir expresiones. Se puede diseñar visualmente la expresión con el ratón. Si alguna de las funciones usadas tiene parámetros, como "Copy" o "Sum", aparecerá otro diálogo para definir estos parámetros de forma separada.