O que há de novo em 4D v20.

Tradução automática de Deepl

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, secções com a tag blank estão relacionadas com todas as novas funcionalidades lançadas entre 4D v19 R8 e 4D v20.

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

Improved network communication

Conheça o QUIC blank

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 a utilizar o QUIC para comunicar com os seus servidores.

Encorajamo-lo 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 infra-estrutura 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 blank

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 utilizador 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 actualizações instantâneas.

 

Inicializador literal de objectos e colecções blank

Os objectos e colecçõ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 objectos e colecções grandes ou complexos no seu código – o objecto literal e a colecção literal.

Com os objectos literais, pode inicializar um objecto com as suas propriedades e valores encerrados em chaves de caracóis {}. Por exemplo, em vez de usar o comando New object, pode criar um novo objecto 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 colecção, pode inicializar uma colecção com os seus elementos entre parênteses rectos [].

 

Novos comandos para bloquear o datastore blank

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 periódicos blank

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 periódicos 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” é activada, que é a predefinição. Depois, coloque os ficheiros dos periódicos que deseja integrar ao lado do actual. 4D detectará automaticamente quaisquer operações em falta na base de dados de arranque e verificará todos os ficheiros 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 blank

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 ficheiro “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 Ficheiro de Licença de Implantação.

 

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

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 sem cabeça 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 blank

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 auto-completar código.

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

 

Conheça a Função Distinta Melhorada blank

A função distinta das classes de recolha e selecçã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 objectos. Esta funcionalidade pode ser benéfica quando se trabalha com grandes conjuntos de dados e se necessita de analisar a frequência de valores específicos.

Comparação com um Valor Indefinido blank

Com a introdução de ORDA e outros objectos 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 atirar um erro. Isto 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 blank

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á a trazer 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 actual,
  • 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 objecto do formulário para os comandos imprimir formulário e FORMULÁRIO DE CARGAblank

Com 4D v20, o comando Form é suportado com Print form e FORM LOAD. Form, com versões anteriores disponíveis para DIALOG ou subformas, 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 blank

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

 

Novas funções úteis para colecções blank

