O que há de novo em 4D v18 R3

Tradução automática de Deepl

Características relacionadas com a programação

Aulas

4D v18 R3 introduz um novo conceito à linguagem 4D: as classes. Uma classe permite definir o comportamento de um objecto através de propriedades e funções. Uma vez definida uma classe, é possível instanciar objectos desta classe em qualquer parte do seu código. Cada objecto é uma instância da sua classe. As classes podem estender outras classes, e depois herdar das suas funções.

Dois tipos de classes estão disponíveis em 4D: classes 4D incorporadas (devolvidas pelo comando 4D ) e classes de utilizador (devolvidas pelo comando cs ).

Para criar um objecto como instância de uma classe, usar o comando cs com a função de novo membro. Outro termo importante a conhecer é: construtor. O construtor é utilizado para criar e instanciar um objecto com atributos predefinidos. É chamado automaticamente quando um objecto é inicializado. A criação de uma classe é feita a partir do menu “Novo” na barra de ferramentas, ou a partir do diálogo “Explorador”. Será exibido um editor de classes onde se pode criar o construtor de classes e funções.

Herança de Classe

A herança permite a uma classe herdar o comportamento de outra classe (a classe mãe ). Para herdar de uma classe de utilizador para outra, use a Classe estende a palavra-chave e o construtor da classe pai é automaticamente chamado (se não tiver definido um construtor específico para a classe filha ). Também pode usar o comando Super para chamar o construtor da classe pai.

Múltiplos servidores web numa única instância 4D

4D v18 R3 permite iniciar e monitorizar um servidor web para a base de dados principal (hospedeiro), bem como cada componente hospedado. O novo comando servidor WEB permite gerir servidores web dentro de objectos separados para cada servidor. Também aceita um parâmetro opcional para definir qual o servidor a utilizar:

  • Servidor de base de dados web – para manipular o servidor web actual da base de dados (a base de dados anfitriã ou a base de dados de componentes, dependendo de onde o comando é chamado)
  • Servidor de base de dados anfitrião da Web – para manipular o servidor de base de dados anfitrião a partir de um componente
  • Servidor de recepção de pedidos web – para manipular o servidor web que recebe um pedido, num método comum de gestão de servidores web, por exemplo.

Estão disponíveis dois métodos de membros para iniciar e parar o servidor web: start() e stop(). Para obter uma lista dos servidores web disponíveis, o novo comando de lista de servidores web devolve uma colecção de objectos correspondente a todos os servidores web disponíveis para a base de dados anfitriã.

Suporte melhorado de XPath

Começando em 4D v18 R3, a implementação de XPath é mais compatível e simplifica a sua pesquisa, permitindo o apoio de expressões como //, @, *, e last(). Por razões de compatibilidade, a implementação anterior, não normalizada, é mantida por defeito nas bases de dados convertidas. Para tirar partido das características alargadas nas suas bases de dados convertidas, seleccione a opção Usar compatibilidade padrão XPath na página Compatibilidade.

Melhorias em objectos e colecções

O comando OB Copy() e o método de membro da colecção.copy( ) foram melhorados em 4D v18 R3. Agora dão-lhe a capacidade de adicionar um objecto padrão num objecto ou colecção partilhada, a fim de evitar código complexo para copiar o conteúdo do objecto padrão para o objecto ou colecção partilhada. Além disso, estão disponíveis novos comandos para manusear objectos como mapas hash:

  • Chaves OB: devolve os nomes de propriedade de um objecto como uma colecção.
  • Valores OB: devolve os valores de propriedade de um objecto como uma colecção
  • OB Entradas: devolve uma colecção de objectos com propriedades chave (nome da propriedade) e valores (valor da propriedade).

Criar uma área web fora do ecrã

4D v18 R3 permite-lhe utilizar uma área web em modo offscreen com o comando WA Run offscreen area. Cria uma área web na memória e toma, em parâmetro, toda a informação pertinente para a área web, tal como :

  • O URL a carregar
  • O nome da zona
  • A fórmula chamada quando um evento é atirado pela área web

E para simplificar a depuração de uma área web fora do ecrã, foi acrescentado um novo comando: WA OPEN WEB INSPECTOR. Abre o inspector web e permite verificar se a página está correctamente carregada ou se o seu código JavaScript contém erros.

Administração do servidor 4D

Monitor 4D Actividade do servidor

Para descobrir que operações estão a causar lentidão num servidor, 4D v18 R3 fornece um novo comando: INICIAR A ACTIVIDADE DE MONITORIZAÇÃO. Regista operações que excedem uma duração especificada utilizando dois parâmetros: a duração e a operação a monitorizar. Com base nas especificações definidas por este comando, pode também obter todas as actividades registadas com o comando Get Monitored Activity(). Assim que decidir parar de registar a actividade da sua aplicação 4D ou esvaziar a lista de actividades, chame o comando STOP MONITORING ACTIVITY ().

ORDA

Novos métodos de selecção de entidades

