Novidades em 4D v20

Este documento compila todas as novas características disponíveis em 4D v20 . Note que cada característica tem um post de blog relacionado para o acompanhar através de exemplos concretos. Estes posts do blog podem ser acedidos clicando no título da característica.

Também, seções com a tag estão relacionadas com todas as novas funcionalidades lançadas entre 4D v19 R8 e 4D v20.

Este documento está dividido em seis seções:

Melhor comunicação de rede

Conheça o QUIC

Como o número de ligações simultâneas aos maiores servidores de produção a funcionar em 4D continua a crescer, assegurar um desempenho óptimo tornou-se uma prioridade máxima para as equipas de desenvolvimento. O protocolo QUIC surgiu como uma solução promissora para fazer face a este desafio.

O QUIC é um protocolo concebido para melhorar a velocidade e o desempenho em redes do lado do servidor. Desenvolvido pela Google durante a última década, o QUIC aproveita os benefícios do UDP em vez do TCP para permitir uma recuperação mais rápida em caso de perda de pacotes, congestionamento, e outros problemas. O QUIC é hoje fortemente utilizado, por exemplo, em HTTP/3 como “HTTP sobre QUIC” e suportado por todos os principais navegadores, já utilizados em mais de metade de todas as ligações aos servidores da Google. O Facebook lida com mais de 75% do seu tráfego na Internet utilizando QUIC, e muitas aplicações, tais como YouTube, Gmail, ou Uber, estão utilizando o QUIC para comunicar com os seus servidores.

Encorajamos a experimentar o QUIC e a fornecer-nos o seu feedback para nos ajudar a melhorar e aperfeiçoar esta nova e excitante tecnologia, abrindo caminho para a sua inclusão em futuros lançamentos de 4Dv20. E tenha em mente que o QUIC pode melhorar a resiliência da infraestrutura 4D, tornando-a mais bem equipada para lidar com más ligações e outros desafios de rede.

Linguagem 4D e outras características de programação

Servidor Websocket embutido

O protocolo WebSocket fornece um canal de comunicação persistente e full-duplex entre um cliente e um servidor. Permite a transferência de dados em tempo real entre as duas partes e permite uma comunicação mais rápida e mais eficiente.

4D v20 inclui agora um servidor WebSocket integrado, permitindo aos programadores construir aplicações Web em tempo real que podem lidar com grandes volumes de dados e proporcionar uma experiência de usuário sem falhas.

Isto abre um mundo de possibilidades de visualização de dados em tempo real, aplicações colaborativas, e aplicações IoT que requerem atualizações instantâneas.

 

Inicializador literal de objetos e coleções

Os objetos e coleções podem ser inicializados no seu código usando os comandos New object e New collection.

4D v20 introduziu uma nova e mais legível sintaxe para inicializar objetos e coleções grandes ou complexos no seu código – o objeto literal e a coleção literal.

Com os objetos literais, pode inicializar um objeto com as suas propriedades e valores encerrados entre chaves {}. Por exemplo, em vez de usar o comando New object, pode criar um novo objeto e inicializar as suas propriedades numa única linha de código como este $object1 := {a : “foo”; b : 42+26; c : {}; d : [“coucou”; “rien”]}.

Da mesma forma, com literais de coleção, pode inicializar uma coleção com os seus elementos entre colchetes [].

 

Novos comandos para bloquear o datastore

4D fornece-lhe múltiplas formas integradas de fazer o backup dos seus dados: Cópia de segurança 4D e utilização de um servidor espelho. Com 4D v20, 4D expõe comandos internos para bloquear o datastore, permitindo-lhe copiar os seus dados enquanto 4D está em execução. Diga olá a ds.flushAndLock(), ds.locked(), e ds.unlock().

 

Integração automática de múltiplos históricos 

4D v20 introduz uma nova e poderosa característica que pode melhorar muito a sua produtividade durante as operações de manutenção da base de dados. Pode concentrar-se no desenvolvimento da sua aplicação, integrando automaticamente vários históricos no arranque da base de dados, em vez de gastar tempo em tarefas de gestão manual da base de dados.

Para tirar partido desta funcionalidade, basta assegurar que a definição” Integrar últimos registos se a base de dados estiver incompleta” esteja ativada, que é o predefinido. Depois, coloque os arquivos dos históricos que deseja integrar ao lado do atual. 4D detectará automaticamente quaisquer operações em falta na base de dados de arranque e verificará todos os arquivos do diário para determinar se a recuperação é possível. Se não houver problemas, integrará as operações de todos os periódicos sem que seja necessária qualquer intervenção da sua parte.

 

Construir uma aplicação com comandos 4D

4D tem continuamente acrescentado novas funcionalidades para ajudar os programadores a criar a sua própria cadeia de construção, proporcionando maior flexibilidade e opções de personalização para as suas aplicações. Estas características incluem a capacidade de criar uma pasta “.zip”, adicionar informação adicional como os direitos de autor num executável ou um “dll”, e criar um arquivo “info.plist”.

Com o lançamento do 4D v20, duas novas características foram adicionadas para tornar o processo de criação de aplicações autônomas ou cliente/servidor ainda mais fácil:

  1. Adição de um Ícone a um Executável.
  2. Geração de Arquivo de Licença de Implantação.

 

Uma ferramenta para a execução de código 4D no CLI

4D v20 traz uma nova aplicação chamada tool4d. Esta aplicação é um subconjunto de 4D concebido para a sua cadeia de construção para automatizar o processo de construção e é dedicada à execução de scripts headless através de Interface de Linha de Comando. Mas também fornece o servidor LSP, que está em comunicação com a extensão VS Code.

 

4D-Analyzer extensão

Esta extensão recebeu muita atenção dos nossos criadores 4D, e não podíamos estar mais felizes!

4D trouxe suporte ao editor de código Visual Studio, permitindo-lhe manusear código 4D e fornecer-lhe funcionalidades padrão tais como destaque de sintaxe, Ir para Definição, Ajuda de Assinatura, e autocompletar código.

4D v20 traz novas capacidades ao editor de código Visual Studio através da extensão 4D-Analyzer: Diga olá à desdobramento e indentação do código, e verificação da sintaxe.

 

Conheça a Função Distinta Melhorada

A função distinta das classes de recolhimento e seleção de entidades permite a recuperação de uma lista de valores únicos.

Com 4D v20, também se pode recuperar o número de ocorrências de cada valor distinto. Além disso, permite recuperar todos os caminhos de atributos utilizados num campo de objetos. Esta funcionalidade pode ser benéfica quando se trabalha com grandes conjuntos de dados e se necessita analisar a frequência de valores específicos.

Comparação com um Valor Indefinido

Com a introdução de ORDA e outros objetos em 4D, os programadores trabalham frequentemente com valores indefinidos, levando por vezes a erros quando os comparam com valores diferentes.

Começando com 4D v20, foi introduzida uma nova melhoria que permite aos programadores comparar qualquer tipo de valor com um valor indefinido sem criar um erro. Isso significa que pode agora comparar com segurança valores indefinidos com outros sem se preocupar em causar um erro no seu código.

