Novidades em 4D v18 R3

Funcionalidades de programação

Classes

4D v18 R3 introduz um novo conceito para a linguagem 4D: classes. Uma classe permite que defina o comportamento de um objeto através de propriedades e funções. Quando uma classe for definida, você pode instanciar/implementar objetos dessa classe em qualquer parte do código. Cada objeto é uma instância de sua classe. Uma classe pode se estender a outra classe qualquer, e então herdar suas funções.

Dois tipos de classes estão disponíveis em  4D: classes embebidas built-in 4D que são retornadas pelo comando 4D e as classes de usuário que são retornadas pelo comando cs.

Para criar um objeto que seja uma instância de uma classe, use o comando cs e a nova função membro new  Outro termo que é importante é o constructor, o constructor é usado para criar e instanciar um objeto com atributos padrão. É chamado automaticamente quando o objeto for iniciado. Criar uma classe é feito a partir do menu “New” da barra de ferramentas ou do diálogo “Explorer”. Um editor de classe é exibido, onde pode criar o construtor e as funções.

herança de Classe

A herança permite definir uma classe que herda o comportamento de outra classe. A classe parent (pai) é a classe da qual é herdada. Para herdar de uma classe para outra, use a palavra chave Class extends, então se não definir um constructor específico para a classe child, o constructor da classe parent é automaticamente chamado. Use o comando Super que permite que chame o constructor da classe pai.

 

MÚLTIPLOS servidores web em uma única instância 4D

Com 4D v18 R3, pode iniciar e monitorar um servidor web para o banco de dados principal (host) e também para cada componente hosted (hospedado). O novo comando WEB server permite que gerencie servidores web dentro de objetos separados para cada servidor. Também acessa um parâmetro opcional para definir que servidores vai usar:

  • Web database server para manipular o servidor web atual do banco de dados (o banco de dados host  ou o banco de dados componente dependendo de onde o comando é chamado)
  • Web host database server para manipular o servidor web host do banco de dados de um componente
  • Web request receiving server para manipular o servidor web que recebe uma petição, em um método comum de gerenciamento de web server, por exemplo.

Dois métodos membros estão disponíveis permitindo iniciar e parar o servidor web: start() e stop(). E se quiser listar um servidor web disponível, o novo comando WEB Server list retorna uma coleção de objetos correspondentes a todos os servidores web disponíveis para o banco de dados host.

 

compatibilidade XPath melhorada

A partir de 4D v18 R3, a implementação XPath tem maior conformidade e permite a compatibilidade de expressões tais como //, @, *, last() para simplificar suas pesquisas. Por razões de compatibilidade, as formas de implementação não padrão anteriores são mantidas por padrão em bancos de dados convertidos. Se quiser se beneficiar das propriedades estendidas em seus bancos de dados convertidos, precisa selecionar a opção de compatibilidade Use standard XPath da página Compatibility.

 

Melhorias objeto e coleção

Os métodos membros dos comandos OB Copy() e collection.copy() foram melhorados com 4D v18 R3. Agora oferecem a possibilidade para adicionar um objeto padrão respectivamente, em um objeto partilhado ou coleção para evitar códigos complexo que tenha a intenção de copiar o conteúdo do objeto padrão ao objeto ou coleção partilhadas. Além disso, novos comando para manejar um objeto como um mapa hash estão disponíveis:

  • OB Keys: retorna os nomes das propriedades de um objeto como uma coleção.
  • OB Values:  retorna os valores propriedade de um objeto como coleção
  • OB Entries:  retorna uma coleção de objetos com propriedades chave (nome propriedade) e valor (propriedade value).

 

 

Cria uma área web offscreen

Com 4D v18 R3 você pode usar uma área web em modo offscreen com o comando  WA Run offscreen area. Cria uma área web na memória e usa todas as informações úteis como parâmetros para a área web, como por exemplo:

  • A URL a carregar.
  • O nome da área.
  • A fórmula chamada quando um evento é jogado na área web.

Além disso, para facilitar a depuração com a área web offscreen, um novo comando foi adicionado: WA OPEN WEB INSPECTOR. Abre o web inspector e permite que verifique se a página foi corretamente carregada ou se o código javascript joga um erro.

administração de servidor 4D

atividade Monitoramento 4D Server

Para saber se uma operação causa lentidão em seu servidor, 4D v18 R3 criou um novo comando START MONITORING ACTIVITY que registra as operações que ultrapassam uma certa duração. Usa dois parâmetros, a duração e a operação a monitorar. Baseado nessas especificações estabelecidas pelo comando, é possível obter todas as atividades registradas com o comando Get Monitored Activity(). Quando quiser parar o registro da atividade da aplicação 4D,  ou quiser esvaziar a lista de atividades, chame o comando STOP MONITORING ACTIVITY.

 

ORDA

novos métodos de seleção de entidade