4Dv20 fornece um conjunto de funções para manipular as colecçõ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 colecção.
  • O at() é também uma alternativa aos parênteses rectos (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 aplanação de colecções que podem conter colecções (que também podem incluir colecções, etc.).
  • O includes() é útil porque permite saber se uma colecção contém este ou aquele elemento de quase qualquer tipo… texto, numérico, data… e até referências de objectos ou colecçõ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 mencionámos anteriormente.

 

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

O formato PDF tornou-se agora uma alternativa viável ao XPS para pré-visualização de impressão no Windows, proporcionando aos utilizadores 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 utilizadores quando implementaram aplicações, resultando na impossibilidade de os utilizadores 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 actuais do Windows têm ou XPS ou PDF pré-instalado, os utilizadores 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 utilizadores finais como dos administradores.

 

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.
  • 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á a trazer 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 tirem partido de características de classe usando um componente (em modo de projecto) para criar e usar as suas próprias classes a partir da sua aplicação (baseada no modo binário). Esta funcionalidade incluiu 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á a trazer 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 de utilizar no seu código.

 

Apoio de números inteiros maiores do que o inteiro32

Então precisa de números maiores que 2 biliões (32 bits) com alta precisão para balcões ou similares? Melhorámos os reais e a forma como são tratados para permitir isso. Embora os reais sejam conhecidos por serem imprecisos, são 100% exactos 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 exactamente, [-(2^53)+1, (2^53)-1]. Assim, um intervalo de -9.007.199.254.740.992 a 9.007.199.254.740.992 será exactamente 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, melhorámos 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 Colecções e Comandos de Rechamada

Para dar uma forma mais simples de utilizar colecçõ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-lhe-á beneficiar de classes e desenvolvimento orientado para objectos, utilizando um componente (em modo de projecto) 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 secçã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.

 

Forma e subforma de comunicação

Começando com 4D v20, associar uma variável a uma subforma enriqueceu as possibilidades de interfaces e comunicação entre formulários e subformas. Os meios de comunicação são agora simplificados por dois novos comandos: OBJECTO Obter valor do contentor de subformas e OBJECTO CONFIGURAR O VALOR DO CONTENTE DE OBJECTO.

 

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, 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.

 

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 objectos aumentou, especialmente dados sob a forma de blobs. Por esta razão, 4D v20 suporta o encapsulamento de blobs em objectos.

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 Fim de Linha (EOL)

4D evoluiu suavemente para seguir as melhores práticas relativamente à gestão de certos caracteres invisíveis em ficheiros de texto. É por isso que a partir de agora, 4D escreve ficheiros de texto sem uma lista técnica. E em macOS, 4D usa LF como um caracter EOL. Isto é completamente automático para todos os ficheiros 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 ficheiros sem lista técnica e usar LF como um caracter EOL em macOS quando faltam os parâmetros opcionais “charSet” e “breakMode”. Para mais detalhes, consulte a documentação.

 

Ficheiro .gitignore por defeito em novos projectos

O modo de projecto permite-lhe acompanhar facilmente as alterações com Git (sistema de controlo de versões), mas muitas vezes não quer acompanhar os seus ficheiros de projecto no repositório Git. 4D v20 permite-lhe definir o que não deve seguir num novo projecto, adicionando automaticamente um ficheiro .gitignore predefinido na pasta do projecto com uma lista de ficheiros 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 utilizador ou uma assinatura Adhoc se não for especificado qualquer certificado. Isto permite aos criadores de componentes distribuir componentes assinados para que os utilizadores finais não tenham de os assinar antes de os utilizarem.

 

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

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

 

Emails

POP3: Descarregar apenas o cabeçalho do correioblank

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 electrónico sem o corpo.

 

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

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

A primeira característica é a capacidade de gerir palavras-chave personalizadas de correio electró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 blank

A Microsoft está a depreciar a autenticação básica para IMAP e POP3, o que significa que os utilizadores terão de utilizar um método de autenticação mais seguro para acederem aos seus dados de correio electrónico. O Graph API é uma forma mais segura e moderna de aceder 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 utilizador em Azure

Para além de fornecer acesso a aplicações Office, a Microsoft fornece um Active Directory baseado no Azure, permitindo aos utilizadores entrar para aceder 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 utilizadores 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 utilizador autenticado, tais como e-mail, departamento, e número de telefone. Se o administrador o permitir, poderá recuperar detalhes sobre os colegas do utilizador dentro da mesma empresa.

 

Bcrypt suporte para palavras-passe

Começando com 4D v20, todas as palavras-passe 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 palavra-passe 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 palavra-passe é armazenada com hash antigo ou bcrypt, de modo a que os utilizadores continuem a ligar-se sem alterar a sua palavra-passe.

 

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 redireccionamentos.

 

Editor de código

Saltar rapidamente para diferentes funções de uma classe

Asclasses 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:

  • 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 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 acções futuras.

Sintaxe de verificação de objectos

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:

  • aceder ao explorador para preencher o formulário na sua pasta
  • aceder 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
  • aceder 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, adicionámos itens de menu e uma nova lista no editor de códigos, permitindo-lhe navegar melhor nos diferentes elementos de um projecto.

 

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

Com 4D v20, pode aceder aos detalhes de uma função de classe sem ter de pesquisar no site de documentação. Basta premir 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

Assessõ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 actualizações de segurança. Por exemplo, o Microsoft Edge pode ser utilizado para exibir PDFs.

 

Ficheiros e Pastas

Manípulos de ficheiros

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 pegas de ficheiro no caso de querer ler ou adicionar uma ou mais linhas a um documento existente.

As pegas de ficheiro são objectos criados com base em objectos “File” e têm funções para aceder 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 objecto “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 colecçõ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 colecções e selecção de entidades.

 

Dizer adeus à chave ALT

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

 

Acolchoamento horizontal e vertical da célula

O poder das caixas de listagem é alargado com 4D v20 graças a duas novas propriedades: acolchoamento 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 subobjecto da caixa de listagem por herança. Mas, claro, cada subobjecto pode ter as suas próprias configurações.

A configuração do forro 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, acolchoamento horizontal de células lk, e acolchoamento 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 fundidas 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 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.

 

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. Reorganizámo-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.

 

Ficheiro de configuração para Loggin

Como parte do nosso projecto 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 ficheiro de configuração
 

Interface do utilizador

Evolução dos objectos de formablank

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, Capotamento, e Desactivar) para permitir uma melhor renderização para o utilizador 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 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 o texto, ícones, e escala de controlo. Em ecrãs 4K, é activado 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 utilizadores, 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.

 

Optimizaçã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 directamente 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 4Dblank

A segunda actualizaçã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 utilizadores podem aceder ao Data Explorer directamente 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 arquitectura 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 utilizador (com base no seu caminho de aplicação): ClientUserPreferencesFolderByPath.

 

Gestão de ficheiros de directório em projectos de servidores fundidos

No lado do servidor, o utilizador actual é 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 fundidos 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 directório final quando constrói uma estrutura compilada para acomodar aqueles que utilizam múltiplas versões compiladas da mesma estrutura. E para os nossos clientes japoneses, fundimos a versão japonesa de 4D e a internacional em macOS.

 

