Mikel Gómez
unread,Oct 24, 2005, 5:20:47 PM10/24/05Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Foros focus, mif...@googlegroups.com
En el lenguaje FOCUS existen dos tipos de concatenaciones, que suelen
recibir los nombres de concatenación débil o simple (operador |) y
concatenación fuerte (operador ||).
El primer tipo de concatenación o concatenación simple mantiene todos
los blancos que se encuentren en la expresión en el mismo lugar,
mientras que la concatenación fuerte va pasando todos los espacios de
la primera parte de la expresión al final de ésta.
Es habitual que se necesite una combinación de los dos tipos, por
ejemplo cuando queremos unir unos apellidos con un nombre separados
por una coma y un espacio. En este caso se deben utilizar paréntesis
para establecer la precedencia de las concatenaciones, como se puede
apreciar en el siguiente ejemplo:
-* pfmikcon.fex - 2005.09.27 - Mikel Gómez - Tipos de concatenación - Ejemplos
-SET &NOMBRE = 'JUAN ' ;
-SET &APELLIDO1 = 'GARCIA ' ;
-SET &APELLIDO2 = 'GOMEZ ' ;
-TYPE Ejemplo de tipos de concatenación
-TYPE &|NOMBRE = &NOMBRE
-TYPE &|APELLIDO1 = &APELLIDO1
-TYPE &|APELLIDO2 = &APELLIDO2
-TYPE __________________________________________________________
-TYPE Concatenación simple, mantiene todos los espacios.
-TYPE &|APELLIDO1 | &|APELLIDO2 | ', ' | &|NOMBRE ;
-SET &NOMBREC1 = &APELLIDO1 | &APELLIDO2 | ', ' | &NOMBRE ;
-TYPE &NOMBREC1
-TYPE __________________________________________________________
-TYPE Concatenación fuerte, todos los espacios pasan al final.
-TYPE &|APELLIDO1 || ' ' || &|APELLIDO2 || ', ' || &|NOMBRE ;
-SET &NOMBREC2 = &APELLIDO1 || ' ' || &APELLIDO2 || ', ' || &NOMBRE ;
-TYPE &NOMBREC2
-TYPE __________________________________________________________
-TYPE Combinación de los métodos anteriores (usando paréntesis)
-TYPE &|APELLIDO1 || (' ' | &|APELLIDO2 || (', ' | &|NOMBRE)) ;
-SET &NOMBREC3 = &APELLIDO1 || (' ' | &APELLIDO2 || (', ' | &NOMBRE)) ;
-TYPE &NOMBREC3
-TYPE __________________________________________________________
-TYPE Eliminación previa de espacios.
-TYPE TRUNCATE(&|APELLIDO1) | ' ' | TRUNCATE(&|APELLIDO2) | ', ' |
TRUNCATE(&|NOMBRE) ;
-SET &NOMBREC4 = TRUNCATE(&APELLIDO1) | ' ' | TRUNCATE(&APELLIDO2) |
', ' | TRUNCATE(&NOMBRE) ;
-TYPE &NOMBREC4