Introduzindo as Características de Encontrar e Substituir Mais Recentes

A funcionalidade “Encontrar e Substituir” no editor de código existe há muitos anos. Os programadores podem rápida e eficientemente procurar e substituir o código, especialmente quando lidam com grandes bases de códigos. 4D v20 está trazendo melhorias que certamente serão apreciadas pelos programadores que confiam nesta funcionalidade para racionalizar os seus fluxos de trabalho de codificação:

  • conhecendo o número de ocorrências a substituir,
  • conhecer a posição da ocorrência atual,
  • ter acesso permanente às opções de navegação Próximo e Anterior,
  • exibir uma paleta em vez de uma janela modal para limitar o número de cliques.

 

Passar o objeto do formulário para os comandos imprimir formulário e FORMULÁRIO DE CARREGAMENTO

Com 4D v20, o comando Form é suportado com Print form e FORM LOAD. Form, com versões anteriores disponíveis para DIALOG ou subformulários, permite reduzir drasticamente a necessidade de variáveis de processo e escrever código mais portátil e isolado. Esta é uma melhoria bem-vinda do 4D que sem dúvida tornará a vida dos programadores mais fácil e mais produtiva.

 

Crie o seu próprio menu de ajuda

Com 4D v20, pode criar um menu “Ajuda” personalizado para a sua aplicação, passando uma coleção descrevendo os itens do menu. Isso, por exemplo, permite-lhe fornecer aos seus usuários um acesso fácil à documentação, apoio e outros recursos úteis.

Novas funções úteis para coleções

4Dv20 fornece um conjunto de funções para manipular as coleções. Para além dos mais de 40 métodos que já fornecemos na versão anterior, este lançamento dá-lhe:

  • first() e last()Como os seus nomes indicam, permitem o acesso ao primeiro e ao último elemento de uma coleção.
  • O at() é também uma alternativa aos colchetes (col[x]) com um benefício; o valor pode ser negativo para obter os artigos a partir do fim.
  • O flat() é mais inovadora e será muito útil em alguns casos. Permite a aplicação de coleções que podem conter também coleções (que também podem incluir coleções, etc.).
  • O includes() é útil porque permite saber se uma coleção contém este ou aquele elemento de quase qualquer tipo… texto, numérico, data… e até referências de objetos ou coleções.
  • A nova função reduceRight() que é o equivalente optimizado de reverse().reduce()
  • O flatMap() permite-nos realizar, numa única operação, uma map() seguido de um flat() – uma função que mencionamos anteriormente.

 

Formato PDF para Pré-visualização da impressão no Windows

O formato PDF tornou-se agora uma alternativa viável ao XPS para pré-visualização de impressão no Windows, proporcionando aos usuários uma nova e mais acessível opção. A decisão da Microsoft de tornar o XPS Viewer uma funcionalidade opcional do Windows causou problemas a muitos usuários quando implementaram aplicações, resultando na impossibilidade dos usários finais pré-visualizarem as suas impressões. Embora a instalação gratuita do XPS Viewer seja um processo simples, alguns administradores hesitam em instalar funcionalidades adicionais, particularmente em ambientes de trabalho remotos.
Felizmente, 4D v20 oferece agora a opção de utilizar o formato PDF para a pré-visualização da impressão. Uma vez que quase todas as versões atuais do Windows têm ou XPS ou PDF pré-instalado, os usuários finais já não devem encontrar problemas com a pré-visualização da impressão. Esta nova opção oferece uma solução mais flexível e eficiente que satisfaz as necessidades tanto dos usuários finais como dos administradores.

 

Return. Break. Continue. 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 controle ao método de chamada. Pode também devolver um valor opcional.
    • A palavra-chave break termina o loop que a contém. A seguinte declaração executada é a que se segue imediatamente após o corpo do loop.
    • A declaração de continue termina a execução das declarações na atual iteração do loop e continua a execução do loop com a próxima iteração.
  • Seguida 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.

 

Tratamento de erros

4D v20 está trazendo novas possibilidades para a manipulação de erros. A partir de agora, é possível definir um manipulador de erros global que será eficiente para todos os contextos de execução (processos, trabalhadores, atributos computorizados ORDA, funções ORDA, etc.). Se falhar a definição de um manipulador de erros local num novo processo/trabalhador, o manipulador de erros global será invocado automaticamente. Isto significa que não será apresentado mais nenhum diálogo de erro no servidor ou erros não detectados.

Visualize os componentes das suas classes no explorador do método

4D já permite que aplicações ainda em modo binário aproveitem de características de classe usando um componente (em modo de projeto) para criar e usar as suas próprias classes a partir da sua aplicação (baseada no modo binário). Esta funcionalidade inclui dicas e apoio ao preenchimento de código para suavizar a sua escrita de código.

Para tornar a sua experiência de codificação ainda mais fácil, 4D v20 está trazendo uma nova funcionalidade. A partir de agora, pode visualizar uma lista de todas as classes de componentes disponíveis no explorador de métodos, pelo que decide num vislumbre quais as funções que precisa utilizar no seu código.

 

Apoio de números inteiros maiores do que o inteiro32

Então precisa de números maiores que 2 bilhões (32 bits) com alta precisão? Melhoramos os reais e a forma como são tratados para permitir isso. Embora os reais sejam conhecidos por serem imprecisos, são 100% exatos, mesmo para números muito grandes, desde que não utilizem um ponto decimal (=inteiros). Isto permite utilizar números até 53 bits, ou mais exatamente, [-(2^53)+1, (2^53)-1]. Assim, um intervalo de -9.007.199.254.740.992 a 9.007.199.254.740.992 será exatamente representado.

A conversão de ou para o texto foi limitada à utilização de uma notação científica de 12 dígitos, resultando numa perda de precisão. Com 4D v20, melhoramos a precisão e conversão de qualquer número Real (apresentando um número inteiro) num Texto. A melhoria da conversão para string diz respeito ao comando String() e aos comandos JSON e XML que retornam números em forma de string.

 

Apoio de Fórmulas em Coleções e Comandos de Rechamada

Para dar uma forma mais simples de utilizar coleções com um método de membro que necessita de um método de retorno, 4D permite utilizar uma fórmula para definir um retorno de chamada:

 

Permitir que os componentes publiquem classes

Suponha que a sua aplicação ainda está a correr em modo binário. Nesse caso, esta funcionalidade permitirá beneficiar de classes e desenvolvimento orientado para objetos, utilizando um componente (em modo de projeto) para criar e utilizar as suas próprias classes a partir da sua aplicação (baseada no modo binário). Assim, a partir do 4D v20, uma nova seção Componente é adicionada às definições de Estrutura -‘ Geral, permitindo-lhe configurar como as suas classes de componentes e funções serão expostas no editor do método 4D uma vez que o componente esteja instalado.

 

Parâmetros de avanço de uma função ou método para outra