Aplicações cliente/servidor multi-plataforma 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 quereduz o número de ficheiros a transferir do seu Mac para a sua máquina Windows. 4D irá também gerar um directó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 projecto, é bastante fácil manipular os componentes dos seus projectos. 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 utilizador único, cliente, ou servidor.

 

Partilhar recursos locais entre utilizadores 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 utilizador, então o 4D v20 está a trazer boas notícias.

Conseguimos alguma optimização repensando a arquitectura actual ao desenvolver uma nova opção para projectos no processo BuildApp, para permitir a mutualização dos Recursos Locais.

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

Esta optimização resulta no seguinte:

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

ORDA

4D v20 continua a trazer melhorias à ORDA. OAcesso a Dados Relacionais aObjectos é uma forma inovadora de acesso a dados que combina as vantagens da programação orientada a objectos com asdas 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 utilizadores (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 utilizadores não autorizados. Um sistema para proteger os seus dados depende de quem está a aceder aos mesmos e quais os dados que são acedidos.

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

 

Optimização do desempenho com controlo total sobre os pedidos REST

4D v20 dá-lhe um melhor controlo 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 directamente 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 utilizador baseada em ORDA, por exemplo.

 

Pseudónimos ORDA

4D v20 é 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 v20, em novos projectos, 4D deixará, por defeito, 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 fechaduras 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 as fechaduras pessimistas com o REST API.

 

Apoio total da BLOB

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

 

Comparar duas selecções de entidades

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

 

4D Write Pro

 

4D Write Pro melhorou drasticamente ao longo das últimas versões. De facto, nós, a equipa 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 directamente 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çãoblank

Ascaixas de texto permitem-lhe inserir um recipiente 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 objectos 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 selecções e colecçõ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 objectos 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 selecção de entidade ou de uma colecção, esta “fonte de dados” alimentará automaticamente as filas destas tabelas. As tabelas serão automaticamente ampliadas com base na selecção, acrescentando mesmo páginas adicionais quando necessário. Isto permite ao utilizador 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 mesa de vendas potencialmente com várias páginas. No final de uma página, gostaria de 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 facturas 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 da fila.

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 colecções ou selecção de entidades.

 

Linhas de Intervalo das Mesasblank

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 utilizador 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 apelativos: 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 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.
  • Aquebra 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.

 

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 está em modo de edição, é muitas vezes útil saber se foi realmente modificado pelo utilizador final. Esta informação permite que acçõ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á acçõ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 utilizadores 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.

 

 

Desactivar 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 rectâ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 utilizador, 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 defeito)
  • Truncado
  • Truncado centrado
  • Proporcional
  • Proporcional centrada
  • Reproduzido
  • Reproduzido centrado

Também facilitámos a formatação das imagens utilizadas como documentos de fundo, secçõ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 por defeito)
  • 2: destacar apenas valores
  • 3: destacar fórmulas e valores

Também pode ser feito utilizando acçõ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:
    • Controlo de 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 secção, colunas, e visualizar parâmetros como orientação, formato, tipo (rascunho, página, ou incorporado), ou visibilidade de alguns elementos (carácter invisível, cabeçalho, rodapé).
  • Quanto ao widget da barra de ferramentas, acrescentámos 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 estofamento
  • 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 secção contínua

Começando com 4D v20, 4D Write Pro suporta quebras de secção contínuas. Uma quebra de secção contínua cria uma secçã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 secção contínua pode ser feita:

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

 

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 multilingue com acesso directo 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 controlo avançados graficamente que já não se assemelham a uma folha de cálculo até aos relatórios que podem ser criados fora do ecrã 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 pivotantes

4D v20 tabelas pivot. Se os seus utilizadores incluem pessoas de vendas e marketing, esta funcionalidade vale a pena tentar, pois permite resumir e analisar facilmente os dados directamente da fita 4D View Pro.

 

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

4D v20 permite a importação e exportação de ficheiros 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 ficheiro CSV que vem de outro sistema de informação usando o documento VP Importar e o documento VP Exportar . Estes comandos suportam formatos de ficheiro 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 utilizador está actualmente, 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 utilizadores, dando nomes relevantes às suas folhas
  • VP SET CURRENT SHEET: alterar a folha seleccionada
  • 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 utilizador é 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 utilizador, escondendo as abas da folha, as barras de deslocação, 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 os gabaritos

A criação de relatórios ou folhas de cálculo a partir de modelos existentes acelera o desenvolvimento. Tal como um utilizador final que utiliza a acção Copiar e Colar, como programador, pode, com 4D v20, 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.

 

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/Pé, e Folha, permitindo aos utilizadores gerir muitas opções no comando VP SET PRINT INFO.

 

Povoar 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 Colecçõ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 colecçõ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 utilizadores 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 correcta para cada situação – sejam relatórios, facturas, 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