4D v16.3

Introducción al lenguaje 4D

Inicio

 
4D v16.3
Introducción al lenguaje 4D

Introducción al lenguaje 4D  


 

 

El lenguaje 4D está formado por diferentes componentes, que le permiten realizar tareas y administrar sus datos.

  • Tipos de datos: categorías de datos en una base. Vea la descripción en esta sección y una descripción detallada en la sección Tipos de datos.
  • Variables: lugares temporales de almacenamiento de datos en memoria. Para una descripción detallada consulte la sección  Variables.
  • Operadores: símbolos que realizan un cálculo entre dos valores. Vea la descripción en esta sección y una descripción detallada en la sección Operadores y sus subsecciones.
  • Expresiones: combinaciones de otros componentes que resultan en un valor. Vea la descripción en esta sección.
  • Comandos: instrucciones integradas para realizar una acción. Todos los comandos de 4D, tal como ADD RECORD, son descritos en este manual, agrupados por tema; cuando es necesario, el tema es precedido por una sección de introducción. Puede utilizar los plug-ins 4D para añadir nuevos comandos a su entorno de desarrollo 4D. Por ejemplo, una vez instalado el plug-in 4D Write en su sistema 4D, los comandos 4D Write quedan disponibles para la creación y manipulación de los documentos de procesamiento de palabras.
  • Constantes predefinidas: valores constantes accesibles por nombre. Por ejemplo, XML DATA es una constante (valor 6). Las constantes predefinidas permiten escribir código más legible. Las constantes se describen con los comandos que los utilizan y están totalmente listadas en la sección Lista de temas de constantes.
  • Métodos: instrucciones que usted escribe utilizando todas las parte del lenguaje descritas aquí. Vea la descripción en la sección Métodos y sus subsecciones.

Esta sección presenta los Tipos de datos, Operadores y Expresiones. Para una descripción de los otros componentes, consulte las secciones mencionadas anteriormente.

Adicionalmente:

  • Elementos del lenguaje como variables, tienen nombres llamados Identificadores. Para una descripción detallada sobre identificadores y reglas para nombrar objetos, consulte la sección Convenciones.
  • Para aprender más sobre variables Array, consulte la sección Arrays.
  • Si tiene la intención de compilar su base, consulte la sección Comandos del Compilador así como el Manual de Diseño de 4D.

A partir de 4D v15, el editor de métodos de 4D utiliza por defecto el lenguaje internacional "Inglés-US", independientemente de la versión 4D o de la configuración del sistema local. Esta funcionalidad neutraliza las variaciones regionales que puedan afectar la interpretación del código entre aplicaciones 4D (formatos de fecha, por ejemplo); y en las versiones francesas de 4D, los comandos y las constantes ahora se escriben en "Inglés-US" como ya ocurre en otros idiomas.

Esta configuración predeterminada ofrece a los desarrolladores 4D varias ventajas:

  • Facilita el intercambio de código entre los desarrolladores, con independencia de su país, configuración regional, o de la versión de 4D utilizada. Un método 4D ahora se puede cambiar mediante una simple copiar/pegar, o guardar en un archivo de texto, sin problemas de compatibilidad.
  • También hace posible la inclusión de métodos 4D en herramientas de control de fuentes, que a menudo requieren que las exportaciones sean independientes de los parámetros regionales y de los lenguajes.

Este ajuste se puede desactivar mediante la opción "Usar configuración del sistema regional" en el diálogo Preferencias de 4D (ver Página Métodos).

La configuración Inglés-US pueden tener varios efectos sobre la forma de escribir métodos. Esto concierne al código en modo de desarrollo, así como también a las fórmulas en las aplicaciones finales. En este modo, el código debe cumplir con las normas siguientes:

  • El separador decimal para números reales deben ser ahora el punto (".") en todas las versiones (y no comas (",") como es la costumbre en francés, por ejemplo).
  • Las constantes de tipo fecha ahora deben utilizar el formato ISO (!AAAA-MM-DD!) en todas las versiones.
  • los nombres de comandos y de constantes deben estar en Inglés (este cambio sólo se refiere a las versiones francesas de 4D, ya que esto ya era el caso de otros lenguajes).

Nota: el editor de métodos incluye mecanismos específicos que corrigen automáticamente entradas incorrectas en caso de necesidad.

La siguiente tabla ilustra las diferencias entre el código en 4D v15 (o superior) y las versiones anteriores:

Ejemplos de código en los métodos/fórmulas
4D v15 y superior (modo por defecto, todas las versiones)a:=12.50
b:=!2013-12-31!
Current date
4D v14 o 4D v15 (preferencia seleccionada, versión US, por ejemplo)a:=12.50
b:=!12/31/2013!
Current date
4D v14 o 4D v15 (preferencia seleccionada, versión FR, por ejemplo)a:=12,50
b:=!31/12/2013!
Date du jour