Com 4D v20, os programadores não têm de lidar com verificações de parâmetros complexos (parâmetros de contagem, tipos de valores) quando chamam uma função e passam parâmetros.

É fornecido um novo comando, Copy parameters, que permite passar facilmente parâmetros utilizados para uma função ou método de chamada a outra função/método. Isto resulta num código mais leve, mais elegante, e mais fácil de ler.

 

Formulário e subformulário de comunicação

Começando com 4D v20, associar uma variável a um subformulário enriqueceu as possibilidades de interfaces e comunicação entre formulários e subformulários. Os meios de comunicação são agora simplificados por dois novos comandos: OBJECTO Obtain value from container subforms e OBJECTO CONFIGURATE VALUE FROM OBJECT CONTAINER.

 

Novo comando para obter informação detalhada sobre licenças

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

 

Mais opções para o comando OBJECT SET ENTERABLE

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 editável é modificada (Falso ou Verdadeiro).
  • Ou pode passar um número inteiro. Assim, pode definir a propriedade editável e focalizável para o seu campo.

 

Parâmetros do método de acesso que não existem

4D v20 permite o acesso a todos os parâmetros do método sem erros, mesmo que alguns não tenham sido passados por um interlocutor. O código é mais simples e legível sem a palavra-chave “se” repetida.

 

Criar um atributo blob num objecto

Com a introdução das classes, a necessidade de armazenar dados em objetos aumentou, especialmente dados sob a forma de blobs. Por esta razão, 4D v20 suporta o encapsulamento de blobs em objetos.

Para além do aspecto do armazenamento, uma vez que o objecto blob é um tipo de referência, a sua utilização de memória será menor, e o seu desempenho em termos de velocidade será grandemente melhorado.

 

Gestão da Marca de Ordem de Byte (BOM) e End of Line (EOL)

4D evoluiu suavemente para seguir as melhores práticas relativamente à gestão de certos caracteres invisíveis em arquivos de texto. É por isso que a partir de agora, 4D escreve arquivos de texto sem uma lista técnica. E em macOS, 4D usa LF como um caracter EOL. Isto é completamente automático para todos os arquivos escritos por 4D, tais como 4DSettings, 4dm, 4DForm, etc.

Quanto às definições de compatibilidade, estão disponíveis novas opções que permitem TEXT TO DOCUMENT e File.setText() gerar arquivos sem lista técnica e usar LF como um caracter EOL em macOS quando faltarem os parâmetros opcionais “charSet” e “breakMode”. Para mais detalhes, consulte a documentação.

 

Arquivo .gitignore por padrão em novos projetos

O modo de projeto permite-lhe acompanhar facilmente as alterações com Git (sistema de controle de versões), mas muitas vezes não quer acompanhar os seus arquivos de projeto no repositório Git. 4D v20 permite-lhe definir o que não deve seguir num novo projeto, adicionando automaticamente um arquivo .gitignore predefinido na pasta do projeto com uma lista de arquivos e pastas predefinidos a excluir.

 

Componentes automáticos Assinatura em Mac

Com 4D v20 e em Mac, 4D assina automaticamente componentes construídos usando os certificados definidos pelo usuário ou uma assinatura Adhoc se não for especificado qualquer certificado. Isto permite aos criadores de componentes distribuir componentes assinados para que os usuários finais não tenham de os assinar antes de os utilizarem.

 

Mostrar documentação em linha diretamente do editor de códigos

Pode acessar aos detalhes de uma função de classe sem ter de pesquisar no site de documentação. Basta apertar a tecla F1 ou clicar no item Ir para definição… no menu contextual.

 

Emails

POP3: Descarregar apenas o cabeçalho do correio

Ao recuperar mensagens de correio electrónico utilizando POP3, é possível recuperar apenas os cabeçalhos das mensagens (que incluem informação como o remetente, assunto, e data) sem descarregar todo o corpo da mensagem.

A recuperação apenas dos cabeçalhos das mensagens pode ser útil quando se pretende digitalizar rapidamente a lista de mensagens na sua caixa de correio para decidir quais devem ser descarregadas e lidas na sua totalidade.

A partir de 4D v20, um novo parâmetro é adicionado ao POP3Transporter.getMail() para receber as suas mensagens de correio eletrônico sem o corpo.

 

IMAP: ID da caixa de correio e palavras-chave de correio

4D v20 traz duas características úteis para os Transportadores IMAP:

A primeira característica é a capacidade de gerir palavras-chave personalizadas de correio eletrônico ao interagir com servidores e clientes específicos de correio IMAP. As palavras-chave personalizadas permitem etiquetar e-mails com etiquetas ou categorias particulares, tornando mais fácil a sua organização e a sua posterior localização. Com esta nova funcionalidade em 4D v20, pode adicionar, remover, ou listar palavras-chave personalizadas de correio electrónico usando o Transportador IMAP.

A segunda característica é o suporte de ID da caixa de correio no IMAP Transporter. Quando se trabalha com caixas de correio IMAP, estas podem ser renomeadas ou movidas, dificultando a sua localização ao longo do tempo. Com o suporte de ID de caixa de correio em 4D v20, é possível identificar uma caixa de correio específica mesmo que esta tenha sido renomeada ou movida. Isto pode ser útil para manter o registo de caixas de correio essenciais, tais como as que contêm mensagens arquivadas ou mensagens de remetentes específicos.

Suporte nativo Microsoft 365

À medida que mais clientes se mudam para o Microsoft 365 para as suas necessidades de correio electrónico, 4D v20 oferece uma solução para simplificar a gestão de correio electrónico.

As últimas características de automatização permitem uma fácil automatização das operações de correio electrónico do Microsoft 365 utilizando comandos incorporados. Estas operações incluem:

  • enviar, receber emails, e listar as pastas da sua caixa de correio
  • mover um e-mail de uma pasta para outra,
  • responder a um e-mail e criar uma conversa,
  • criar um rascunho de e-mail e guardá-lo na pasta da sua escolha,
  • e apagar um e-mail.

 

Microsoft365: gestão de pastas

A Microsoft está depreciando a autenticação básica para IMAP e POP3, o que significa que os usuários terão de utilizar um método de autenticação mais seguro para acessarem aos seus dados de correio electrónico. O Graph API é uma forma mais segura e moderna de acessar aos dados no Microsoft 365, incluindo os dados de correio electrónico.

Com as novas funções no NetKit 4D, pode agora gerir (criar, apagar, renomear, e obter informações) programando as suas caixas de correio utilizando a API gráfica da Microsoft.

 

Obter informação do usuário em Azure

Para além de fornecer acesso a aplicações Office, a Microsoft fornece um Active Directory baseado no Azure, permitindo aos usuários entrar para acessar a serviços como o Microsoft Sharepoint ou OneDrive utilizando um Web Browser. Todos os serviços Microsoft utilizam o mesmo Single Sign-On, com base no endereço de correio electrónico. A partir de 4D v20, 4D NetKit permite-lhe fazer parte deste conceito, permitindo aos usuários iniciar sessão na sua aplicação utilizando as suas credenciais habituais da empresa.

