O que há de novo em 4D v18

Tradução automática de Deepl

Este documento é uma compilação de todas as novas funcionalidades disponíveis em 4D v18 . 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 v17 R6 e 4D v18.

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

Base de dados de projectos – Controlo de versõesblank

O envio de uma solução com 4D v18 facilita o trabalho colaborativo das equipas distribuídas, armazenando o código fonte num sistema de controlo de fontes utilizando ficheiros de texto simples. Permite tirar partido do poder combinado da plataforma de desenvolvimento 4D com a versatilidade dos ficheiros leves e distribuídos:

Arquitectura

Uma base de dados do projecto contém todo o código fonte de uma aplicação de base de dados 4D, desde a estrutura da base de dados até à interface do utilizador, incluindo formulários, menus, definições do utilizador, ou quaisquer recursos necessários. Uma vez que as bases de dados de projectos são feitas de ficheiros baseados em texto, os projectos contêm múltiplas pastas e ficheiros armazenados dentro de uma única pasta de base de dados pai. Quando se cria uma base de dados de projectos, encontram-se muitas das mesmas pastas de uma base de dados binária:

  • Dados
  • Registos
  • Recursos
  • Definições
  • WebFolder

Há também duas novas pastas:

  • Projecto – Código fonte da aplicação (equivalente a .4db)
  • userPreferences.<name> – Contém ficheiros de configurações de utilizador memorizadas(por exemplo , posições de ponto de quebra, posições de janela, etc.). Ler a documentação

Converter uma base de dados binária existente

Pode criar uma base de dados de projectos, quer criando uma nova base de dados de projectos em branco, quer exportando uma base de dados binária existente (.4db) para uma pasta de projectos. Para converter uma base de dados binária existente, basta clicar no item de menu Ficheiro > Exportar > Estrutura para projecto. Uma vez feita essa conversão, é exibida uma mensagem para o informar sobre a conclusão da conversão. 4D também lhe permite saber se foram detectados quaisquer erros que exijam a sua intervenção. Por exemplo, no caso de objectos de formulários mais antigos que já não são suportados. Leia a documentação

Pós-Conversão

Quando se trata da estrutura de uma base de dados binária, a descrição da sua aplicação é armazenada em dois ficheiros (.4DB e.4DIndx). Para uma base de dados de projectos, encontrará esta descrição nos ficheiros armazenados na pasta “Projecto”. Após a conversão, pode remover os seguintes ficheiros da pasta Projecto (se o desejar): <base de dados>.4db e <base de dados>.4dIndy. Os dados para novas bases de dados de projectos residem numa pasta “Data” ao mesmo nível que a pasta “Project”. Portanto, mesmo durante a fase de desenvolvimento, um ficheiro localizado ao lado da pasta de Dados é diferente de um ficheiro localizado ao lado da estrutura. Recomendamos que após a conversão, crie uma pasta de Dados ao mesmo nível que a pasta de Projecto, e mova os ficheiros data.4dd e data.4DIndx para dentro da mesma. Finalmente, para manter os dados separados e facilitar a implementação, 4D nomeia agora ficheiros com a palavra “preferências” para parâmetros relacionados com o desenvolvimento, tais como configuração do editor de código, enquanto utiliza “definições” para parâmetros relacionados com a implementação, tais como definições de memória ou de cópia de segurança.

Gestão de utilizadores e grupos

Como as bases de dados dos projectos são inteiramente baseadas em texto, já não há razão para a gestão de utilizadores e grupos para proteger o código. Esta função foi delegada no sistema de controlo de versões ou no sistema de direitos de acesso a ficheiros/pastas do SO. Como resultado, os utilizadores e grupos são agora apenas utilizados para tratar o acesso aos dados. São armazenados num ficheiro de texto chamado “directório.json” ao lado do ficheiro de dados.

Implementação melhorada

Já não há necessidade de diferenciar os Desenvolvedores dos Utilizadores. Por conseguinte, ambos têm agora o tipo “Utilizador”. A fim de simplificar a implementação, os comandos Get 4D file e File aceitam agora a nova constante do ficheiro Directory, para que se possa lidar fácil e automaticamente com o ficheiro correcto. Leia a documentação

Durante a conversão e migração

O ficheiro do directório será gerado automaticamente durante o processo de conversão e colocado junto às definições do projecto. Se até agora utilizou o comando BLOB TO USERS para restaurar os seus utilizadores e palavras-passe, o comando irá agora gerar este ficheiro de directório para que não precise de modificar o seu código existente. Leia a documentação

Modo de utilizador único

No modo de utilizador único, os Utilizadores e Grupos estão completamente desactivados. O utilizador actual é sempre o Designer e não pode ser alterado. Os direitos de acesso dos utilizadores e dos grupos à aplicação podem ser delegados no sistema. Se quiser mascarar o nome do Designer com a conta do sistema ou o seu próprio nome de utilizador, basta chamar o comando SET USER ALIAS. Ler a documentação

Modo cliente/servidor

No modo cliente-servidor, os Utilizadores e Grupos estão totalmente operacionais. É possível alterar o utilizador actual, definir um pseudónimo, alterar uma palavra-passe, etc.

Caixa de ferramentas

As páginas da caixa de ferramentas Users and Groups são acessíveis em todos os modos: utilizador único e cliente-servidor. No entanto, no modo de utilizador único, a caixa de ferramentas só pode ser utilizada para modificar os utilizadores e grupos que serão utilizados no modo cliente-servidor.

Implante a sua aplicação

A implementação consiste em duas etapas: compilação de códigos e criação de aplicações. Pode compilar a base de dados do seu projecto da mesma forma que compila a sua base de dados binária (.4db). Não há diferença. A interface é a mesma e o código da máquina produzida é o mesmo. A única diferença é que o resultado compilado é guardado num ficheiro binário (.4db) para bases de dados binárias, e na pasta “Project/DerivedData/CompiledCode” para bases de dados de projectos. Não tem de fazer quaisquer alterações para criar as suas aplicações (base de dados compilada, componente, aplicação autónoma, aplicação cliente/servidor), pode utilizar o ficheiro de configuração da sua base de dados binária com a sua base de dados de projecto convertida. A diferença reside nos ficheiros gerados: as bases de dados do projecto têm um ficheiro com a extensão “.4dz” em vez de um ficheiro “4dc”. Leia a documentação

Upload para um sistema de controlo de fontes

Ao compilar a sua base de dados, 4D armazena o código compilado na pasta “Project/DerivedData”. É recomendado carregar a pasta “Resources”, a pasta “WebFolder” e a pasta “Project” (sem a sub-pasta “DerivedData“) para um sistema de controlo de fontes. Ler a documentação

