Produto

4D inicia um novo tipo de variável: Colecção

Tradução automática de Deepl

4D v16 R4 introduz um novo tipo de variável chamada Collection . A que se destinam estas variáveis? Como Objectos ou BLOBs, as colecções podem ser usadas para conter quase todos os tipos de variáveis como textos, numéricos, booleanos, objectos e mesmo outras colecções. O bom é que, todos estes tipos de variáveis anteriormente mencionados podem ser misturados dentro da mesma colecção, onde as matrizes devem conter sempre o mesmo tipo de elementos!

Produto blank

Valide o seu objecto JSON

Tradução automática de Deepl

Utilizamos cada vez mais o formato JSON. Por exemplo, para guardar definições num ficheiro, para armazenar configurações de software, ou para trocar dados de clientes na web com outros servidores.

Como se pode validar que os dados recebidos estão no formato esperado? Como se pode validar que toda a informação necessária está realmente presente? Como pode fazer esta validação sem escrever um método cansativo para cada tipo de formato JSON?

Basta escrever um esquema JSON e utilizar o parâmetro JSON Validate novo comando!

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

Descubra como a notação de objectos pode simplificar a vida do seu criador!

Tradução automática de Deepl

Com a notação de objecto, disponível como uma pré-visualização em 4D v16 R4, o seu código é mais simples de escrever, mais fácil de ler e mais natural de pensar. Isso é verdade. Mas será que viu realmente todo o potencial da notação de objectos?

Antes de 4D v16 R4, quando pretendia criar um formulário detalhado para introduzir informações de contacto de um campo de objecto, não tinha outra escolha senão escrever uma expressão como OB GET ([CONTACTO]Info; “Cidade”) na fonte de dados variável. Foi possível recuperar o valor do atributo, mas não foi possível alterá-lo. Além disso, tinha de escrever um método loadRecord com o comando OB GET para cada atributo e um método saveRecord com o comando OB SET para cada atributo.

O que é que a notação de objecto muda neste cenário? A partir de 4D v16 R4, basta escrever [CONTACTO]Info.City na fonte de dados da variável! Esta variável está disponível no modo de leitura/escrita. OB GET e OB SET comandos já não são necessários.É isso mesmo! Agora vê todo o potencial.

Produto blank

Outra forma de codificação: Notação de objectos

Tradução automática de Deepl

Os objectos são óptimos, todos o dizem. Para além da sua maravilhosa flexibilidade, são incrivelmente rápidos. É possível pesquisar milhões de registos em apenas uma fracção de segundo. 4D v16 permite até encomendar por atributos de objectos, e fazer cálculos tais como Soma ou Média.

Com 4D v16 R4, a linguagem 4D foi drasticamente melhorada para tornar a utilização de objectos muito mais confortável – com o apoio da notação do objecto. Rápido, flexível, eficiente e agora elegante!

Produto blank

Preparar para a Notação de Objectos

Tradução automática de Deepl

Está ansioso por começar a codificar com a notação de objectos? Com certeza, a Notação de Objectos irá facilitar a sua vida como programador. Mas antes de a activar na sua aplicação existente, deve certificar-se de que o seu código está pronto.

A nova sintaxe da Notação de Objectos introduz algumas restrições como linguagem 4D, considerando agora os três seguintes caracteres como símbolos reservados: “ . “, ” [ ” e ” ] ” (isto é, ponto, abrir e fechar parênteses).

Como consequência, uma vez activada a Notação de Objectos na sua base de dados, já não é permitido utilizar estes símbolos em nomes de variáveis, nomes de métodos, nomes de tabelas, ou nomes de campos. E claro que é o mesmo para o seu código existente!

Portanto, é importante verificar se a sua aplicação não contém estes símbolos antes de activar esta funcionalidade. Mas não se preocupe que o MSC o possa fazer por si!

Produto blank

Novo objecto: uma forma fácil de inicializar um objecto

Tradução automática de Deepl

Descubra New object, o novo comando de 4D para inicializar um objecto. Este comando permite ou criar um objecto vazio ou criá-lo com algumas propriedades e valores iniciais. OB SET está agora a tornar-se desnecessário em várias situações, New object é suficiente.

New object também permite reinicializar um objecto temporário num loop ou simplesmente passar directamente um objecto como parâmetro para um comando 4D solicitando um objecto como parâmetro, como os comandos Get database measures ou GRAPH, por exemplo.

Este novo comando altera a forma de escrever código 4D em muitas situações. New object cria um objecto e devolve uma referência ao mesmo. Permite maior flexibilidade no seu código. Este comando é o primeiro de uma série de novas funcionalidades relacionadas com objectos … Fique atento !

Produto 4D Database: Search in array attribute

Pesquisa através da ligação de argumentos de consulta de atributos de matriz

Tradução automática de Deepl

Oscampos objecto, introduzidos com 4D v15, permitem armazenar e indexar dados não estruturados. Este pode ser um conjunto comum de dados, como nome, apelido, aniversário. Podem ser dados diferentes em cada registo, tais como uma loja que precisará de atributos diferentes para sapatos (tamanho, cor), computadores (CPU, memória), impressoras (cor, tinta), uma lista de valores ou tudo em qualquer combinação.

Aqui está uma verdadeira História de Utilizador de um cliente 4D :

Aminha aplicação de crachá gere os direitos de acesso de cada pessoa a um edifício e a um espaço de tempo. Esta informação é armazenada numa base de dados como um conjunto de objectos ( por exemplo: {direito de acesso, edifício, faixa horária} ). Quero poder procurar pessoas que tenham acesso a um edifício durante um espaço de tempo”.

4D fornece várias formas de consulta de dados, usando índice e de forma extremamente rápida.

Produto 4D Database: Sort records by object attribute

Ordenar registos por atributo de objecto

Tradução automática de Deepl

A cada libertação 4D, os campos de objectos tornam-se cada vez mais poderosos.

Um novo comando 4D para ordenar as suas selecções de registos de acordo com um ou mais atributos está agora disponível com 4D v16 R2. O novo comando ORDER BY ATTRIBUTE funciona da mesma forma que o comando ORDER BYBasta passar um caminho de atributo pelo qual quer encomendar a sua selecção – fácil!

Produto blank

Ir mais longe com campos de objectos

Tradução automática de Deepl

Oscampos de objectos introduzidos com v15 permitem bases de dados não estruturadas, semelhantes a bases de dados sem esquema (NoSQL). 4D v16 vai um grande passo em frente. Obter uma estrutura dinâmica para dados não estruturados… Confuso?

Imagine que utiliza um campo objecto para permitir aos seus clientes armazenar dados personalizados, onde eles podem criar os seus próprios campos. Isto funciona bem e é uma das razões mais interessantes para utilizar um campo de objecto. O problema é, como permitir ao seu cliente consultar estes dados não estruturados? Não sabe quais os ‘campos’ que utilizaram, não pode construir um editor de consultas no topo ou oferecer uma gota para baixo com valores usados.