Nota: cuando la preferencia está seleccionada, los formatos de fecha y real se basan en los parámetros sistema.

En el lenguaje, los diferentes tipos de datos que se pueden almacenar en una base 4D son llamados tipos de datos. Hay ocho tipos de datos básicos: cadena, numérico, fecha, hora, Booleano, imagen, puntero y objeto.

  • Cadena: una serie de caracteres, tal como “Buenos días”. Los campos y variables texto, así como los campos alfa son datos de tipo cadena.
  • Numérico: números, como 2 o 1 000 67. Los campos y variables entero, entero largo y real son datos de tipo numérico.
  • Fecha: fechas como 1/20/89. Los campos y variables fecha son datos de tipo fecha.
  • Hora: horas, incluyendo horas, minutos y segundos, como 1:00:00 o 4:35:30 PM. Los campos y variables hora son datos de tipo hora.
  • Booleano: valores lógicos de VERDADERO o FALSO. Los campos y variables booleanos son datos de tipo Booleano.
  • Imagen: los campos y variables imagen son datos de tipo imagen.
  • Puntero: tipo especial de datos utilizados en programación avanzada. Las variables puntero son datos de tipo puntero. No hay un tipo de campo correspondiente.
  • Objeto: tipo de datos composite los cuales pueden contener todo tipo de conjunto de datos en forma de pares llaves/valores. Los campos y variables objeto son datos de tipo Objeto.

Observe que en la lista de tipos de datos, los tipos de datos cadena y numérico están asociados a más de un tipo de campo. Cuando los datos son ubicados dentro de un campo, el lenguaje convierte automáticamente los datos al tipo correcto para el campo. Por Ejemplo, si se utiliza un campo entero, los valores que contiene se tratan automáticamente como numéricos. En otras palabras, no debe preocuparse por mezclar campos de tipos similares cuando utilice el lenguaje; él lo hará por usted.

Sin embargo, es importante cuando utiliza el lenguaje, no mezclar diferentes tipos de datos. De la misma forma que no tiene sentido almacenar “ABC” en un campo Fecha, no tiene sentido colocar “ABC” en una variable utilizada para fechas. En la mayoría de los casos, 4D es muy tolerante y tratará de utilizar de manera lógico lo que usted está haciendo. Por ejemplo, si añade un número a una fecha, 4D asumirá que quiere añadir este número de días a la fecha, pero si trata de añadir una cadena a una fecha, 4D le dirá que la operación no es posible.

Hay casos en los cuales usted necesita almacenar datos de un tipo y utilizar otro tipo. El lenguaje contiene un conjunto de comandos que le permiten convertir tipos de datos. Por ejemplo, si quiere crear un número de matricula que comience con un número y termine con caracteres como “abc”. En este caso, podría escribir:

 [Productos]Matricula:=String(Número)+"abc"

Si Numero es 17, entonces [Productos]Matricula tendrá la cadena “17abc”.

Los tipos de datos se describen en detalle en la sección Tipos de datos.

Cuando utiliza el lenguaje, es raro que sólo quiera datos. Es más probable que quiera hacer algo con los datos. Usted realiza cálculos con los operadores. Los operadores, en general, toman dos valores y realizan una operación que da como resultado un nuevo valor. Usted ya está familiarizado con muchos operadores. Por ejemplo, 1 + 2 utiliza el operador de adición (o signo más) para sumar dos números, y el resultado es 3. Esta tabla muestra algunos operadores numéricos familiares:

OperadorOperaciónEjemplo
+Suma1 + 2 es igual a 3
Resta3 – 2 es igual a 1
*Multiplicación2 * 3 es igual a 6
/División6 / 2 es igual a 3

Los operadores numéricos son sólo un tipo de operador disponible. 4D soporta múltiples tipos de datos, tales como números, texto, fecha, e imágenes, de manera que hay operadores que realizan operaciones en estos diferentes tipos de datos.

Con frecuencia se utilizan los mismos símbolos para diferentes operaciones, dependiendo del tipo de datos. Por ejemplo, el signo (+) realiza diferentes operaciones con diferentes datos:

Tipo de datosOperaciónEjemplo
NúmeroSuma1 + 2 suma los números y el resultado es 3
CadenaConcatenación“Buenos” + “días” concatena (une)
las cadenas y el resultado es “Buenos días”
Fecha y númeroAdición de fecha!1997/1/1! + 20 añade 20 días a la fecha
Enero 1, 1989, y el resultado es la fecha
21 de enero, 1989

Los operadores son definidos en detalle en la sección Operadores y sus subsecciones.