As Folhas de Estilo tornam-se CSS

As possibilidades das folhas de estilo foram dramaticamente aumentadas. 4D foi inspirada pela gramática e sintaxe do CSS para folhas de estilo de bases de dados de projectos, adaptando-a às necessidades específicas das formas 4D. Isto permite configurar as propriedades dos objectos de formulários com folhas de estilo. Ler a documentação

Criptografia

A nova encriptação de dados incorporada para as suas bases de dados 4D está agora à sua disposição. Os dados podem ser encriptados através de código ou da interface do utilizador, para todas as tabelas ou apenas para tabelas seleccionadas. As ferramentas de encriptação 4D são baseadas numa frase-chave. É composto por uma frase ou uma combinação de palavras que é utilizada para gerar uma chave de encriptação binária para encriptar dados com o algoritmo AES. Para trabalhar com um ficheiro de dados codificado, a frase-chave ou a chave de encriptação binária é obrigatória. 4D codifica dados ao nível do ficheiro, ou seja, o seu ficheiro de dados (4DD), a sua cópia de segurança, e o seu diário é codificado. Para além da segurança no seu próprio computador, isto torna as cópias de segurança para a nuvem ou discos externos muito mais seguras, uma vez que os dados permanecem encriptados.

Encriptar através do MSC

Um novo atributo Encriptável está disponível para tabelas no Modo Design. Define o estado de encriptação de uma tabela, designando que esta pode ser encriptada. Quando estiver pronto para encriptar os seus dados, a forma mais fácil de o fazer é através da nova página de Encriptação no MSC. Esta página fornece todas as características necessárias para monitorizar a encriptação dos seus dados. Pode utilizar esta página para encriptar ou desencriptar o ficheiro de dados, bem como reencriptar e/ou alterar a sua frase-chave. Leia a documentação

Encriptar com comandos 4D

Para além do MSC, 4D v18 inclui um conjunto de comandos que são concebidos para suportar a maioria dos requisitos de encriptação. Por exemplo, pode gerir a encriptação com o comando Encrypt data file(), ou utilizar o comando provideDataKey() para fornecer a chave de encriptação de dados a um ficheiro de dados aberto. Pode mesmo usar o comando encryptionStatus( ) para verificar se o ficheiro de dados aberto está ou não encriptado e se foi fornecida uma chave de encriptação de dados válida. A lista completa de comandos está disponível no centro Doc. Ler a documentação

Para mais detalhes sobre as ferramentas e técnicas incorporadas envolvidas na criação de um ambiente seguro para as suas aplicações comerciais, consulte o nosso Guia de Segurança.

4D para iOS

4D para iOS é uma solução que lhe permite estender as suas aplicações empresariais a dispositivos móveis. 4D para iOS está totalmente integrado em 4D, pelo que não há necessidade de qualquer instalação adicional (excepto Xcode) ou qualquer perícia prévia. Aqui estão as características que enviamos com esta versão:

Criar, editar, apagar

A edição de dados directamente da sua aplicação é agora possível graças a acções. Isto significa que os seus utilizadores podem editar dados directamente na sua aplicação iOS. Para proteger a sua lógica empresarial, cada “acção” é enviada para 4D e executa os seus métodos 4D para verificar, calcular dados adicionais, e finalmente aprovar ou rejeitar a entrada do utilizador. Além disso, foram fornecidas acções pré-definidas para gerir o conteúdo da sua aplicação: Adicionar, Editar, e Eliminar. Leia a documentação

Formatadores de dados

Formatadores de dados, um conceito recentemente introduzido que lhe permite definir tipos de dados específicos para os seus campos a fim de que o conteúdo seja exibido no formato correcto. Pode rapidamente substituir o formato padrão dos seus campos para exibir o formato da sua escolha, tal como moeda, booleano, percentagem, datas, e muito mais. Por exemplo, imagine que quer exibir uma imagem para visualizar facturas “pagas” e “não pagas” mas que caberiam muito melhor no iPhone do que uma caixa de verificação simples. Leia a documentação

Pesquisa multicritério

4D para iOS suporta agora a pesquisa multicritério! Depois de seleccionar o seu modelo de formulário de lista, largue vários campos na área de pesquisa para activar a pesquisa multicritérios. Ao especificar múltiplos valores para o mesmo campo, é utilizado um operador OR nos bastidores. Por exemplo, arraste o nome da empresa, apelido e cidade para a área de pesquisa para permitir ao seu utilizador introduzir qualquer uma destas informações para procurar um cliente. Leia a documentação

Consultas restritas

Outro conceito recentemente introduzido: Consultas restritas. Elas permitem-lhe filtrar os dados a sincronizar com a sua aplicação móvel. Limitar os dados apenas às facturas do ano passado, apenas aos clientes activos, ou apenas à região sob a responsabilidade de um gestor de vendas é incrivelmente prático e poupa tempo na sincronização de dados e um MUITO espaço no seu iPhone. Leia a documentação

Sincronização de dados incrementais

Outro conceito interessante incluído em 4D para iOS é a sincronização incremental de dados. Responde a duas necessidades diferentes: mesmo consultas restritas poderiam resultar em grandes conjuntos de dados, pelo que 4D mantém agora automaticamente o registo actualizado ou apagado e só actualiza estes dados no dispositivo. Além disso, os seus dados não só são actualizados cada vez que lança a sua aplicação, mas também cada vez que a sua aplicação vai para o primeiro plano ou em resposta a uma acção do utilizador. Leia a documentação

Gerir as relações blank

4D para iOS suporta ambos os tipos de relação N para Um e Um para N. Para N a um, é simples, pode usar campos relacionados num formulário para o telefone, tal como os campos da tabela principal. Para relações de Um para N, o formulário contém um botão, que mudará para outra página mostrando a lista de registos relacionados, permitindo ao utilizador voltar atrás com um deslize. Ler a documentação

Personalize a sua aplicação

Crie a sua própria lista e detalhe modelos de formulários

4D para iOS já fornece várias listas e modelos de formulários detalhados para cobrir a maior parte das suas necessidades. Mas também pode criar facilmente os seus próprios modelos. Usando Xcode Storybuilder, você (ou um colega com conhecimentos de Xcode) pode criar novos modelos ou personalizar os já existentes usando todas as funcionalidades que o iOS fornece. Para utilizar o modelo criado, não são necessárias competências especiais, pode utilizá-los como qualquer modelo incorporado. Ler a documentação

Utilize os seus próprios ícones