Além de permitir Single Sign-On, permitirá recuperar informações sobre um usuário autenticado, tais como e-mail, departamento, e número de telefone. Se o administrador o permitir, poderá recuperar detalhes sobre os colegas do usuário dentro da mesma empresa.

 

Bcrypt suporte para senhas

Começando com 4D v20, todas as senhas são aceleradas com o algoritmo bcrypt. Um algoritmo demora muito mais tempo a calcular, o suficiente para evitar que os algoritmos de força bruta recuperem a senha original.
Para a pôr em prática, tudo é automático. Não é necessário tocar em nenhuma definição ou linha de código. Quando a senha é alterada na caixa de ferramentas ou utilizando os comandos CHANGE PASSWORD ou Set user properties, o hash bcrypt é armazenado. E durante a autenticação, 4D reconhece automaticamente se a senha é armazenada com hash antigo ou bcrypt, de modo a que os usuários continuem a ligar-se sem alterar a sua senha.

 

Melhorias no cliente HTTP

Para continuar a melhorar a sintaxe e a funcionalidade do 4D, decidimos modernizar os comandos do cliente HTTP em 4D. 4D v20 trouxe uma nova forma de executar os pedidos HTTP: Classes HTTP. Além disso, algumas funcionalidades das classes HTTP, incluindo respostas comprimidas, respostas em pedaços, e redirecionamentos.

 

Editor de código

Saltar rapidamente para diferentes funções de uma classe

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

Com 4D v20, 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.

Etiquetas de Comentário

4D v20 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:

  • MARK
  • TODO
  • FIXME

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

Sintaxe de verificação de objetos

O preenchimento automático 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 passa 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 v20, um aviso é exibido no editor de código se chamar uma função que não existe.

Personalização do editor de código

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

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

 

Navegação simplificada entre código, documentação, e explorador

Quando se cria um formulário ou se escreve uma nova função ou método, normalmente é preciso fazê-lo:

  • acessar ao explorador para preencher o formulário na sua pasta
  • acessar ao explorador para escrever a documentação para o método
  • para ver a documentação de um comando no sítio em linha 4D
  • para ver a documentação de um método de um componente
  • acessar ao código da função que pretendemos utilizar no nosso método para fazer algumas modificações
  • navegar facilmente entre as diferentes funções de uma classe

Em 4D v20, adicionamos itens de menu e uma nova lista no editor de códigos, permitindo-lhe navegar melhor nos diferentes elementos de um projeto.

 

Mostrar documentação em linha diretamente do editor de códigos

Com 4D v20, pode acessar aos detalhes de uma função de classe sem ter de pesquisar no site de documentação. Basta apertar a tecla F1 ou clicar no item Ir para definição… no menu contextual.

 

Web

Depuração no servidor com sessões web escaláveis

As sessões web escaláveis foram uma melhoria significativa. Permitem utilizar etiquetas 4D, acções 4D, e o API REST em processos preventivos, mesmo em modo interpretado, num servidor 4D. Contudo, para a depuração, era necessário abrir o seu ambiente de desenvolvimento no servidor para o fazer mudar para modo cooperativo, uma vez que a janela de depuração não pode ser aberta com processos preemptivos. Começando com 4D v20, simplificamos a depuração no lado do servidor simplesmente anexando-lhe o depurador.

 

Novo motor de renderização de sistemas Windows

Começando com 4D v20, se utilizar o motor de renderização do sistema, 4D utiliza o Microsoft Edge WebView2. Esta alteração permite-lhe beneficiar de um navegador moderno com as últimas características e atualizações de segurança. Por exemplo, o Microsoft Edge pode ser utilizado para exibir PDFs.

 

Arquivos e Pastas

Manípulos de arquivos

Quando se trata de escrever e ler, as funções setText e getText estão à sua disposição para ler ou escrever todo o conteúdo. 4D v20 traz handles de arquivo no caso de querer ler ou adicionar uma ou mais linhas a um documento existente.

As handles de arquivo são objetos criados com base em objetos “File” e têm funções para acessar a qualquer parte dos documentos e, a partir daí, para ler ou escrever sequencialmente o seu conteúdo.

SUPORTE DE LZMA, O NOVO ALGORITMO DE COMPRESSÃO

Com 4D V20, o comando Zip Create Archive suporta um novo algoritmo de compressão: LZMA. A vantagem deste algoritmo é que cria arquivos mais pequenos do que o algoritmo de compressão zip padrão. Pode passar um objeto “zipArchive” para o comando para personalizar o seu zip. Isto permite-lhe escolher o algoritmo de compressão, o algoritmo de codificação, e outras opções.

 

Caixa de listagem

Alturas automáticas de linhas em caixas de listagem baseadas em coleções

As alturas automáticas das filas já eram possíveis para as caixas de listagem com base na matriz, permitindo-lhes adaptar automaticamente a altura de cada fila ao seu conteúdo. 4D v20 está a trazer esta possibilidade de listar caixas com base em coleções e seleção de entidades.

 

Dizer adeus à chave ALT

Relativamente às caixas de listagem e à ação Arrastar e Soltar, a partir do 4D v20, não há necessidade de segurar a tecla Alt para mover vários itens simultaneamente.

 

Margem orizontal e vertical da célula

O poder das caixas de listagem é alargado com 4D v20 graças a duas novas propriedades: Padding horizontal e vertical (as margens interiores ou o espaço entre o conteúdo de um elemento e a sua borda). Dão às suas caixas de listagem novas possibilidades de apresentação, e a sua interface terá um aspecto ainda mais profissional.

Estas propriedades podem ser definidas globalmente para toda a caixa de listagem ou para cada elemento, como colunas, cabeçalhos, ou rodapés. Uma vez definidas para a caixa de listagem, serão aplicadas a cada subobjeto da caixa de listagem por herança. Mas, claro, cada subobjeto pode ter as suas próprias configurações.

A configuração da margem pode ser feita qualquer um dos dois:

  • através do modo de desenho a partir da lista de propriedades em “Coordenadas e dimensionamento”.
  • ou por programação usando o comando LISTBOX SET PROPERTY graças a duas novas constantes, padding horizontal de células lk, e padding vertical de células lk.

 

Desenvolvimento simultâneo no Servidor 4D em modo de projecto

Se é um dos programadores que pediu a possibilidade de trabalhar simultaneamente com colegas de equipa num único servidor de desenvolvimento, então o 4D v20 irá conceder-lhe o seu desejo, graças a um novo modo de ligação de um Cliente 4D a um Servidor 4D: modo de desenvolvimento.

Os programadores podem modificar a estrutura da base de dados, métodos, formulários e definições no modo de desenvolvimento. Alterámos o sistema de bloqueio para fornecer a mesma funcionalidade que no modo binário.

 

Aplicação SDI para Windows de teste

Já há muito tempo que não podia fornecer aos seus clientes aplicações fusionadas no modo SDI. Foi um enorme passo em frente para as aplicações Windows UX.

