4D v16.3Tipos de datos |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Tipos de datos
|
Tipos de datos | Campo | Variable | Expresión |
Cadena (ver nota 1) | Sí | Sí | Sí |
Numérico (ver nota 2) | Sí | Sí | Sí |
Fecha | Sí | Sí | Sí |
Hora | Sí | Sí | Sí |
Booleano | Sí | Sí | Sí |
Imagen | Sí | Sí | Sí |
Puntero | No | Sí | Sí |
BLOB (ver nota 3) | Sí | Sí | No |
Array (ver nota 4) | No | Sí | No |
Entero 64 bits (ver nota 5) | Sí | No | No |
Flotante (ver nota 5) | Sí | No | No |
Objeto (ver nota 6) | Sí | Sí | Sí |
Indefinido | No | Sí | Sí |
Notas
Cadena es término genérico que se utiliza para:
Nota: en el manual del Lenguaje 4D, los parámetros de tipo Alfa y Texto en las descripciones de comandos son llamados Cadena, excepto cuando se especifique de otra forma.
Númerico es un término genérico que se utiliza para:
El rango de números de tipo Real es ±1.7e±308 (13 cifras significativas)
El rango de números de tipo Entero ( 2-bytes) es -32,768..32,767 (2^15..(2^15)-1)
El rango de números de tipo Entero largo (4-bytes) es -2^31..(2^31)-1
Puede asignar todo número de tipo numérico a otro número de otro tipo numérico; 4D hace la conversión, truncando o redondeando si es necesario. Sin embargo, cuando los valores se salen del rango, la conversión no devolverá un valor válido. Puede mezclar tipos de datos numéricos en expresiones.
Nota: en el Manual del lenguaje 4D, sin importar el tipo de dato, los parámetros de tipo Real, Entero, y Entero largo en las descripciones de los comandos son llamados numéricos, excepto cuando se establezca de otra manera.
Nota: en el Manual del lenguaje de 4D, los parámetros de tipo Fecha en las descripciones de los comandos son llamados Fecha, excepto cuando se establezca de otra forma.
Las fechas en JavaScript son objetos, son enviadas a 4D como texto que contiene su forma JSON como cualquier otro objeto. Este principio se aplica, en particular, cuando se utilizan las funcionalidades 4D Mobile o Área web.
La forma JSON del objeto Date JavaScript sigue la norma ISO 8601, por ejemplo, 2013-08-23T00:00:00Z".
Es su responsabilidad convertir este texto en una fecha 4D (C_DATE ). Están disponibles dos soluciones:
C_TEXT($1) // recepción de una fecha en formato ISO
C_DATE($d)
$d:=JSON Parse("\""+$1+"\"";Is date))
C_TEXT($1) // recepción de una fecha en formato ISO
C_DATE($d)
$d:=Date($1)
Observe la diferencia entre estas dos soluciones: JSON Parse respeta el modo de conversión definido por el comando #cmd id="642"/] (si lo hay), mientras que Date no está sujeta a este. La conversión con el comando Date siempre tiene en cuenta la zona horaria local.
Nota: en el Manual del lenguaje de 4D, los parámetros de tipo Hora en las descripciones de los comandos son llamados Hora, excepto cuando se establezca de otra forma.
Un campo, variable o expresión booleano puede ser VERDADERO o FALSO.
Nota: en el Manual de lenguaje, los parámetros de tipo Booleano en las descripciones se llaman Booleanos, a menos de que establezca de otra forma.
Un campo, variable o expresión de tipo Imagen puede contener imágenes Windows o Macintosh. En general, esto incluye cualquier imagen que se pueda colocar en el Portapapeles o leer desde el disco utilizando comandos de 4D o de un plug-in.
Nota: en el Manual del lenguaje 4D, los parámetros de tipo imagen en las descripciones de los comandos son llamados Imagen, a menos de que se establezca de otra forma.
Una variable o expresión de tipo puntero es una referencia a otras variables (incluyendo arrays y elementos de array), tablas o campos. No hay campos de tipo Puntero.
Para mayor información sobre Punteros, consulte la sección Punteros.
Nota: en el Manual de lenguaje, los parámetros de tipo Puntero en las descripciones de comandos son llamados Puntero excepto cuando se establezca de otra forma.
Un campo o variable de tipo BLOB es una serie de bytes (de un lago de 0 a 2 GB) que puede direccionar individualmente o utilizando los . No hay expresiones de tipo BLOB.
Nota: en el Manual de lenguaje de 4D, los parámetros BLOB en las descripciones de los comandos se llaman BLOB.
Las variables, campos o expresiones de tipo Objeto pueden contener varios tipos de datos. La estructura de los objetos "nativos" 4D se basa en el principio clásico de los pares "propiedad/valor". La sintaxis de estos objetos se basa en la notación JSON, pero no la sigue completamente.
Usted maneja los objetos usando los comandos disponibles en el tema Objetos (Lenguaje).
Indefinido no es realmente un tipo de datos. Denota una variable que no ha sido definida aún. Una función (un método de proyecto que devuelve un resultado) puede devolver un valor indefinido, dentro del método, el resultado de la función ($0) se asigna a una expresión indefinida (una expresión calculada con por lo menos una variable indefinida). Un campo no puede ser indefinido. (El comando Undefined siempre devuelve False a un campo).
Un array no es realmente un tipo de datos. Los diferentes tipos de arrays (como Array entero, Array texto, etc.) se agrupan bajo este título. Los arrays son variables, no hay campos ni expresiones de tipo Array. Para mayor información sobre arrays, consulte la sección Arrays.
Nota: en el Manual de lenguaje 4D, los parámetros de tipo Array en las descripciones de los comandos son llamados Arrays, excepto cuando se establezca de otra forma (por ejemplo Array Texto, Array numérico, ...).
El lenguaje de 4D contiene operadores y comandos para convertir tipos de datos en otros tipos, en la medida en que las conversiones tengan sentido. El lenguaje 4D se asegura de la verificación de los tipos de datos. Por ejemplo, no puede escribir: "abc"+0.5+!12/25/96!-?00:30:45?. Esto generará errores de sintaxis.
La siguiente tabla lista los tipos de datos básicos, los tipos de datos en los que se pueden convertir y los comandos a utilizar para hacerlo:
Tipos a convertir | Convertir en cadena | Convertir en número | Convertir en fecha | Convertir en Hora |
Cadena (*) | Num | Date | Time | |
Numérico (**) | String | |||
Fecha | String | |||
Hora | String | |||
Booleano | Num | |||
Objeto | JSON Stringify |
(*) Las cadenas formateadas en JSON pueden convertirse en datos escalares o en objetos utilizando el comando JSON Parse.
(**) Los valores de tipo Hora pueden tratarse como números.
Nota: además de las conversiones de datos listadas en esta tabla, se pueden obtener conversiones de datos más sofisticadas combinando operadores y otros comandos.
Arrays
Cadenas de caracteres
Condiciones y bucles
Constantes
Convenciones
Métodos
Operadores
Punteros
Símbolos de referencia de caracteres
Type
Variables
Producto: 4D
Tema: Presentación del lenguaje
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)