4D para iOS tem uma grande biblioteca de ícones que cobre muitas áreas tais como comércio, finanças, educação, governo, saúde, indústria, imobiliária, serviços, etc. Leia a documentação

Criar um formatador de dados personalizado

4D para iOS já inclui formatadores de dados básicos para datas, percentagem, tempo, etc., mas também pode criar os seus próprios formatadores de dados e utilizá-los directamente do Editor de Projecto. Por exemplo, pode criar um formatador integertoString, que substitui números internos por nomes, tais como códigos de envio. Ou integerToImage, para substituir códigos tais como 1,2,3,4 por crachás coloridos mostrando o estatuto de parceiro. Ler a documentação

ORDA

4D v18 continua a trazer melhorias à ORDA com as seguintes características:

Datastore remoto blank

Já não está limitado à base de dados actual, pode agora aceder a uma ou mais bases de dados 4D remotas publicadas no(s) servidor(es) 4D. Uma base de dados remota pode ser publicada como um recurso REST e acedida a partir de clientes 4D. Esta base de dados remota é utilizável (leitura/escrita) directamente com conceitos ORDA (que desencadearão pedidos REST entre cliente e servidor). As ligações TLS são, evidentemente, suportadas. Pode restringir o acesso a utilizadores 4D visados ou desenvolver os seus próprios controlos de acesso sobre as credenciais do utilizador. Embora este processo utilize o Servidor Web para aceder ao Servidor REST, não é necessária uma licença de Servidor Web. As licenças de Cliente 4D padrão são utilizadas para ligações. Leia a documentação

Pedidos ORDA de registo

Novos métodos ORDA estão disponíveis no objecto ds para o ajudar a depurar e optimizar o seu código ORDA para obter uma melhor compreensão dos pedidos enviados. O método startRequestLog( ) é muito flexível, uma vez que, quando chamado com um objecto File, pode registar pedidos ORDA num ficheiro ou na memória. Para parar de registar pedidos ORDA, pode chamar o método stopRequestLog( ). Ler a documentação

Novo método para encomendar uma Selecção de Entidade

Com a ajuda de fórmulas, pode agora encomendar uma selecção de entidade utilizando critérios complexos num método de projecto ou numa expressão 4D. A fórmula avalia os critérios de ordem que podem ser dados sob a forma de uma String ou de um objecto de Fórmula ao método orderByFormula() . Ler a documentação

Consultas avançadas utilizando fórmulas

O método de consulta() foi actualizado para suportar um objecto de Fórmula como parâmetro e devolver um novo objecto do tipo EntitySelection contendo todas as entidades encontradas. Isto permite a criação de critérios de pesquisa mais sofisticados. Ler a documentação

Optimização do desempenho no cliente/servidor

O acesso a tabelas grandes (especialmente aquelas com relações) em modo Cliente/Servidor usando ORDA foi grandemente melhorado. Ao utilizar selecções de entidades em caixas de listagem ou em loops de código(por exemplo, While ou Para cada), os campos utilizados serão automaticamente analisados para optimizar a transferência de rede. Verá 2-3x melhor desempenho da LAN e até 30x mais rápido na WAN (dependendo da rede e do tamanho do registo). E o melhor de tudo – não há necessidade de alterar nada no seu código, é tudo automático.

Métodos para obter a informação da estrutura

Estão disponíveis muitos métodos que lhe permitem obter informação relacionada com a estrutura(por exemplo, informação sobre uma tabela ou número de campo). Isto pode ser útil ao integrar a ORDA passo a passo no seu código 4D clássico. Contudo, o principal objectivo destes métodos é dar-lhe uma forma de escrever um código genérico que seja aplicável independentemente da estrutura da base de dados. Leia a documentação

Titulares de lugares nomeados para os caminhos de atributo

Também pode utilizar marcadores de lugar para os caminhos de atributos (nomes de campos em tabelas). Estão disponíveis dois tipos: Indexado – inserido como :paramIndex(por exemplo:1, :2,… com um incremento de 1) na cadeia de consulta e os seus valores correspondentes são fornecidos pela sequência de parâmetro(s) de valor, e Nome – inserido como :paramName e os seus valores são fornecidos nos atributos ou parâmetros objectos na cadeia de consulta. Ler a documentação

Titulares de lugares nomeados para valores

Agora é mais fácil escrever consultas ORDA genéricas graças aos detentores de lugares nomeados para valores. Estes placeholders são fornecidos como parâmetros de objectos nas definições da consulta e substituídos por outro valor quando a cadeia de consulta é avaliada. Ler a documentação

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

Enviar correio

Está disponível uma nova forma de criar e enviar e-mails. A nova funcionalidade é fácil de usar – e também mais poderosa do que antes (utilizando os Comandos 4D da Internet). O novo comando SMTP New Transportter permite a configuração de uma nova ligação SMTP. A criação e envio de emails segue três passos: criar o seu transportador SMTP, criar um objecto de correio, e depois enviar o email. Um objecto de correio tem múltiplas propriedades: de, cc, bc, para, remetente,textBody, htmlBody, para citar algumas. Além disso, pode ser adicionado um anexo com o comando MAIL New attachment. Uma vez criado, o objecto de correio pode ser enviado com o comando transportter.send() .

Registo de conversas SMTP

O comando SMTP New Transportter cria uma ligação entre um servidor SMTP (como o Microsoft Exchange ou Gmail) e o cliente, e regista – em texto simples e não encriptado – todas as suas comunicações. Uma nova propriedade LogFile está disponível, contendo o caminho completo do ficheiro de registo definido para a ligação SMTP. O ficheiro pode ser produzido em duas versões: Uma versão padrão e uma versão alargada. Ambas as versões podem ser activadas pelo comando SET DATABASE PARAMETER. Ler a documentação

Analisar um documento MIME, modificá-lo, e reenviá-lo blank

O novo analisador poderoso, MAIL Convert from MIME, converte um email recebido ou um documento MIME criado a partir de 4D Write Pro num objecto. Isto permite editar ou modificar o objecto conforme necessário, tal como alterar o assunto, remover/adicionar destinatários, modificar o corpo, adicionar anexos, e assim por diante – e depois enviar o documento. Por exemplo: No caso de usar 4D Write Pro para criar e-mails HTML com imagens estáticas no texto e precisar de o enviar, aqui está o processo:

  • Exporte o seu documento 4D Write Pro em formato MIME,
  • usar o comando MAIL Convert from MIME para transformar o MIME num objecto de correio,
  • depois enviá-lo através do comando SMTP Novo Transportador. Ler a documentação

Activar o Debugger nos modos compilado e fundido blank