4D v20 torna fácil testar uma aplicação SDI: pode visualizar o resultado da sua aplicação sem a necessidade de construir a sua aplicação autónoma ou de cliente.

 

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 estiver em execução. Por exemplo, para exibir uma barra de progresso. 4D permite iniciar um processo de fundo com a nova classe 4D.SystemWorker e executar automaticamente métodos de retorno de chamada quando o processo retornar informação. Assim, se o utilizar com uma interface, a interface mantém-se reativa ao seu usuários enquanto o processo externo está em execução, e quando o processo estiver terminado, pode exibir o resultado ao seu cliente.

 

Reorganização dos Registos de Diagnóstico

Os registos de diagnóstico tornaram-se cada vez mais críticos para a resolução de problemas. Reorganizamo-los inteiramente melhorando o seu conteúdo e acrescentando uma forma de filtrar o conteúdo (níveis de registo, tais como traço, depuração, informação, aviso e erro). Graças ao novo parâmetro da base de dados Nível de registo de diagnóstico, é possível controlar o fluxo de registos no registo de diagnóstico e mantê-lo pequeno enquanto se regista o que realmente se precisa.

 

arquivo de configuração para Loggin

Como parte do nosso projeto de melhoramento dos registos, 4D acrescenta duas novas funcionalidades:

    • a capacidade de pausar instantaneamente o registo
    • e uma forma de as equipas de apoio ajudarem rapidamente os seus clientes a configurarem os seus registos através de um arquivo de configuração
 

Interface do usuário

Evolução dos objetos de formulário

Para lhe permitir fazer as interfaces mais bonitas, estão disponíveis novas possibilidades:

  • Para botões, botões de rádio, e caixas de verificação, adicionámos novas definições para o texto e o ícone. Propriedade “Alinhamento do texto” e o novo título “Abraços de imagem”.
  • Para botões de rádio e caixas de verificação, o número de estados para o ícone foi melhorado (Verdadeiro, Falso, e Desativar) para permitir uma melhor renderização para o usuário final.

 

Cantos redondos

Além disso, 4D v20 acrescentou a possibilidade de arredondar os cantos dos textos estáticos e dos textos de entrada graças ao novo atributo “Corner radius” (raio do canto). A especificação do seu valor pode ser feita através da IU (a lista de propriedades), CSS, ou código.

 

DPI elevado no Windows: Suporte para telas 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 telas de 4K, a densidade de píxels 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 o texto, ícones, e escala de controle. Em telas 4K, é ativado por defeito. Inicialmente suportava DPI elevado em Mac e é agora totalmente compatível com Windows, também. O resultado é uma melhor qualidade de texto e imagem.

 

Desenvolvendo com 4D num ambiente escuro em macOS

Desde 4D v19, pode criar aplicações em macOS que suportam o modo escuro, para que possa agradar aos seus usuários, permitindo-lhes escolher aplicações ao estilo claro ou escuro. Com 4D v20, fornecemos-lhe, como programador, a escolha ao desenvolver a sua aplicação. A 4D Developer Edition integra-se perfeitamente com o aspecto claro ou escuro do macOS.

 

Otimização da barra de ferramentas do editor de estrutura

A barra de ferramentas foi modificada para modernizar e normalizar todas as janelas 4D.

Ao pairar sobre tabelas, campos, ou relações, a informação útil é exibida na barra de estado. Novo em 4D v20 é a exibição dos nomes das relações diretamente na barra de estado. Já não é necessário abrir a janela de propriedades.

 

Explorador de dados

O Explorador de Dados 4D é uma interface de navegador web utilizável pelo administrador e pelo programador à distância (em segurança com uma ligação HTTPS) ou localmente na mesma máquina que a sua base de dados aberta.

Com 4D v20, o Data Explorer oferece agora dois grandes melhoramentos.

Visualize as relações entre os seus dados

A primeira característica permite-lhe visualizar as relações entre os seus dados, facilitando a navegação e a localização de informações relevantes na sua base de dados.

Explorador de dados incorporado em 4D

A segunda atalização é a adição de um ícone para o Data Explorer na barra de ferramentas, tornando ainda mais fácil a sua abertura em 4D em vez de um web browser externo. Os usuários podem acessar ao Data Explorer diretamente da barra de ferramentas com apenas um clique, poupando tempo e melhorando a produtividade.

 

 

Implantação

UTILIZAR APLICAÇÕES DE CLIENTES FUNDIDOS EM DUPLICADO

Como editor de software, alguns dos seus clientes têm por vezes muitos exemplos da sua aplicação de servidor fundida, por exemplo, uma aplicação de servidor fundida para cada empresa do grupo. Neste tipo de arquitetura de implementação, os responsáveis do seu cliente pedem-lhe frequentemente para instalar no seu computador uma aplicação de cliente fundida para cada aplicação de 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 de usuário (com base no seu caminho de aplicação): ClientUserPreferencesFolderByPath.

 

Gestão de arquivos de diretório em projetos de servidores fundidos

No lado do servidor, o usuário atual é sempre o Designer; por conseguinte, o acesso ao explorador de tempo de execução é sempre permitido. Se preferir alterar este comportamento, 4D v20 permite-lhe restringir o acesso dos administradores ao Data Explorer e ao Runtime Explorer nos seus servidores fusionados implantados.

 

Reduzir o tamanho das aplicações dos clientes & mais

4D v20 traz muitas melhorias ao edifício das aplicações 4D. Para começar, pode remover bibliotecas desnecessárias (tais como CEF/Web Area, PHP, Mecab, e 4D Updater) para reduzir o tamanho das suas aplicações. Também alteramos o diretório final quando construir uma estrutura compilada para acomodar aqueles que utilizam múltiplas versões compiladas da mesma estrutura. E para os nossos clientes japoneses, fusionamos a versão japonesa de 4D e a internacional em macOS.

 

Aplicações cliente/servidor multiplataforma simplificadas construídas em Windows

Com a introdução do Silício, a construção de aplicações cliente/servidor multiplataforma foi alterada. Desde que construa o seu servidor em Mac, não é um grande problema, pois pode compilar tanto para plataformas Intel como para plataformas Silicon. Mas no Windows, não é possível compilar para Macs de Silício. 4D v20 introduz uma nova funcionalidade que reduz o número de arquivos a transferir do seu Mac para a sua máquina Windows. 4D irá também gerar um diretório Compilado de Base de Dados quando construir o cliente no Mac. Esta pasta contém apenas o código compilado para a sua aplicação e, como tal, é relativamente pequena.

 

CI/CD: Construa a sua Estrutura Compilada ou Componente com Build4D

Com a introdução do modo de projeto, é bastante fácil manipular os componentes dos seus projetos. Nos últimos lançamentos, acrescentámos várias funcionalidades que lhe permitem criar a sua própria cadeia de construção adaptada à sua equipa, métodos de trabalho, e necessidades.

