Producto

4D inicia un nuevo tipo de variable: Colección

Traducido automáticamente de Deepl

4D v16 R4 introduce un nuevo tipo de variable llamada Colección. ¿Para qué sirven estas variables? Al igual que los Objetos o BLOBs, las colecciones pueden ser utilizadas para contener casi cualquier tipo de variable como textos, numéricos, booleanos, objetos e incluso otras colecciones. ¡Lo bueno es que, todos estos tipos de variables antes mencionados pueden ser mezclados dentro de la misma colección, mientras que los arrays deben contener siempre el mismo tipo de elementos!

Producto blank

Valide su objeto JSON

Traducido automáticamente de Deepl

Cada vez utilizamos más el formato JSON. Por ejemplo, para guardar los ajustes en un archivo, para almacenar la configuración del software, o para intercambiar datos del cliente en la web con otros servidores.

¿Cómo se puede validar que los datos recibidos están en el formato esperado? ¿Cómo se puede validar que toda la información necesaria está realmente presente? ¿Cómo puedes hacer esta validación sin escribir un método tedioso para cada tipo de formato JSON?

Simplemente escribiendo un esquema JSON y utilizando el JSON Validate ¡nuevo comando!

Producto Discover how object notation can simplify your developer's life!

Descubra cómo la notación de objetos puede simplificar la vida de los desarrolladores.

Traducido automáticamente de Deepl

Con la notación de objetos, disponible como vista previa en 4D v16 R4, su código es más sencillo de escribir, más fácil de leer y más natural de pensar. Eso es cierto. Pero, ¿ha visto realmente todo el potencial de la notación de objetos?

Antes de 4D v16 R4, cuando quería crear un formulario detallado para introducir información de contacto desde un campo objeto, no tenía más remedio que escribir una expresión como OB GET ([CONTACT]Info; «City») en la fuente de datos variable. Se podía recuperar el valor del atributo, pero no era posible modificarlo. Además, había que escribir un método loadRecord con el comando OB GET para cada atributo y un método saveRecord con el comando OB SET para cada atributo.

¿Qué cambia la notación del objeto en este escenario? A partir de 4D v16 R4, ¡sólo tiene que escribir [CONTACT]Info.City en la fuente de datos de la variable! Esta variable está disponible en modo lectura/escritura. Los comandos OB GET y OB SET ya no son necesarios.Eso es todo. Ahora puede ver todo el potencial.

Producto blank

Otra forma de codificar: La notación de objetos

Traducido automáticamente de Deepl

Los objetos son geniales, todo el mundo lo dice. Además de su maravillosa flexibilidad, son increíblemente rápidos. Puede buscar entre millones de registros en sólo una fracción de segundo. 4D v16 permite incluso ordenar por atributos del objeto, y hacer cálculos como la suma o la media.

Con 4D v16 R4, el lenguaje 4D ha sido drásticamente mejorado para hacer el uso de objetos mucho más cómodo – con el soporte de la notación de objetos. ¡Rápido, flexible, eficiente y ahora elegante!

Producto blank

Prepárate para la notación de objetos

Traducido automáticamente de Deepl

¿Estás deseando empezar a programar con la Notación Objeto? Sin duda, la Notación de Objetos le hará la vida más fácil como desarrollador. Pero antes de activarla en su aplicación existente, debe asegurarse de que su código está listo.

La nueva sintaxis de la No tación Objeto introduce algunas restricciones, ya que el lenguaje 4D considera ahora los tres caracteres siguientes como símbolos reservados: » . «, » [ » y » ] » (es decir, punto, paréntesis de apertura y cierre).

En consecuencia, una vez que haya activado la Notación Objeto en su base de datos, ya no está permitido utilizar estos símbolos en los nombres de las variables, los nombres de los métodos, los nombres de las tablas o los nombres de los campos. Y, por supuesto, lo mismo ocurre con el código existente.

Así que es importante comprobar que tu aplicación no contiene estos símbolos antes de activar esta función. Pero no te preocupes, el MSC puede hacerlo por ti.

Producto blank

Nuevo objeto: una forma sencilla de inicializar un objeto

Traducido automáticamente de Deepl

Descubra New object, el nuevo comando de 4D para inicializar un objeto. Este comando permite crear un objeto vacío o crearlo con algunas propiedades y valores iniciales. OB SET se vuelve innecesario en varias situaciones, New object es suficiente.

New object también permite reinicializar un objeto temporal en un bucle o simplemente pasar directamente un objeto como parámetro a un comando 4D que solicite un objeto como parámetro, como los comandos Get database measures o GRAPH por ejemplo.

Este nuevo comando cambia tu forma de escribir código 4D en muchas situaciones. New object crea un objeto y devuelve una referencia a él. Permite una mayor flexibilidad en tu código. Este comando es el primero de una serie de nuevas características relacionadas con los objetos … ¡Esté atento!

Producto 4D Database: Search in array attribute

Búsqueda por argumentos de consulta de atributos de matrices de enlace

Traducido automáticamente de Deepl

Loscampos objeto, introducidos con 4D v15, permiten almacenar e indexar datos no estructurados. Puede tratarse de un conjunto de datos comunes, como el nombre, los apellidos o la fecha de nacimiento. Podrían ser datos diferentes en cada registro, como una tienda que necesitará diferentes atributos para los zapatos (talla, color), ordenadores (CPU, memoria), impresoras (color, tinta), una lista de valores o todo en cualquier combinación.

He aquí una Historia de Usuario real de un cliente 4D :

«Mi aplicación de credenciales gestiona los derechos de acceso de cada persona a un edificio y para una franja horaria. Esta información se almacena en una base de datos como una matriz de objetos ( por ejemplo: {derecho de acceso, edificio, franja horaria} ). Quiero poder buscar a las personas que tienen acceso a un edificio durante una franja horaria».

4D ofrece varias formas de consultar los datos, utilizando índices y de forma extremadamente rápida.

Producto 4D Database: Sort records by object attribute

Ordenar los registros por atributo de objeto

Traducido automáticamente de Deepl

En cada versión de 4D, los campos de objeto son cada vez más potentes.

Un nuevo comando 4D para ordenar sus selecciones de registros de acuerdo a uno o más atributos está ahora disponible con 4D v16 R2. El nuevo comando ORDER BY ATTRIBUTE funciona igual que el comando ORDER BYsólo tiene que pasar una ruta de atributos por la que quiere ordenar su selección – ¡fácil!

Producto blank

Ir más allá con los campos de objetos

Traducido automáticamente de Deepl

Loscampos de objetos introducidos con v15 permiten bases de datos no estructuradas, similares a las bases de datos sin esquema (NoSQL). 4D v16 va un gran paso más allá. Obtenga una estructura dinámica para datos no estructurados… ¿Confundido?

Imagine que utiliza un campo objeto para permitir a sus clientes almacenar datos personalizados, donde pueden crear sus propios campos. Esto funciona bien y es una de las razones más interesantes para utilizar un campo objeto. El problema es, ¿cómo permitir a su cliente consultar estos datos no estructurados? Usted no sabe qué «campos» han utilizado, no puede construir un editor de consultas en la parte superior u ofrecer un desplegable con los valores utilizados.