Agora pode utilizar o depurador 4D para depurar código em modo de produção, durante a execução do comando PROCESS 4D TAGS através do comando TRACE em código inserido entre as etiquetas <!–#4DCODE–>. Ler a documentação

Construa o seu próprio diálogo de ligação para seleccionar o servidor blank

Agora pode utilizar uma aplicação fundida de um único utilizador para construir o seu próprio diálogo de ligação para um servidor fundido. Leia a documentação

Comando do evento do formulário retrabalhado blank

O comando Form event foi renomeado para Form event code para maior clareza. Isto porque o comando só devolveu o código do evento enquanto que um novo comando FORM Event, devolve um objecto. Não há necessidade de alterar o seu código. O novo comando devolve um objecto com múltiplas peças de informação. Além do próprio evento, também contém informações sobre o objecto que desencadeia o evento, tais como o seu nome e dados adicionais, dependendo do tipo de objecto. Leia a documentação

Notação de objectos para tratar ficheiros e pastas

Criar, modificar, ou apagar ficheiros e pastas no seu disco tornou-se muito mais fácil e intuitivo. Foi adicionado um novo comando Folder que lhe permite criar um objecto de pasta a partir de uma constante, um caminho POSIX, ou um caminho de plataforma. O objecto de pasta tem propriedades(por exemplo, name, modificationDate, modificationTime) e métodos( por exemplo, create(), moveTo(), rename(), delete()) que permitem a criação e manipulação de pastas. Tal como acontece com as pastas, o comando File está disponível para tratar ficheiros. O novo objecto de ficheiro permite aceder e manipular atributos de ficheiro. Pode usar métodos de ficheiro para escrever e ler o conteúdo de um ficheiro, movê-lo, apagá-lo, etc. Ler a documentação

Comandos Zip blank

Pode comprimir ou descomprimir os seus ficheiros através de código, sem chamar bibliotecas ou ferramentas externas. O novo comando Zip Create archive permite criar um arquivo zip passando ou um ficheiro, uma pasta, ou um objecto com parâmetros. E para descomprimir o seu arquivo, utilize o novo comando ZIP Ler arquivo que devolve um objecto de arquivo que pode ser facilmente manipulado para obter a lista de ficheiros, extrair um determinado ficheiro ou todo o arquivo. Utilizar ou criar um arquivo zipado funciona de forma semelhante aos novos comandos File and Folder, mantendo o seu código simples e de fácil leitura. Leia a documentação

Recuperar a cadeia de execução actual

Está disponível um novo comando Get call chain para lhe dar uma visão do código executado. Isto ajuda-o a saber onde se encontra no seu código, especialmente quando um método chama outros métodos, que podem então chamar outros métodos. O comando retorna uma colecção de objectos com cada objecto representando uma etapa de execução e descrevendo a sua base de dados, tipo de método, nome do método, e linha de chamada. O comando pode ser utilizado em todos os contextos de execução do código, tanto no modo interpretado como no modo compilado. Ler a documentação

Nova ferramenta para análise de registos de depuração

Uma nova ferramenta está disponível para o ajudar a analisar os registos de depuração. Por exemplo, será capaz de ver quais os processos que consomem mais tempo, a cadeia de chamadas com o seu correspondente tempo de execução, e muito mais. Esta ferramenta foi concebida para o ajudar a encontrar conflitos no seu código e a melhorar o desempenho das suas bases de dados. Leia a documentação

Aplicações 4D sem cabeça blank

Pode agora lançar uma aplicação 4D sem interface (aka headless) através do CLI (Command Line Interface) com o novo parâmetro headless. Disponível para todos os tipos de aplicação: Aplicações 4D, 4D Server, autónomas, remotas, fundidas. As mensagens de erro ou outros diálogos são automaticamente buscados e redireccionados para um ficheiro de registo, evitando a paragem do servidor. Ler a documentação

Preemptivo

Desactivar localmente a verificação da segurança dos fios blank

Agora pode dizer ao compilador que uma parte do código não deve ser verificada quanto ao cumprimento não preventivo, sabendo que esta parte do código não será executada porque faz parte de um Se ou Caso de declaração e só deve ser executada em modo cooperativo. Para o fazer, deve rodear o código a ser excluído da verificação de segurança de linha com as directivas especiais %T- e %T+ como comentários. O //%T- comentário desactiva a verificação da segurança dos fios e o //%T+ permite-o novamente. Ler a documentação

Processos preventivos em 4D remoto

Os seus processos podem ser executados de forma preventiva em 4D Remote, tirando pleno partido do poder dos computadores multi-core. Dividir uma operação em pedaços e executá-la em todos os núcleos disponíveis, em paralelo, para obter os seus resultados mais rapidamente. Leia a documentação

Comandos mais seguros para os fios

Com todos os novos comandos de segurança de linha, as suas aplicações podem tirar o máximo partido dos computadores multi-core. Consequentemente, isto resulta em respostas mais rápidas a pedidos simultâneos.

Os seguintes comandos 4D são agora seguros para threads: COMPRESS BLOB, EXPAND BLOB, BLOB PROPERTIES, ENCRYPT BLOB, DECRYPT BLOB,GENERATE ENCRYPTION KEYPAIR, GENERATE CERTIFICATE REQUEST, RECEIVE BUFFER, SET DEFAULT CENTURY, GET DOCUMENT ICON, TRANSFORM PICTURE PICTURE, SVG EXPORT TO PICTURE, Get localized document path, Get database localization, LOCKED BY, LOG EVENT, Current client authentication, GET MEMORY STATISTICS. Ler a documentação

Iniciar/Encerrar SQL em modo preventivo

Iniciar SQL, Terminar SQL, e as instruções SQL associadas utilizadas com uma base de dados interna estão agora em conformidade com a normativa preventiva. Agora, pode iniciar todos os seus pedidos em paralelo e aumentar a velocidade das suas aplicações se estes comandos forem utilizados para fazer uma grande quantidade de actividade assíncrona. Leia a documentação

Sincronize os seus processos

Pode utilizar, Novo sinal – por exemplo – para delegar trabalho a um processo cooperativo, a fim de utilizar um comando não preventivo. O comando cria um objecto partilhado e permite-lhe gerir a progressão do processo actual com dois novos métodos: disparar() e esperar(). Ler a documentação

Chamar o evento onResize em subformas blank

Quando um formulário contém um ou mais subformulários, é possível gerir directamente o evento em tamanho no método subformulário. Este evento será desencadeado cada vez que o tamanho do objecto do subforma for modificado dentro do formulário principal. Isto pode acontecer:

  • Quando o formulário principal é redimensionado.
  • Quando um divisor modifica a altura ou a largura do objecto da subforma.
  • Quando o tamanho de um objecto de subforma é modificado por programação utilizando as coordenadas do OBJECT Set. Ler a documentação