Para o ajudar a criar a sua própria cadeia de construção ou integrar 4D numa ferramenta de integração contínua, desenvolvemos um componente chamado Build4D, disponível no GitHub com as fontes. Para este primeiro passo, o Build4D permite-lhe criar uma estrutura compilada e um componente. Continuaremos a enriquecê-lo para lhe permitir gerir uma aplicação de usuário único, cliente, ou servidor.

 

Partilhar recursos locais entre usuários ON Windows Remote Desktop Services

Se foi um dos programadores que pediu uma funcionalidade que permite descarregar Recursos Locais para uma pasta partilhada com o Windows Remote Desktop Services em vez da pasta da conta de usuário, então o 4D v20 está a trazer boas notícias.

Conseguimos alguma otimização repensando a arquitetura atual ao desenvolver uma nova opção para projetos no processo BuildApp, para permitir a mutualização dos Recursos Locais.

É ativada por esta nova chave XML BuildApp: /Preferences4D/BuildApp/CS/ShareLocalResourcesOnWindowsClient

Esta otimização resulta no seguinte:

  • Um ganho de tempo porque os Recursos Locais já não são descarregados a partir do servidor por cada usuário,
  • E ganho de espaço em disco, uma vez que, mais uma vez, os Recursos Locais não são duplicados para cada usuário num ambiente de Serviço de Desktop Remoto.

ORDA

4D v20 continua a trazer melhorias à ORDA. O Acesso a Dados Relacionais a Objetos é uma forma inovadora de acesso a dados que combina as vantagens da programação orientada a objetos com as das bases de dados relacionais, permitindo aos programadores concentrarem-se na resolução de problemas empresariais em vez de gerirem o acesso a dados.

O 4D v20 traz:

Gestão das permissões dos usuários (Servidor REST)

Para além da capacidade de expor ou não um dataclass e alguns dos seus atributos como recurso REST – que era uma forma conveniente de restringir o acesso aos seus dados, 4D vai um passo além para fornecer um sistema poderoso e totalmente personalizável para proteger os seus dados de usuários não autorizados. Um sistema para proteger os seus dados depende de quem está a acessar aos mesmos e quais os dados que são acessados.

Esta nova funcionalidade é baseada em conceitos ORDA e sessões web escaláveis. Abrange todos os processos da web, tais como petições REST, pedidos recebidos numa datastore remota, e processos da web como 4DACTION ou etiquetas 4D.

 

Otimização do desempenho com controle total sobre as petições REST

4D v20 dá-lhe um melhor controle sobre os contextos ORDA e cache para ambos Cliente/Servidor e REST para melhorar o desempenho.

 

Atributos computorizados

Uma nova forma de reunir ainda mais da sua lógica empresarial em aulas e aulas ORDA! Os tempos em que tinha de definir fórmulas empresariais na sua IU 4D (tais como concatenações de strings ou cálculo de IVA) acabaram. Agora pode definir cálculos complexos diretamente nas suas Classes e utilizar o resultado como faria para qualquer outro campo de estrutura em Rest API, a sua aplicação móvel, ou a sua interface de usuário baseada em ORDA, por exemplo.

 

Pseudônimos ORDA

4D v20 é enviado com um novo conceito ORDA: Pseudônimos (alias). São a continuação lógica e complementar dos atributos computorizados. Como o nome sugere, um pseudônimo ou apelido é, de fato, um atalho para um objeto 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).

 

Desativar o mapeamento por padrão do valor NULL para um valor em branco

Quando criar um novo campo na sua base de dados, 4D permite escolher ou não mapear valores NULL para valores em branco. A partir de 4D v20, em novos projetos, 4D deixará, por padrão, de mapear o valor NULL para os dados ausentes. Isto é benéfico porque a ORDA está perfeitamente concebida para trabalhar com valores NULL e poupar-lhe-á muitas soluções deselegantes.

 

Gestão pessimista de bloqueio VIA RestModel update

Com 4D v20, 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 os bloqueios pessimistas com o REST API.

 

Apoio total de BLOB

Começando com 4D v20, os Blobs são totalmente compatíveis com ORDA, como qualquer outro tipo, permitindo aos programadores ORDA utilizar a sintaxe ORDA para guardar um Blob numa base de dados.

 

Comparar duas seleções de entidades

Necessita de funções robustas e otimizadas para trabalhar eficazmente com programação orientada para objetos e escrever o menor número possível de linhas de código. É por isso que, com 4D v20, estamos enviando uma nova função disponível na entidadeObjecto de seleção: a função seleccionada(). Graças a ela, é possível inspecionar e comparar duas seleções de entidade.

 

4D Write Pro

 

4D Write Pro melhorou drasticamente ao longo das últimas versões. De facto, nós, a equipe 4D, estamos a investir em fazer do 4D Write Pro um potente gerador de documentos baseado em modelos, eliminando a necessidade de criação manual de documentos e reduzindo o risco de erros.

Com o 4D Write Pro, é possível alimentar e gerar automaticamente documentos pré-preenchidos com informação contextual, retirando dados diretamente da base de dados 4D. Isto inclui informações tais como nomes, datas, informações de endereço, e números, entre outros tipos de dados. 4D Write Pro funde então esta informação com os seus modelos, proporcionando um processo simplificado e eficiente de criação de documentos.

4D v20 introduz características poderosas tais como cabeçalhos, fontes de dados, e linhas de transporte, para citar apenas algumas. Quer seja um profissional de negócios ou um programador, encontrará estas características extremamente úteis para melhorar o seu fluxo de trabalho e produtividade.

 

4D Write Pro & Caixas de Texto: docx Opções de Importação/Exportação

As caixas de texto permitem-lhe inserir uma caixa flutuante, incluindo texto, tabelas, imagens, fórmulas, e outros elementos em qualquer parte do seu documento. Esta característica foi melhorada na v20 para incluir a exportação e importação destes elementos de e para documentos docx.

 

Definir contextos de dados

4D v20 abre o mundo da ORDA e do desenvolvimento orientado para objetos aos documentos 4D Write Pro. Os documentos 4D Write Pro contêm frequentemente fórmulas que retornam dados ou cálculos, dependendo da base de dados. Graças aos contextos, associar esses dados a documentos é tão simples como utilizar a palavra-chave Esta palavra-chave. Uma forma perfeita de criar modelos e documentos personalizados com o 4D Write Pro.

 

Preencher dinamicamente tabelas com seleções e coleções de entidades

O preenchimento manual das tabelas com dados de cada vez é uma tarefa trabalhosa. E é aí que o contexto dos dados surge como uma opção inestimável, abrindo o mundo da ORDA e do desenvolvimento orientado para objetos aos modelos 4D Write Pro.

É agora possível definir uma “fonte de dados” para as tabelas de 4D Write Pro. Quer se trate de uma seleção de entidade ou de uma coleção, esta “fonte de dados” alimentará automaticamente as filas destas tabelas. As tabelas serão automaticamente ampliadas com base na seleção, acrescentando mesmo páginas adicionais quando necessário. Isto permite ao usuário final da sua aplicação conceber ou modificar modelos que serão preenchidos automaticamente com dados.

 

