O que há de novo em 4D v19 R4

Tradução automática de Deepl

Linguagem 4D

Regresso. Continuar. Intervalo. E mais!

Ouvimos e seguimos os seus pedidos de funcionalidades no Fórum 4D com várias melhorias linguísticas 4D!

  • Começando com declarações que lhe permitem saltar de um bloco de código:
    • A palavra-chave return termina a execução do método ou função em que aparece e devolve o controlo ao método de chamada. Pode também devolver um valor opcional.
    • A palavra-chave break termina o laço que a contém. A seguinte declaração executada é a que se segue imediatamente após o corpo do laço.
    • A declaração de continuação termina a execução das declarações na actual iteração do laço e continua a execução do laço com a próxima iteração.
  • Seguido de uma avaliação de curto-circuito : Numa expressão que utiliza um operador AND ou OR, uma avaliação de curto-circuito significa que o segundo argumento só é executado ou avaliado se o primeiro argumento não for suficiente para determinar o valor da expressão. Acrescentamos dois novos operadores para o fazer:
    • && para o operador AND
    • || para o operador OR
  • E depois há um operador ternário, que é uma condição seguida de um ponto de interrogação ( ? ), uma expressão para avaliar se a condição é verdadeira seguida de dois pontos (:), e finalmente a expressão para avaliar se a condição é falsa: condição? valor Se Verdadeiro: valor Se Falso.

Novo comando para obter informações detalhadas sobre licenças

4D v19 R4 é enviado com um novo comando que dá toda a informação sobre a utilização da sua licença: Obtenha a Licença de Utilização. Também expandimos os nossos registos de diagnóstico. Graças a esta funcionalidade, poderá acompanhar o consumo da licença no seu servidor, optimizar a sua utilização e planear com antecedência as suas necessidades futuras.

Mais opções para o comando enterável OBJECT SET

O comando OBJECT SET ENTERABLE foi melhorado, permitindo-lhe gerir melhor um campo que não é editável. Como terceiro parâmetro, o comando suporta um booleano ou um número inteiro.

  • Assim, pode utilizar o comando como antes sem alterar o seu código, passando um booleano. Apenas a propriedade enterável é modificada (Falso ou Verdadeiro).
  • Ou pode passar um número inteiro. Assim, pode definir a propriedade enterável e focalizável para o seu campo.

Interface do utilizador

DPI elevado no Windows: Suporte para ecrãs de alta resolução

High DPI significa High Dots Per Inch (pontos por polegada). Representa a densidade de pixels; quanto maior o DPI, maior é a densidade de pixels. Em ecrãs de 4K, a densidade de píxeis pode ser tão alta que a exibição, como de costume, tornaria todos os ícones e controlos extremamente pequenos. Como tal, o Windows permite alterar a escala do texto, ícones, e controlos. Em ecrãs de 4K, é activado por defeito. Primeiro suportamos DPI elevado em Mac, e com v19R4, 4D é agora totalmente compatível em Windows, também. O resultado é uma melhor qualidade de texto e imagem.

Trabalhadores do sistema

Lançar um processo externo de forma assíncrona

Outra característica altamente solicitada está disponível para si. Por vezes, é necessário executar processos em segundo plano e realizar acções específicas com base no seu código de saída assim que este estiver disponível, enquanto o processo ainda está em execução. Por exemplo, para exibir uma barra de progresso. 4D permite iniciar um processo em fundo com a nova classe 4D.SystemWorker e executar automaticamente métodos de retorno de chamada quando o processo retorna informação. Assim, se o utilizar com uma interface, a interface mantém-se reactiva ao seu utilizador enquanto o processo externo está em execução, e quando o processo estiver terminado, pode exibir o resultado ao seu cliente.

ORDA

Dizer olá a pseudónimos

4D v19 R4 é enviado com um novo conceito ORDA: Pseudónimos. São a continuação lógica e complementar dos atributos computorizados. Como o nome sugere, um pseudónimo é, de facto, um atalho para um objecto de datastore existente. Eles são definidos na “entidade dataclass” como atributos computorizados. Enquanto um atributo computado pode processar qualquer cálculo ou fórmula, um alias é apenas um atalho, tornando o desenvolvimento mais rápido e mais fácil. Um exemplo de utilização é dar acesso fácil a atributos relacionados (o que significa ocultar a complexidade de uma base de dados relacionada).