Novo tipo de dados de variantes blank

Está disponível um novo comando para lançar cada variável especificada como variável Variante: C_VARIANT. O tipo de dados da variante pode ser usado para representar qualquer outro tipo de dados (BLOB, Boolean, Collection, Date, Longint, Object, Picture, Pointer, Real, Text, Time, Null, Undefined) excepto arrays. Pode usar o comando Tipo para recuperar o tipo da variável e o tipo de Valor para o tipo de valor. O tipo de dados Variante ajuda-o a escrever código genérico, tal como permitir que um método receba um parâmetro como texto ou blob, sem necessidade de utilizar um ponteiro. Ler a documentação

Ler campos de objectos 4D com motor SQL

O motor SQL foi actualizado para permitir a leitura de campos de objectos 4D. Para navegar pelo conteúdo de um campo de objecto, a função SQL CAST foi alargada para devolver uma representação JSON do campo. Ler a documentação

Melhoria dos testes das bases de dados

Os produtos 4D já podem ser lançados utilizando parâmetros de linha de comando para permitir testes automáticos ou implantação. No entanto, novos parâmetros foram adicionados para lhe dar ainda mais flexibilidade ao abrir as suas bases de dados:

modo de abertura: irá definir a abertura da sua base de dados em modo interpretado ou compilado.

-criar-dados: permitirá criar novos dados se o ficheiro de dados actual não for encontrado ou com um nome específico se os -dados forem passados.

-user-param: enviará uma string que pode ser lida após o lançamento da base de dados usando o comando GET DATABASE PARAMETER . Ler a documentação

Definir um nome alternativo para a conta de utilizador 4D

Um novo comando está disponível para definir um nome personalizado a utilizar em vez do nome da conta de utilizador 4D actual: SET USER ALIAS. Aceita uma cadeia de caracteres como parâmetro. Essa string (alias) irá substituir o nome de utilizador 4D no ambiente 4D. Um alias permite utilizar o seu próprio sistema de utilizador/senha, ou um directório de utilizadores externo, como Active Directory ou LDAP, enquanto ainda beneficia de todos os conceitos de identificação de utilizador 4D incorporados. Leia a documentação

Exportar uma forma 4D clássica para forma dinâmica

Está disponível um novo FORMULÁRIO Converter para comando dinâmico que lhe permite exportar um formulário 4D clássico (armazenado em ficheiro .4DB) para um formulário dinâmico. Passa o nome do formulário e recebe um objecto que descreve o formulário. Depois, dependendo das suas necessidades, pode alterar as opções do formulário, tais como o tamanho da fonte ou a posição dos objectos no ecrã ou mesmo adicionar mais objectos antes de o exibir. Leia a documentação

Melhorias no registo de depuração

O comando SET DATABASE PARAMETER é melhorado para permitir o registo apenas de processos específicos, bem como chamadas a métodos de membros (métodos de recolha ou de objectos). Está disponível um novo selector(Registo de registo de registo de depuração do processo actual) que lança o registo de registo de depuração do processo actual. Ler a documentação

Formulários dinâmicos e a ordem de entrada

Agora, pode definir uma ordem de entrada que não está necessariamente associada com a ordem z. Para cada página da definição do seu formulário, o atributo “objectos” contém uma lista de elementos do formulário que estão dispostos de acordo com a ordem z. Um novo atributo foi adicionado a esta lista: “entryOrder”. Permite-lhe especificar a sua própria ordem de entrada personalizada. Se este atributo for indefinido, 4D utiliza a ordem z(ou seja, a ordem definida no atributo “objectos”). Ler a documentação

Instâncias multi-clientes

É agora possível executar vários clientes no mesmo computador e simultaneamente ligá-los ao mesmo Servidor 4D. Cada ligação de cliente inclui agora uma pasta cache separada contendo o endereço IP da ligação, porta, e código hash. Graças a isto, também é possível ligar vários clientes da mesma máquina a vários servidores em máquinas diferentes. Não é necessária qualquer configuração. Leia a documentação

Escreva os seus próprios métodos para objectos

O comando Nova fórmula é alargado para lhe permitir criar fórmulas como objectos. É possível passar parâmetros ou aceder ao conteúdo do objecto da fórmula. As fórmulas como objectos podem efectuar cálculos para atributos de objectos a serem passados para um método. Os objectos podem agora ter o seu próprio dispositivo de chamada de retorno ou manipulador de erros. Se já estiver a utilizar ORDA ou a fazer uma codificação clássica baseada na selecção, os objectos tornaram-se muito mais poderosos. Ler a documentação

4D Blocos de comentáriosblank

Os comentários podem ser sobre um único comentário de linha ou através de várias linhas. Agora, em vez de ter muitas linhas prefixadas com //, pode simplesmente usar /* no início de um comentário e */ no final para comentar um bloco inteiro. Também pode colapsar e expandi-los. Além disso, os comentários podem ser adicionados a qualquer parte de uma linha, mesmo dentro de uma condição ou de um loop. Leia a documentação

Apoio ao atributo “não escalonável” SVGblank

Na norma SVG, o atributo “non-scaling-stroke” indica que a largura do traço não depende do zoom ou da escala. Por outras palavras, as linhas de um objecto não são afectadas pelas transformações e pelo zoom. Agora, acrescentámos novos comandos ao tema “4D SVG”. É possível definir o atributo “non-scaling-stroke” para desenhar objectos com o método VG_SET_STROKE_VECTOR_EFFECT. Ler a documentação

Comandos de administração do servidor 4D

A lista de comandos que lhe dão a capacidade de criar as suas próprias interfaces de administração como diálogos no servidor, cliente, ou mesmo como páginas HTML para acesso à web, é completada:

  • ENVIAR MENSAGEM AO USUÁRIO REMOTO para enviar uma mensagem do servidor a um utilizador remoto.
  • Obter actividade de processo para recuperar uma lista de sessões de utilizador.
  • ENVIAR UTILIZADOR REMOTO para terminar uma sessão do utilizador.
  • ABORT PROCESS BY ID para parar um processo específico, usando o seu número de processo único.
  • Obter actividade de processo ou propriedades do processo para recuperar o número único do processo.
  • REJEITAR NOVA CONEXÃO REMOTA para bloquear novas ligações remotas.
  • Obter informações sobre a aplicação para saber se as ligações foram aceites ou recusadas.
  • REJEITAR NOVOS REJEITOS para bloquear pedidos de SOAP.
  • WEB Obter informações do servidor para saber se as ligações foram aceites ou recusadas.
  • Actualizar a licença para actualizar uma licença. Ler a documentação