Linhas de transporte do fundo (subtotais)

Imagine ter uma grande tabela de vendas potencialmente com várias páginas. No final de uma página, deseja calcular o subtotal, transportá-lo para a página seguinte, e incluí-lo nos cálculos dessa página. Isto é frequentemente necessário, por vezes até legalmente exigido, ao editar faturas longas, por exemplo.

4D v20 permite inserir uma linha “subtotal ” na parte inferior de cada parte das respectivas tabelas que pode ser preenchida automaticamente.

Isto também pode ser feito:

  • Através de ambas as interfaces (barra de ferramentas e barra lateral) . O menu da tabela contém um novo item, “Fila de transporte inferior”.
  • Ou por programação, graças ao novo atributo wk bottom carry over row.

E para definir o conteúdo das células nesta linha de transporte, os novos atributos anteriores podem ser utilizados com todas as funções disponíveis (min/max/sum/etc.) para coleções ou seleção de entidades.

 

Linhas de Intervalo das Tabelas

Quando tiver uma lista de dados, por exemplo, uma lista de pessoas com os seus continentes, países e cidades, poderá querer agrupá-las por continente, depois por país, e depois por cidade. Isto irá facilitar a compreensão e análise dos dados.

Quando uma tabela é preenchida com dados de uma fonte de dados ordenados, 4D Write Pro pode inserir uma linha de quebra sempre que o valor do critério de ordenação mudar. Isto permite ao usuário agrupar os dados de acordo com os seus critérios desejados.

Num outro cenário, esta funcionalidade também pode ser utilizada para criar relatórios baseados nas relações entre empresas, onde uma lista de empregados pode ser agrupada pela empresa em cada continente. Ao especificar os critérios de classificação apropriados, 4D Write Pro pode criar grupos separados para cada empresa em cada continente.

 

4D v20 é 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 atraentes: diga olá às quebras de página dentro das linhas da tabela. 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 dentro do parágrafo pode, evidentemente, ser aplicada a parágrafos, mas também a qualquer alvo como o próprio documento, uma seção específica, uma seleção 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)
     
  • A quebra 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.

 

Cabeçalhos de mesa

Esta funcionalidade traz outra opção útil de exibição de tabelas, disponível por programação ou através dos widgets de interface 4D Write Pro. Começando com 4D v20, é possível definir cabeçalhos em tabelas e repeti-los automaticamente após uma coluna ou quebra de página .

 

Detecção de alteração de documentos

Quando um documento 4D Write Pro estiver em modo de edição, é muitas vezes útil saber se foi realmente modificado pelo usuário final. Esta informação permite que ações ou interfaces sejam ajustadas para uma experiência mais fácil de utilizar.

A nova propriedade document.modified detectará rapidamente alterações dentro de um documento e executará ações em conformidade. Ou de forma transparente(fazendo salvamentos automáticos quando um documento permanece aberto, por exemplo) ou modificando a interface de forma inteligente, de acordo com as condições.

 

Visualização de fórmulas de fácil utilização

Todos adoram fórmulas; elas são parte integrante dos documentos 4D Write Pro. Permitem a integração de muita informação proveniente da base de dados, tornando a criação de documentos mais intuitiva e automática.

No entanto, algumas fórmulas podem por vezes ser longas do ponto de vista do layout e difíceis de ler para os usuário finais.

É por isso que 4D v20 permite exibir fórmulas como um símbolo ⓕ, indicando a sua presença para tornar os documentos mais precisos e transparentes.

Isto pode ser feito:

  • Através da lista de propriedades, graças à nova propriedade “Mostrar fonte de fórmulas como um símbolo”.
  • Um novo elemento na interface.
  • Ou através da programação, graças à nova fórmula de exibição da wk como atributo de símbolo.

 

 

Desativar a Visibilidade de Imagens Vazias

4D Os documentos Write Pro podem conter imagens de diferentes fontes e em vários formatos. Estas imagens podem, em alguns casos, não ser exibidas por razões totalmente razoáveis – tais como URLs inválidos, fórmulas de devolução de imagens vazias, formatos não suportados pela plataforma, etc.

No entanto, são sempre representadas por um pequeno retângulo vazio mostrando a sua localização teórica. 4D v20 é enviado com uma nova opção de visualização que lhe permite tornar as imagens vazias completamente invisíveis. Isto pode ser feito de 3 maneiras diferentes:

    • A primeira e mais simples maneira é utilizar a lista de propriedades, que oferece uma nova entrada no tema da aparência.
    • Ou através da interface do usuário, na qual aparece um novo elemento. Seja na barra de ferramentas ou na barra lateral.
    • Ou através da programação utilizando o novo parâmetro wk de imagens vazias visíveis.

 

 

Novas opções de visualização de imagens

Começando com 4D v20, tanto as imagens em linha como as imagens ancoradas dentro dos documentos 4D Write Pro beneficiam de sete novos tipos de formatação graças ao novo atributo do modo de exibição de imagens wk :

  • Escalonado para caber (por padrão)
  • Truncado
  • Truncado centrado
  • Proporcional
  • Proporcional centrada
  • Reproduzido
  • Reproduzido centrado

Também facilitámos a formatação das imagens utilizadas como documentos de fundo, seções, parágrafos, etc., graças ao novo atributo: o modo de exibição de fundo wk.

Gestão da visibilidade da Fórmula

Várias opções de visualização já estão disponíveis para documentos 4D Write Pro. Adicionámos à lista a opção de destaque da fórmula wk, com 4 valores possíveis:

  • 0: sem destaque de fórmulas e valores
  • 1: destacar apenas as fórmulas (valor padrão)
  • 2: destacar apenas valores
  • 3: destacar fórmulas e valores

Também pode ser feito utilizando ações padrão. Podem ser usadas com caixas de verificação, botões padrão, e listas suspensas.

 

Parágrafos ligados

Para ter melhor controlo sobre a disposição do documento, 4D v20 é enviado com a possibilidade de escolher se um parágrafo e o que se segue devem permanecer ligados (não separados por uma página automática ou quebra de coluna).

 

Exportar para formato SVG

Os documentos 4D Write Pro já podem ser exportados em diferentes formatos: pdf, texto simples, Microsoft Word, HTML… A esta lista é agora adicionado o formato SVG. Isto permite, por exemplo, criar uma imagem da primeira página para uma visualização rápida, utilizável em ambas as plataformas e num browser ou dispositivo móvel, ou inserir um bloco 4D Write Pro dentro de outro documento, tal como um documento 4D View Pro.

Sendo o SVG um formato de imagem, pode escolher qual a página do seu documento que deseja exportar. A imagem final será baseada na renderização da página do seu documento. Considerará todas as opções de layout, tais como orientação, margens, etc.

Melhorias nos widgets de interface