Os novos métodos de membros estão à sua disposição em 4D v18 R3:

  • extract(): para extrair dados de uma selecção de entidade. Isto permite-lhe construir uma colecção totalmente personalizada com os dados de selecção da sua entidade. Pode especificar os atributos de classe de dados que deseja extrair e os seus nomes na colecção resultante.
  • refresh(): invalida os dados de selecção da entidade na cache ORDA. Aciona uma actualização a partir do servidor na próxima vez que utilizar os dados. Por defeito, a cache ORDA expira após 30 segundos, por isso use este método de membro no caso de necessitar de dados actualizados imediatamente.

Selecção da linha da caixa de listagem

4D v18 R3 fornece um novo comando que facilita a selecção de filas numa selecção de entidade: CAIXA DE LISTAGEM SELECCIONA AS LINHAS. Aceita uma selecção de entidade como parâmetro e as linhas correspondentes à selecção da entidade podem ser seleccionadas intuitivamente (incluindo as linhas adicionadas ou removidas da selecção). E para caixas de listagem de colecções, pode passar uma colecção contendo as referências de objectos que deseja seleccionar.

Base de dados do projecto

Documentação do método

A partir de 4D v18 R3, pode escrever a sua própria documentação para os métodos de projecto, base de dados, gatilho, projecto e formulário de tabela. A documentação é guardada num ficheiro Markdown com o mesmo nome que o método ou formulário numa pasta de documentação. Markdown é um formato padrão para documentação e permite estilos de formatação melhorados. O formato pode ser exibido no Explorador 4D, no GitHub, ou noutras ferramentas. A documentação pode conter uma descrição de um elemento, assim como qualquer informação necessária para compreender como o elemento funciona na base de dados. Para criar ou editar o ficheiro de documentação numa base de dados de projectos, a partir do Explorador, clicar no botão “Criar” ou seleccionar o item de menu “Editar Documentação”. 4D cria o ficheiro correspondente e abre-o no seu editor predefinido com um modelo pré-definido.

Definir o tamanho para a fonte automática

4D fornece três temas de fontes automáticas que respeitam as directrizes de cada plataforma. 4D v18 R3 permite-lhe anular o tamanho destes temas automáticos e ter mais controlo sobre a forma como o seu texto é exibido.

4D para iOS

Modelos prontos a usar

40+ modelos prontos a usar estão à sua disposição, acessíveis através do editor do projecto. A galeria é baseada numa lista dinâmica de modelos actualizados disponíveis no GitHub. Para utilizar um modelo, um íconeMais” está disponível tanto para formulários de lista como para formulários de detalhe que exibirão toda a lista de modelos a partir da secção de Formulários. Seleccionar o modelo e 4D para iOS irá tratar da instalação. Como passo final, pode melhorá-lo de acordo com as suas necessidades.

Emails

Descarregar e-mails em formato MIME

4D v18 R3 fornece um comando para lhe permitir armazenar e-mails no seu formato original, não convertido, recebido. Usando o método POP3_transporter.getMIMEAsBlob( ), pode obter um BLOB contendo o conteúdo MIME para uma mensagem específica, que pode ser guardado na sua base de dados ou noutro local.

4D Write Pro

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

4D v18 R3 acrescenta novas acções padrão ao 4D Write Pro, direccionando tabelas, filas, e células. Permitem definir o tipo de margem de uma tabela, a cor de fundo de uma célula, o alinhamento vertical do texto numa linha, o alinhamento da própria tabela dentro do documento, as margens, o acolchoamento, e 40+ outras opções. Consequentemente, a interface do 4D Write Pro tem sido ehanced em termos de capacidade de processamento da tabela. Quatro novos botões foram adicionados para alterar o aspecto das tabelas, linhas, colunas e células.

Apoio de atributo protegido

Em 4D v18 R3, as partes designadas dos documentos 4D Write Pro (ou todas as partes) podem ser “não editáveis”. Estão disponíveis dois níveis de protecção. Primeiro, definir que parte dos documentos será protegida (por defeito, todas as partes são protegidas). Em seguida, activar a bandeira de protecção do documento para que as definições que fez sejam tidas em conta. Para tal, dois novos atributos estão disponíveis para serem utilizados com o comandoWPSET ATTRIBUTES : wk protegido (pode ser definido para quase qualquer tipo de alvo pertencente a um documento), e wk protecção activada (activa ou desactiva a protecção global do documento).

4D Ver Pro

Mais opções para personalizar as folhas de trabalho

Um novo comando, VP SET SHEET OPTIONS, está disponível para definir várias opções de folhas de uma área 4D View Pro. Por exemplo, este comando permite-lhe:

  • proteger uma folha de trabalho, impedindo que as células dentro dela sejam editadas,
  • personalizar as cores dos separadores da sua folha de trabalho, linhas congeladas, linhas de grelha, ou o fundo e borda de uma selecção,
  • gerir a visibilidade das linhas de grelha de uma folha de trabalho, e cabeçalhos de linhas / colunas.

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