Desactivar o mapeamento por defeito do valor NULL para um valor em branco

Quando cria um novo campo na sua base de dados, 4D permite-lhe escolher ou não mapear valores NULL para valores em branco. A partir de 4D v19 R4, em novos projectos, 4D deixará, por defeito, de mapear o valor NULL para os dados ausentes.

Isto é benéfico porque a ORDA foi perfeitamente concebida para trabalhar com valores NULL, e poupar-lhe-á muitas soluções deselegantes.

Gestão de fechaduras pessimistas Descanso VIA

Com 4D v19 R4, pode utilizar o API REST para bloquear ou desbloquear uma entidade. Isto é particularmente útil para:

  • Manter o seu código consistente se estiver habituado a trabalhar com o REST API. Não há necessidade de escrever uma função nas Classes de Modelo de Dados ORDA para bloquear/desbloquear uma entidade.
  • Utilize suavemente as fechaduras pessimistas com o REST API.

4D para móvel

atributos de objectos para aplicações avançadas

A partir de agora, pode utilizar quase todos os tipos de atributos nos seus projectos móveis: texto, datas, hora, números inteiros. 4D v19 R4 está a trazer outro: atributos de objectos. Isto permite-lhe exibir campos de objectos na sua aplicação móvel em formato legível por humanos ou em formato JSON. Os campos de objectos são utilizados para armazenar vários dados na sua aplicação 4D; agora, são facilmente utilizáveis em aplicações móveis. O que significa? A construção de aplicações iOS e Android ainda mais avançadas está na ponta dos seus dedos.

Melhorias na gestão de dados

Com 4D v19 R4, a secção de dados foi melhorada para lhe dar mais informações sobre os dados que irá empacotar com a sua aplicação móvel. Por exemplo, obterá o número exacto de entidades e o tamanho dos dados para cada classe de dados, evitando a obtenção de demasiados dados na sua aplicação móvel. Esta melhoria também o ajudará a verificar a validade da sua consulta, clicando no botão Validar. Receberá mais feedback visual sobre a validação da sua consulta com mensagens de erro, se a consulta estiver incorrecta.

Novo em 4D para Android

Muitas melhorias foram trazidas para 4D para o Android, permitindo-lhe desfrutar da mesma experiência 4D premium para ofertas iOS. O 4D v19 R4 está a trazer:

  • O apoio das relações One to N: Mostrar os dados relativos a um registo na forma de lista e detalhe.
  • Acções em linha: Possibilidade de modificar uma entidade ou selecção de entidade no modo online.
  • E campos de objectos formatados: Mostrar campos de objectos na sua aplicação móvel em formato legível por humanos ou em formato JSON.

4D Write Pro

quebra de página dentro das linhas da tabela

4D v19 R4 é enviado com novos atributos para definir melhor a disposição das tabelas. Permitindo-lhe criar documentos complexos 4D Write Pro com facilidade, mas o mais importante, documentos visualmente apelativos: diga olá às quebras de página dentro de linhas de tabelas. Isto é útil quando as células têm texto mais longo (ou vários parágrafos). Pode ser interessante definir que uma célula (e portanto uma linha da tabela) também pode ser dividida em duas para preencher o espaço disponível nas páginas dos documentos:

  • A quebra de página wk dentro do parágrafo pode, evidentemente, ser aplicada a parágrafos, mas também a qualquer alvo como o documento em si, uma secção específica, uma gama de texto, etc. Em todos os casos, o atributo será atribuído aos parágrafos no interior do alvo. Isto é simplesmente uma facilidade de programação.
  • a quebra de página dentro da tabela permite que uma tabela seja dividida em duas (ou mais) partes, a separação é feita entre duas linhas da tabela (como habitualmente)
  • Aquebra de página wk dentro da fila também permite dividir uma mesa, mas desta vez dentro das filas. Note-se que esta opção depende da anterior. Se uma mesa não pode ser dividida, as suas filas também não podem.

Note por favor que a opção de quebra de página dentro das linhas da tabela está disponível na barra de ferramentas e widgets da barra lateral.

Suporte de modo negro