4D v20 traz um conjunto de características para os widgets de interface:

  • Adicionámos um menu para inserir fórmulas em ambas as interfaces.
  • Adicionámos também vários atributos de parágrafos para um melhor respeito das regras tipográficas, para ter um documento mais legível e mais estético, como por exemplo:
    • Controle de linhas viúvas e órfãos
    • Evitar quebras de página no interior
    • Continuar com o próximo
    • Altura da linha
  • No widget da barra lateral, pode agora gerir quebras de página, quebras de seção, colunas, e visualizar parâmetros como orientação, formato, tipo (rascunho, página, ou incorporado), ou visibilidade de alguns elementos (caractere invisível, cabeçalho, rodapé).
  • Quanto ao widget da barra de ferramentas, acrescentamos a possibilidade de preencher os campos, título, autor, assunto, empresa, e notas.

 

Suporte de modo negro

Em última análise, pode desenvolver-se e implantar-se em modo claro ou escuro em macOS. Os últimos widgets da biblioteca são compatíveis com o modo escuro (em macOS):

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

 

Diálogo de definição de imagem

O componente de interface 4D Write Pro inclui agora um novo diálogo de Definições de Imagem. Isto permite-lhe definir facilmente:

  • o tamanho da imagem
  • o formato de exibição
  • margens e margem interna
  • a posição na página de imagens ancoradas

 

O diálogo pode ser exibido a partir do menu contextual ou de um evento como “em duplo clique” no formulário usando o método componente “WP PictureSettings”.

Este lançamento de característica também permite adicionar uma imagem de um URL com o widget da barra de ferramentas.

 

Quebras de seção contínua

Começando com 4D v20, 4D Write Pro suporta quebras de seção contínuas. Uma quebra de seção contínua cria uma seção por direito próprio, mas sem causar uma quebra de página. Isto permite, entre outras coisas, ter diferentes números de colunas na mesma página.

A inserção de uma quebra de seção contínua pode ser feita:

  • Programando através do comando Insert break do WP, que agora suporta um novo valor: wk quebra de seção contínua
  • Utilizando um menu com uma ação padrão associada ou simplesmente adicionando uma ação padrão a um botão
  • através da interface do usuário

 

4D Ver Pro
 

 

Quer se trate de vendas, finanças, contabilidade, análise de dados, ou qualquer outra profissão que lide com conjuntos de dados longos e pesados, 4D View Pro é a resposta. É um produto multilíngue com acesso direto aos seus dados 4D que lhe permite tirar o máximo partido de folhas de cálculo integradas e poderosas. Desde a possibilidade de construir painéis de controle avançados graficamente que já não se assemelham a uma folha de cálculo até aos relatórios que podem ser criados fora da tela todas as manhãs e enviados automaticamente para a gestão – o 4D View Pro tem tudo o que precisa para tomar decisões empresariais significativas.

E com 4D v20, o produto é mais poderoso do que nunca, com um conjunto de características que definitivamente lhe serão úteis:

Tabelas pivot

4D v20 tabelas pivot. Se os seus usuário incluem pessoas de vendas e marketing, esta funcionalidade vale a pena tentar, pois permite resumir e analisar facilmente os dados diretamente de 4D View Pro.

 

CSV: Novo formato de importação/exportação

4D v20 permite a importação e exportação de arquivos CSV. O CSV é um formato comum de intercâmbio de dados amplamente apoiado por muitas aplicações. Por exemplo, pode exibir os dados de um arquivo CSV que vem de outro sistema de informação usando o documento VP Importar e o documento VP Exportar . Estes comandos suportam formatos de arquivo de texto delimitados, como o CSV.

 

Gestão de folhas

Ao programar, 4D v20 permite-lhe gerir as folhas nos seus documentos 4D View Pro. Pode criar, renomear, ocultar, ou remover uma folha ou simplesmente verificar em que folha o usuário está atualmente, utilizando os seguintes comandos:

  • VP SET SHEET COUNT: definir imediatamente o número de folhas de que necessita
  • VP ADD SHEET: inserir uma folha (com um nome personalizado) num índice específico
  • VP SET SHEET NAME: guie os seus usuário, dando nomes relevantes às suas folhas
  • VP SET CURRENT SHEET: alterar a folha selecionada
  • VP SET SHEET OPTIONS: esconder folhas, por exemplo, as que contêm apenas informação para cálculo

 

Gerir as quebras de página da UI

Com 4D v20, a gestão das quebras de página a partir da interface do usuário é agora possível graças às novas entradas no menu contextual: “Adicionar quebra de página” e “Remover quebra de página“. Pode também mostrar ou ocultar as linhas de impressão usando os novos comandos VP SET SHOW PRINT LINES e VP Get show print lines.

 

Opções de livros de exercícios

Quando se cria um documento com 4D View Pro, é frequentemente necessário afinar a experiência do usuários, escondendo as abas da folha, as barras de deslocação, desativando 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 os gabaritos

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

 

Interface de impressão

Para facilitar aos seus clientes a configuração da impressão, a Fita tem agora uma nova adição; suporta configurações de impressão com um separador “Page layout” e um diálogo “Page setup”. Este diálogo inclui separadores para Página, Margens, Cabeçalho/Rodapé, e Folha, permitindo aos usuários gerir muitas opções no comando VP SET PRINT INFO.

 

Preencher as suas folhas com contexto de dados A

4D View Pro oferece-lhe uma nova forma de carregar os seus dados e criar os seus modelos: o contexto dos dados. Permite-lhe criar o seu documento com marcadores de lugar e preenchê-los, definindo este contexto de dados.

 

Mostrar as suas Coleções como Tabelas

4D View Pro já lhe permite facilmente carregar e exibir dados em folhas de cálculo. 4D v20 traz uma nova funcionalidade de tabela que lhe permite fazer muito mais e beneficiar de propriedades adicionais como cabeçalhos, tamanho da tabela, linha de resumo, ordenação de colunas, filtros, e muito mais. Esta característica permite-lhe também carregar rapidamente dados de classes e coleções de dados. Diga olá ao novo comando VP CREATE TABLE.

 

Gerir filas e colunas

4D v20 traz vários novos comandos que lhe permitem gerir mais eficientemente as colunas e linhas da sua tabela – adicionando ou removendo colunas/linhas, dependendo das necessidades dos usuários finais.

A combinação desta nova funcionalidade com contextos de dados permite-lhe conceber modelos mais avançados para preencher automaticamente o conteúdo empresarial com a informação correta para cada situação – sejam relatórios, faturas, contratos, ou qualquer outro tipo de documento.

 

Personalização de estilo de mesas

As tabelas são uma parte integrante dos documentos 4D View Pro. Como tal, temos fornecido muitos avanços relacionados com as tabelas sobre os diferentes lançamentos. 4D v20 acrescenta uma nova funcionalidade relacionada com o estilo dessas tabelas para se adequar perfeitamente ao resto do seu documento.

A partir de agora, o VP Set table theme fornece uma forma de aplicar, programando um dos mais de 60 estilos de tabelas pré-definidos. Se nenhum destes estilos corresponder às suas necessidades, pode definir o seu próprio tema e aplicá-lo à sua mesa.

 

Solicitações R em profundidade