Nova sintaxe de declaração para um auto-completamento intuitivo

Tradução automática de Deepl

Já alguma vez se interrogou sobre a função de auto-completar 4D ou se perguntou por que razão 4D sugere todas as funções utilizadas no código? Uma vez que um objecto é um tipo muito genérico, o 4D só sabe o que está realmente a armazenar em tempo de execução. Contudo, isso não ajuda muito quando se está a escrever o código.

4D oferece agora uma nova sintaxe alternativa que melhorará muito a auto-completação ao declarar as suas variáveis.

A nova sintaxe é muito simples e consiste na palavra-chave “var”, o nome da variável, e o seu tipo.

var <variableName> : <type>

Pode declarar variáveis tanto com a sintaxe clássica como com a nova sintaxe na mesma base de dados.

Para tipos de dados

Esta sintaxe pode ser usada para definir tipos de dados variáveis. Seguem-se alguns exemplos que mostram a correspondência entre ambas as sintaxes para variáveis de tipos de dados de texto, numéricos, e de imagem.

Sintaxe anterior

C_TEXT($text1;$text2)
C_LONGINT (
$num)
C_PICTURE ($pict)

Nova sintaxe

var $text1; $text2: Text
var $num : Integer
var $pict : Picture

Para classes de utilizadores

A ideia das aulas foi introduzida em 4D v18 R3. Se ainda não o fez, deve ler este post no blogue.

Até agora, todas as instâncias de uma classe eram declaradas como um objecto. Agora com a nova sintaxe, pode definir a que instância de classe pertence o seu objecto usando o comando cs e o nome da sua classe. Isto dá-lhe acesso às funções e atributos da classe.

Sintaxe anterior

C_OBJECT($person)
$person :=cs.Person.new()

Nova sintaxe

var $person : cs.Person
$person :=cs.Person.new()

Para classes 4D

Objectos tais como File ou Folder são objectos pertencentes a classes 4D internas. Pode aceder a eles com o comando 4D.

Sintaxe anterior

C_OBJECT($folder)
$folder :=Folder(Current resource folder)

Nova sintaxe

var $folder : 4D.Folder
$folder :=Folder(Current resources folder)

blank

E a ORDA?

Num post de blog anterior, mostrámos-lhe que pode anular as classes ORDA (Dataclass, Entity, and Entity selection) com as suas próprias classes. Também pode usar esta nova sintaxe para desfrutar da auto-completação.

Sintaxe anterior

C_OBJECT($dataclass)
C_OBJECT (
$entity)
C_OBJECT ($entitySelection)

Nova sintaxe

var $dataclass : cs.Company
var $entity : cs.CompanyEntity
var $entitySelection : cs.CompanySelection

blank

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.