Mais informação sobre processos web

Estão disponíveis novas informações sobre o URL utilizado pelos processos da web. Esta informação pode ser recuperada de duas maneiras: através da Janela de Administração do Servidor 4D ou através da linguagem 4D com o comando Get process activity ; um novo atributo “url” é adicionado ao objecto de processo quando o tipo de processo é um processo web. Ler a documentação

O novo comando Get application info recupera informações detalhadas sobre a actividade e a configuração da rede da sua base de dados activa. Este comando pode ser chamado tanto num cliente remoto como no Servidor 4D. Leia a documentação

Relatório Rápido

Gerir os métodos de chamada de retorno

Pode agora definir o parâmetro “methodName” no comando QR REPORT. Este método é uma chamada de retorno que corre em cada evento gerido:
  • qr cmd aberto
  • qr cmd guardar
  • qr cmd guardar como
  • qr cmd gerar
  • Configuração de página qr cmd
  • qr cmd pré-visualização da impressão

No método de revogação, pode interceptar todos os eventos geridos, fazer algo, e executar o evento com o comando QR COMANDO EXECUTIVO. Ler a documentação

Gerir o espaçamento subtotal

Agora, para cada pausa (subtotal), pode definir uma pausa de página ou uma altura de linha diferente. No caso de uma altura de linha diferente, a diferença pode ser expressa em pontos (pt) ou percentagem (%). Ler a documentação

Gestão de fronteiras blank

Pode alterar a aparência da moldura de uma célula, coluna ou linha no seu relatório, alterando a sua cor ou a espessura da linha. Coloque o rato sobre o elemento que pretende configurar, clique sobre ele, depois escolha o parâmetro apropriado (a configuração da borda, espessura da linha, e a cor) a partir da janela pop-up. Leia a documentação

Melhorias da IU

A primeira melhoria é um novo botão “Guardar / Guardar como”. Escolhendo “Guardar” guarda o seu trabalho actualizando a última versão guardada do ficheiro para corresponder à versão no seu ecrã. Escolhendo “Save As” mostra um prompt para guardar o seu trabalho como um ficheiro com um nome diferente. A segunda melhoria é a dica de ferramentas (pequenas mensagens exibidas quando se passa o cursor sobre uma área). São adicionadas às linhas do subtotal para o ajudar a ver facilmente a direcção de ordenação: ascendente ou descendente. Ler a documentação

4D Write Pro

Nova barra de ferramentas

Uma nova barra de ferramentas está disponível em 4D Write Pro para o ajudar no processo de criação de documentos. Ao simplesmente arrastar e largar um novo item da Biblioteca de Objectos, obtém acesso a uma barra de ferramentas completa com sete separadores diferentes para que possa alternar rapidamente entre acções. Ler a documentação

4D Write Pro folhas de estiloblank

Pode agora gerir as suas próprias folhas de estilo para parágrafos ou caracteres graças a um par de novos comandos que lhe permitem criar, apagar, e importar folhas de estilo. Uma folha de estilo de caracteres permite-lhe definir como um carácter (ou uma palavra) é exibido e impresso, enquanto que uma folha de estilo de parágrafo permite-lhe definir cores de margem, acolchoamento, separadores, margens, e muito mais. Uma folha de estilo é um objecto pertencente a um documento. É criada usando o comando WP Nova folha de estilo. Uma vez criada, pode usar este objecto como parâmetro para os atributos do WP Set. Abaixo está a lista dos novos comandos para o ajudar a manusear as folhas de estilo:

  • WP Nova folha de estilos: permite criar uma folha de estilos
  • WP DELETE STYLE SHEET: permite apagar uma folha de estilo
  • WP Obter folha de estilo: permite recuperar uma única folha de estilo pelo seu nome,
  • WP Get style sheets: preenche uma colecção de folhas de estilo de um determinado tipo, e finalmente,
  • WP IMPORT STYLE SHEETS: permite importar folhas de estilo existentes criadas noutro documento 4D Write Pro (como um modelo, por exemplo).

Ler a documentação

Converta os seus documentos para o formato .docx

Os documentos 4D Write Pro podem agora ser exportados em formato .docx. Para o fazer, usar a nova constante wk docx com o comando WP EXPORT DOCUMENT existente, ou usar o comando WP EXPORT VARIABLE. Ler a documentação

Redimensionar a largura da coluna blank

É fornecida uma funcionalidade out-of-the-box para permitir aos utilizadores finais redimensionar a largura das colunas. Passar o cursor sobre os separadores de linha e o cursor transformar-se-á numa seta dupla, mostrando que a coluna pode ser redimensionada. Ao clicar e arrastar estes separadores, tanto as colunas da esquerda como da direita serão redimensionadas. Se a tecla shift for premida durante o arrastamento, apenas as colunas esquerdas serão redimensionadas e todas as colunas direitas serão deslocadas. Ler a documentação

Adição e remoção de linhas e colunas blank

A gestão da inserção e eliminação de linhas e colunas é agora possível graças a quatro novos comandos: A fim de inserir linhas e colunas, foram criados dois novos comandos: Inserir linhas na Tabela WP e inserir colunas na Tabela WP. Ambos os comandos retornam intervalos que correspondem a partes criadas dentro da tabela. E a fim de remover linhas e colunas, estão disponíveis mais dois comandos: WP TABELA DELETE ROWS e WP TABELA DELETE COLUMNS. Ler a documentação

Altura fixa para cabeçalhos e rodapés blank

Um novo atributo de documento: o cabeçalho e o rodapé de página estão disponíveis para determinar se os cabeçalhos e rodapés devem ser redimensionados automaticamente para evitar a truncatura do seu conteúdo. Este atributo pode ser definido como Verdadeiro ou Falso. No caso de documentos recentemente criados, este parâmetro será definido para Verdadeiro (os cabeçalhos e rodapés auto-dimensionados serão activados), e para Falso se for importado um documento Write Pro 4D. Ler a documentação

Criar cabeçalhos e rodapés com código

Dois novos comandos foram adicionados: WP Novo cabeçalho e WP Novo rodapé para permitir a criação programática de cabeçalhos e rodapés. Também se pode usar código para apagar um cabeçalho e um rodapé com os comandos WP DELETE HEADER e WP DELETE FOOTER. Ler a documentação

4D Régua vertical Write Pro