Novos métodos membros estão à sua disposição com 4D v18 R3:

  • O método membro extract(): para extrair dados de uma seleção entidade, permitindo que construa uma coleção totalmente personalizável com seus dados de seleção de entidade. pode especificar os atributos de dataclass que queira extrair e seus nomes na coleção resultante.
  • O método membro refresh(): invalida os dados de seleção de entidade na cache ORDA de modo que na próxima vez que usar os dados se ativa uma atualização do servidor. Como padrão, a cache ORDA expira depois de 30 segundos, então use este método membro caso precise de dados atualizados imediatamente.
 
 

selecionar linhas em List box

4D v18 R3 oferece um novo comando que facilita a seleção de linhas de seleção de uma entidade: LISTBOX SELECT ROWS, aceita uma seleção de entidade como um parâmetro, e linhas correspondentes à seleção de entidade podem ser selecionadas intuitivamente e também pode adicioná-as e removê-las das linhas selecionadas. Além disso no caso da list box de coleção, pode passar uma coleção contendo as referências de objetos que quiser selecionar ao comando.

banco de dados projeto

documentação do método

A partir de 4D v18 R3 e bancos de dados projeto, pode oferecer sua própria documentação para um método projeto, um  método banco de dados, um método trigger, um método projeto formulário e um método formulário tabela. A documentação é salva em um arquivo com o mesmo nome que os métodos ou formulários em uma pasta documentação. O novo formato da documentação é Markdown, que é um formato padronizado para documentação e permite estilos de formatação. O formato pode ser exibido em 4D Explorer, em GitHub ou em outras ferramentas. Os comentários podem conter uma descrição de um elemento assim como qualquer informação necessária para entender como o elemento funciona no banco de dados. Em um banco de dados projeto, para criar ou editar o arquivo documentação, a partir do explorer clique no botão “Create” ou selecione o item de menu “Edit Documentation”. 4D cria o arquivo correspondente e abre em seu editor padrão com um modelo pré-estabelecido.

Definir o tamanho de fonte para tamanho de fonte automático

4D oferece três temas automáticos que respeitam as guias de cada plataforma. 4D v18 R3 permite que modifique o tamanho dos temas automáticos e tenha mais controle sobre como seu texto será exibido.

 
 

4D for iOS

Modelos prontos para usar

Mais de 40 modelos prontos para usar estão à sua disposição, acessíveis do editor de projeto. A galeria é baseada em uma lista dinâmica de modelos atualizados disponíveis em GitHub. Para usar um modelo, um ícone More” está disponível para formulários lista e detalhe que exibem a lista completa de modelos a partir da seção Forms. Selecione o modelo,  4D for iOS lida com a instalação, e o último passo é personalizar para suas necessidades.

 

 

Emails

baixe seus emails em formato MIME

4D v18 R3 dispõe um comando que permite que armazene emails como são no original, formato recebido não convertido. Com o método POP3_transporter.getMIMEAsBlob( ), pode obter um  BLOB contendo o conteúdo MIME para uma mensagem específica, que pode então ser salvo em seu banco de dados ou outro lugar.

 

4D Write Pro

Novas ações padrão para tabelas e seus elementos

4D v18 R3 adicionou novas ações para 4D Write Pro. Seu escopo são tabelas, linhas e células. Permite que defina o tipo de tabela, a cor de fundo de uma célula, o alinhamento vertical do texto em uma linha, o alinhamento da própria tabela no documento, as margens, o preenchimento, e mais de 40 outras opções. Por isso, a interface de 4D Write Pro foi melhorada em termos das possibilidades de processamento de tabela. Quatro novos botões foram criados para mudar a aparência de tabelas, linhas, colunas e células respectivamente.

Compatibilidade de atributo protegido

Com 4D v18 R3, algumas partes de documentos 4D Write Pro (de todas as partes) podem ser “não-editável”. Dois níveis de proteção estão disponíveis, primeiro precisa definir que partes dos documentos serão protegidas ou não (como padrão, todas as partes são protegidas). Segundo, precisa ativar a bandeira de proteção do documento para que as configurações comecem a funcionar. Para isso, dois novos atributos foram criados para ser usados com o comando WP SET ATTRIBUTESwk protected  que pode ser estabelecido para quase qualquer tipo de escopo dependendo do documento, e wk protection enabled que ativa ou desativa a proteção global

 

4D View Pro

Mais opções para personalizar planilhas de cálculo

Um novo comando VP SET SHEET OPTIONS está disponível que permite definir várias opções de planilha de uma área 4D View Pro. Permite, por exemplo:

  • proteger uma planilha para prevenir que suas células sejam editadas,
  • personalizar as cores das abas da planilha, congelar linhas, criar linhas de grade, ou uma seleção de bordas e fundos,
  • gerenciar a visibilidade das linhas de grade da planilha e cabeçalhos de linhas e colunas.
 

Quer saber mais? Leia todos os blogs posts sobre 4D v18 R3