Com 4D v19 R4, 4D Write Pro ficou escuro. Pode, em última análise, desenvolver-se e implantar-se em modo claro ou escuro em macOS. Os últimos widgets da biblioteca são compatíveis no modo escuro (em macOS):

  • Barra de ferramentas da interface 4D Write Pro
  • Interface 4D Write Pro
  • Área de texto rica em Sidebar

4D Ver Pro

Opções de livros de exercícios

Quando se cria um documento com 4D View Pro, é frequentemente necessário afinar a experiência do utilizador, escondendo as abas da folha, as barras de deslocamento, desactivando o menu de contexto, ou o arrastar e largar… Todas estas características e mais são possíveis com o comando VP SET WORKBOOK OPTIONS.

Acelere o seu processo de desenvolvimento com modelos.

A criação de relatórios ou folhas de cálculo a partir de modelos existentes acelera o desenvolvimento. Como um utilizador final que utiliza a acção Copiar e Colar, como programador, pode, com 4D v19 R4, simplesmente “copiar” uma gama de células de outro local ou mesmo de outra área. O comando VP MOVE CELLS permite-lhe copiar/cortar e colar uma gama de células de outro local, mesmo entre duas áreas. Outra forma de copiar um intervalo é copiá-lo num objecto com o comando VP Copy to object, por exemplo, para o guardar na sua base de dados, pelo que pode colar este objecto quando precisar dele com o comando VP PASTE FROM OBJECT.

Editor de código

Saltar rapidamente para diferentes funções de uma classe.

As classes foram introduzidas com 4D v18 R3. Elas permitem organizar a sua lógica empresarial e separá-la da IU mais rapidamente.

As classes são compostas de várias funções de comprimentos variáveis. Por isso, nem sempre é fácil encontrar a função a modificar ou passar de uma função para outra. É possível utilizar o explorador, que exibe as classes e funções, mas quando está a codificar na janela do editor, não quer perder tempo a mudar de janela.

Com 4D v19 R4, a lista de funções da sua classe é exibida na barra de ferramentas do editor de código, permitindo-lhe saltar rapidamente para uma função específica.

Comentar etiquetas

4D v19 R4 leva os comentários a um novo nível com etiquetas de comentários para melhor organizar os seus comentários. As etiquetas são utilizadas para classificar os comentários simplesmente colocando a etiqueta no início da linha de comentários. Colocamos três etiquetas à sua disposição:

  • MARCAR
  • TODO
  • FIXME

A etiqueta MARK permite-lhe dividir o seu código em secções. Pode escrevê-lo de três maneiras diferentes. As outras duas etiquetas TODO e FIXME, são escritas da mesma forma. O interesse é que tenham ícones diferentes na lista, o que lhe permite organizar o seu código para dar prioridade às suas acções futuras.

Melhoria da produtividade com a sintaxe de verificação de objectos

Oauto-completamento para as aulas está disponível desde 4D v18 R4. Esta característica simplifica a escrita do código e limita os erros nos nomes das funções. Mas não os evita completamente; é fácil inverter duas letras, esquecer uma letra maiúscula. E depois passar tempo à procura do motivo pelo qual o seu código não funciona. Então, que melhor maneira do que pedir à 4D para verificar se as classes ou funções já existem? Começando com 4D v19 R4, é exibido um aviso no editor de código se chamar uma função que não existe.

Novas possibilidades para personalizar o editor de código

Para além de personalizar a janela e a área de código, 4D v19 R4 traz duas novas opções de personalização:

  • Mostrar ou ocultar as dez pranchetas.
  • O ícone “mostrar/ocultar listas” foi movido para a parte inferior direita junto às listas.

Implantação

Utilizar aplicações duplicadas de clientes fundidos.

Como editor de software, alguns dos seus clientes por vezes têm muitas instâncias da sua aplicação de servidor fundida, por exemplo, uma aplicação de servidor fundida para cada empresa de um grupo. Neste tipo de arquitectura de implementação, os responsáveis do seu cliente pedem-lhe frequentemente para instalar no seu computador uma aplicação cliente fundida para cada aplicação servidor fundida, porque querem utilizar o software para cada empresa. A partir de agora, tem uma nova chave buildApp à sua disposição para fazer com que cada aplicação cliente fundida duplicada utilize a sua própria pasta de preferências do utilizador (com base no seu caminho de aplicação): ClientUserPreferencesFolderByPath.

Quer saber mais? Leia todos os posts do blogue sobre 4D v19 R4