É acrescentada uma nova régua vertical. Permite aos utilizadores gerir graficamente as margens verticais. Se o seu documento contém cabeçalhos ou rodapés, os espaços entre eles e o corpo do documento também podem ser modificados com a régua vertical. A nova propriedade Mostrar régua vertical está disponível na Lista de propriedades, permitindo-lhe permitir a exibição da régua. Leia a documentação

Layout da página

Pode definir o tamanho da página do seu documento, orientação, e margens com código. Novos atributos que podem ser utilizados com os comandos WP SET ATTRIBUTES e WP GET ATTRIBUTES estão à sua disposição. Pode definir as propriedades para um documento inteiro 4D Write Pro. Os seguintes valores são utilizados por defeito para todas as secções do documento que pode depois ser alterado para uma determinada secção:

  • wk largura da página, wk altura da página – para tamanho da página
  • wk orientação da página – para orientação da página
  • wk margem de página, wk margem de página esquerda, wk margem de página direita, wk margem de página superior, wk margem de página inferior – para margens de página. Ler a documentação

Novos atributos para evitar viúvas, órfãos, e quebras de página

Novas opções foram adicionadas ao 4D Write Pro para o ajudar a evitar viúvas e órfãos para parágrafos ou tabelas, e quebras de página dentro de parágrafos ou tabelas.

Viúvas e órfãos são as linhas no início ou no fim de um parágrafo que são deixadas sozinhas na parte superior ou inferior de uma página. A fim de as evitar, tem um novo atributo a utilizar com o comando WP SET ATTRIBUTES : wk evitar viúvas e órfãos. Os valores disponíveis para este atributo são wk verdadeiro ou wk falso. Quando este atributo é definido para um parágrafo ou tabela, 4D Write Pro impede que este parágrafo ou tabela tenha uma única linha separada noutra página.

Quanto a quebras de página dentro de parágrafos ou tabelas, está disponível um novo atributo: wk quebra de página dentro. Os valores disponíveis são wk evitar ou wk auto. Esta opção é útil quando não se quer que um parágrafo, vários parágrafos, ou uma tabela se quebre em duas páginas. Ler a documentação

Gerir secções com código

Uma secção permite-lhe obter diferentes layouts dentro do mesmo documento. Por exemplo, para cada secção, pode definir um tamanho e orientação de papel diferente, margens diferentes, cabeçalhos e rodapés diferentes, e assim por diante. Isto resulta em documentos complexos e de belo design. As secções podem ser manipuladas por código com o comando WP Obter secções, permitindo-lhe recuperar uma colecção de secções no seu documento. O comando WP Get section pode ser utilizado para recuperar a secção actual. Para alterar os atributos de uma secção específica, pode passar a referência da secção para os comandos WP SET ATTRIBUTES e WP GET ATTRIBUTES. Também pode criar subsecções com código usando o novo comando WP Create subsection. Ler a documentação

Paginação de tabelas

As tabelas grandes são agora automaticamente exibidas em mais do que uma página. Não é necessário contar linhas para verificar o tamanho de uma página ou a sua orientação, uma vez que as tabelas são divididas dinamicamente quando ocorre uma quebra de página ou de coluna. O comando WP INSERT BREAK foi actualizado para suportar uma nova constante: quebra de parágrafo wk. Ler a documentação

Expressões 4D suportadas em imagens ancoradas

Uma expressão 4D válida pode ser associada a uma imagem ancorada com o novo atributo de expressão de imagem wk, proporcionando ainda mais flexibilidade. Basta estabelecer esta constante para qualquer imagem ancorada para definir um método que devolva uma imagem. Ler a documentação

Obter coordenadas num documento 4D Write Pro

Agora pode obter coordenadas num documento 4D Write Pro. O comando WP Get position retorna mais informações sobre a posição actual de um intervalo ou uma referência de elemento usando dois novos atributos: bounds e rangeHeight. O primeiro atributo descreve o rectângulo que envolve um intervalo de acordo com o seu tipo (ou “tipo por defeito” (caracteres), “tipo de parágrafo”, “tipo de tabela” ou “tipo de imagem”). Também tem atributos próprios: superior, inferior, esquerda e direita. O segundo atributo descreve a altura do rectângulo de limite do objecto. Ler a documentação

Estrutura virtual

A tabela e as expressões de campo inseridas nos documentos 4D Write Pro suportam agora a definição da estrutura virtual da base de dados. Isto é feito com os comandos SET TABLE TITLES(…;*) e SET FIELD TITLES(…;*). O editor de fórmulas também suporta a estrutura virtual, e uma vez que 4D define automaticamente a interface do utilizador com base nas definições do sistema, o editor de fórmulas será exibido no idioma do utilizador. Ler a documentação

Ligações num documento 4D Write Pro

WP SET LINK permite-lhe definir URLs e também lhe dá a capacidade de invocar um método da sua aplicação 4D (com parâmetros) ou marcadores de destino do seu documento. O novo comando WP Get links retorna uma colecção de todas as ligações de um documento, numa única chamada. Cada ligação da colecção é um objecto com uma descrição da ligação nos seus atributos. Leia a documentação

Propriedades de visualização do cabo

As propriedades de visualização podem ser tratadas por programação. O comando WP SET VIEW PROPERTIES permite definir dinamicamente uma ou mais propriedades de visualização da área 4D Write Pro. As definições podem ser devolvidas num objecto com todas as propriedades de visualização através do comando WP Get view properties. Ler a documentação

Definições dos separadores

Os separadores podem ser definidos com uma colecção de cordas, valores numéricos, ou mesmo uma colecção de objectos! Se necessitar apenas de modificar os valores padrão dos separadores, pode utilizar um objecto com a nova constante padrão do separador wk (adicionada especificamente para este fim). Leia a documentação

Mais alvos e comandos renomeados

Os comandos listados abaixo foram alargados para aceitar qualquer tipo de alvo como o primeiro parâmetro. Ainda podem utilizar um intervalo, mas agora também podem utilizar uma referência (cabeçalho, corpo, rodapé), um elemento (imagem, parágrafo), ou o documento inteiro como alvo:

  • TEXTO WP SET
  • RUPTURA DA INSERÇÃO DO WP
  • WP INSERIR DOCUMENTO
  • WP INSERIR IMAGEM
  • WP Tabela de inserção
  • ATRIBUTOS DO CONJUNTO WP
  • WP OBTER ATRIBUTOS

Além disso, vários comandos foram renomeados:

Nome anterior Novo nome
WP Criar intervalo de parágrafos WP Gama de parágrafos
WP Criar gama de imagens WP Gama de imagens
WP Criar gama Gama de textos WP
WP Criar gama de mesas Gama de tabelas WP
WP Obter gama de marcadores de livros WP Gama de marcadores de livros
WP Obter selecção Gama de selecção WP