En palabras sencillas, las expresiones devuelven un valor. De hecho, cuando utiliza el lenguaje 4D, utiliza todo el tiempo expresiones y tiende a pensar en ellas sólo en términos del valor que representan. Las expresiones también son llamadas fórmulas.

Las expresiones están constituidas de casi todas las otras partes del lenguaje: comandos, operadores, variables, y campos. Usted utiliza expresiones para construir líneas de código, que a su vez se utilizan para construir métodos. El lenguaje utiliza expresiones cada vez que necesita conocer el valor de un dato.

Rara vez las expresiones son “independientes.” Sólo hay unos pocos lugares en 4D donde una expresión puede ser utilizada como tal:

  • en las cajas de diálogo de búsqueda por fórmula
  • en el depurador donde el valor de las expresiones puede ser evaluado
  • en la caja de diálogo aplicar fórmula
  • en el editor de informes rápidos como una fórmula en una columna

Una expresión puede ser simplemente una constante, tal como el número 4 o la cadena “Hola.” Como su nombre lo indica, el valor de una constante nunca cambia. Cuando las expresiones contienen operadores comienzan a volverse interesantes. En las secciones anteriores usted vio expresiones que utilizan operadores. Por ejemplo, 4 + 2 es una expresión que utiliza el operador de adición para sumar dos números y cuyo resultado es 6.

Usted se refiere a una expresión por el tipo de dato que devuelve. Hay ocho tipos de expresiones:

  • Expresión cadena
  • Expresión numérica (también llamada número)
  • Expresión fecha
  • Expresión hora
  • Expresión Booleana
  • Expresión Imagen
  • Expresión Puntero
  • Expresión Objeto

La tabla siguiente da un ejemplos para cada tipo de expresión.

ExpresiónTipoExplicación
“Buenos”CadenaLa palabra Buenos es una cadena constante,
indicado por las comillas.
“Buenos ” + “días”CadenaDos cadenas, “Buenos ” y “días”,
se unen (concatenan)
con la ayuda del operador de concatenación (+).
Se devuelve la cadena “Buenos días”.
“Sr.” + [Personas]NombreCadenaDos cadenas se concatenan:
la cadena “Sr.” y el valor actual
del campo Nombre en la tabla Personas.
Si el campo contiene “López”, la expresión
devuelve “Sr. López”.
Uppercase (“Suárez”)CadenaEsta expresión utiliza Uppercase, un comando del lenguaje, para convertir la cadena "suárez" a mayúsculas. 
un comando del lenguaje,
para convertir la cadena “Suárez” a mayúsculas.
Devuelve “SUÁREZ”.
4Númerico Esta es una constante numérica, 4.
4 * 2NúmericoDos números, 4 y 2, se multiplican
utilizando el operador de multiplicación (*).
El resultado es el número 8.
Mi BotónNúmericoEste es el nombre de un botón.
Devuelve el valor actual del botón:
1 si se hizo clic en el botón, 0 si no.
!25/1/97! o !1997/01/25!FechaEsta es una constante de fecha para la fecha 25/1/97
(25 de enero, 1997).
Current date + 30FechaEsta es una expresión fecha que utiliza la función Current date para recuperar la fecha actual.
el comando “Current date” para obtener
la fecha actual.
Añade 30 días a la fecha actual y devuelve
la nueva fecha.
?8:05:30?HoraEsta es una constante de hora que representa 8 horas,
5 minutos, y 30 segundos.
?2:03:04? + ?1:02:03?HoraEsta expresión añade una hora a otra y
devuelve la hora 3:05:07.
TrueBooleanoEste comando devuelve el valor booleano TRUE.
10 # 20BooleanoEsta es una comparación lógica entre dos números.
El signo número (#) significa “es diferente de”.
Como 10 “no es igual a” 20, la expresión
devuelve TRUE.
“ABC” = “XYZ”BooleanoEsta es un comparación lógica entre dos cadenas.
No son iguales, entonces la expresión devuelve FALSE.
Mi Imagen + 50ImagenEsta expresión toma la imagen en Mi Imagen,
la mueve 50 píxeles a l derecha, y devuelve
la imagen resultante.
->[Personas]NombrePunteroEsta expresión devuelva un puntero al campo
llamado [Personas]Nombre.
Tabla (1)PunteroEste comando retorna un puntero
a la primera tabla.
JSON Parse(MiCadena)ObjetoEste comando devuelve MiCadena en forma  de objeto (si el formato es adecuado)



Ver también 

Arrays
Constantes
Métodos
Operadores
Punteros
Tipos de datos
Variables

 
PROPIEDADES 

Producto: 4D
Tema: Presentación del lenguaje

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)