Ler documentação

4D Ver Pro

Trabalhar com documentos .xlsx utilizando o 4D View Pro

Os comandos existentes 4D View Pro , VP IMPORT DOCUMENT e VP EXPORT DOCUMENT, foram melhorados. Agora suportam ficheiros usando a extensão .xlsx (Microsoft Excel). Pode simplesmente passar o seu caminho de ficheiro para os comandos para se pôr a funcionar. Leia a documentação

Uma barra de ferramentas ao estilo de uma fita rica em características

É fornecida uma poderosa barra de ferramentas ao estilo de fita para melhorar a interface de utilizador 4D View Pro. Permite organizar as funcionalidades do 4D View Pro num conjunto de separadores, para aumentar a capacidade de descoberta de funções e permite o acesso rápido a diferentes comandos. Vale a pena mencionar que esta barra de ferramentas também introduz novas funções tais como PDF e opções de exportação CSV. Leia a documentação

Utilizar métodos e campos de base de dados

A segurança da sua base de dados é reforçada, uma vez que agora tem ainda mais controlo sobre os dados que escolhe disponibilizar (ou não) aos seus utilizadores finais, bem como quais os campos ou métodos que permitem o acesso.

Comandos e variáveis não podem ser chamados directamente de uma célula por razões de segurança, mas podem ser acedidos através de métodos permitidos que devolvem o valor do comando ou da variável. Os métodos podem ser autorizados com o comando SET ALLOWED METHODS, tabelas, ou campos que podem ser declarados como estruturas virtuais com os comandos SET TABLE TITLES e SET FIELD TITLES. As variáveis, assim como os comandos 4D, devem ser contidos num método permitido. Ler a documentação

Obtenha controlo sobre as definições do seu método 4D

VP SET ALLOWED METHODS é um novo comando que lhe permite especificar os parâmetros, nome, tipo, e incluir um resumo de um método 4D. Agora os seus métodos podem ser mais informativos e descritivos para os utilizadores finais. Leia a documentação

Impressão e exportação de PDF blank

Agora pode definir opções específicas de impressão para cada folha com o comandoVPSET PRINT INFO . Estas opções são utilizadas para preparar o documento antes de uma exportação ou impressão de PDF. Agora, para exportar um documento em formato PDF, pode usar o comando VP EXPORT DOCUMENT . A informação do VP PRINT INFO será utilizada para incorporar automaticamente todas as fontes utilizadas no seu documento, no ficheiro PDF gerado. Ao imprimir, o comando VP PRINT pode ser utilizado. Leia a documentação

Converter para SVG blank

O comando VP Converter para imagem permite-lhe converter uma folha ou parte de uma folha para SVG. O SVG pode então ser utilizado dentro de um formulário 4D para ser impresso como parte de um trabalho de impressão 4D, juntamente com outros formulários ou dados. Ler a documentação

Acrescentar novos eventos à lista de propriedades blank

Um novo conjunto de eventos do formulário 4D View Pro está disponível e listado na lista de propriedades. Eles devolvem informações especiais que podem ser acedidas com o comando FORMULÁRIO Evento: “On Column Resize”, “On Row Resize”, “On Clicked”, “On Double Clicked”, “On Header Click”, “On Selection Change”, e “On After Edit”. Quando o evento ocorre, todas as informações associadas podem ser recuperadas do objecto devolvido pelo comando FORMAR Evento. Ler a documentação

Codificar um intervalo em 4D View Pro

A criação de gamas através de código é agora possível. Estão disponíveis novos comandos que lhe permitem definir um objecto de intervalo para manipular as suas células: VP Cell, VP Cells, VP Column, VP Row, VP All, VP Combine ranges, e VP Name .Leia a documentação

Obter e definir o conteúdo da célula

Está disponível um novo conjunto de comandos para preencher os seus documentos através de programação: VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula. Ler a documentação

Diga as suas gamas e fórmulas

Introduz-se um novo conceito: gamas nomeadas e fórmulas. É possível criar dois tipos de nomes com programação:

O primeiro refere-se a uma gama de células onde se pode aplicar um nome legível às células que lhe interessam com o comando VP ADD RANGE NAME.

O segundo refere-se a uma fórmula com o comando VP ADD FORMULA NAME para substituir os cálculos por nomes legíveis nas suas folhas de cálculo. Também cria uma constante e simplifica a leitura dos cálculos na sua folha de cálculo. Leia a documentação

Gerir as selecções e a célula activa

Um conjunto de comandos está incluído para o ajudar a definir e obter a célula ou selecção(ões) activa(s) nos seus documentos:

  • VP Adquira a célula activa
  • VP Obter selecção
  • CONJUNTO VP CÉLULA ACTIVA
  • SELECÇÃO DO CONJUNTO VP
  • VP ADICIONAR SELECÇÃO
  • SELECÇÃO VP RESET

Se quiser ver uma célula numa posição específica na sua área 4D View Pro(por exemplo , superior esquerda ou inferior direita), pode usar o comando VP SHOW CELL . Leia a documentação

Usar colecções para ler e escrever em 4D View Pro

Quatro novos comandos estão disponíveis para lhe permitir ler um grande número de valores ou fórmulas diferentes de forma mais fácil, mais rápida e, ao mesmo tempo, através de colecções: VP SET VALUES, VP Get values, VP SET FORMULAS, e VP Get formulas. Para definir valores ou fórmulas em células, basta criar uma colecção onde cada elemento representa uma linha. Cada linha é uma colecção de valores de células a serem definidos nas colunas. Para a leitura, pode passar um intervalo de células para VP Get valores. O comando retorna os valores nas colecções correspondentes. Ler a documentação

Personalização de estiloblank

Pode programar o estilo dos seus documentos 4D View Pro. Estão disponíveis três opções diferentes. Pode utilizar o:

  • comandos de estilo padrão para definir o estilo geral de uma folha com os comandos VP SET DEFAULT STYLE e VP Get default style, ou
  • comandos da folha de estilos para definir estilos personalizados frequentemente utilizados com os comandos VP ADD STYLESHEET, VP REMOVE STYLESHEET, VP Get stylesheet, e VP Get stylesheets , ou
  • comandos de estilo de célula para definir o estilo de células específicas com os comandos VP SET CELL STYLE e VP Get cell style.

Também foi adicionado o novo comando VP SET BORDER para que possa gerir as fronteiras de uma gama. Ler a documentação

Solicitações R em profundidade