¿Se ha preguntado alguna vez por la función de autocompletado de 4D o se ha preguntado por qué 4D sugiere todas las funciones utilizadas en el código? Como un objeto es un tipo muy genérico, 4D sólo sabe lo que realmente almacena en tiempo de ejecución. Sin embargo, eso no ayuda mucho cuando está escribiendo su código.
4D ofrece ahora una nueva sintaxis alternativa que mejorará en gran medida el autocompletado al declarar sus variables.
La nueva sin taxis es muy simple y consiste en la palabra clave «var», el nombre de la variable y su tipo.
var <variableName> : <type>
Puede declarar variables con la sintaxis clásica y con la nueva en la misma base de datos.
Para los tipos de datos
Esta sintaxis puede utilizarse para definir los tipos de datos de las variables. A continuación se presentan algunos ejemplos que muestran la correspondencia entre ambas sintaxis para variables de tipos de datos de texto, numéricos y de imagen.
Sintaxis anterior
C_TEXT($text1;$text2)
C_LONGINT ($num)
C_PICTURE (
$pict)
Nueva sintaxis
var $text1; $text2: Text
var $num : Integer
var $pict : Picture
Para las clases de usuario
La idea de las clases fue introducida en 4D v18 R3. Si aún no lo ha hecho, debería leer esta entrada del blog.
Hasta ahora, todas las instancias de una clase se declaraban como un objeto. Ahora, con la nueva sintaxis, puede definir a qué instancia de clase pertenece su objeto utilizando el comando cs y el nombre de su clase. De este modo, podrá acceder a las funciones y atributos de la clase.
Sintaxis anterior
C_OBJECT($person)
$person :=cs.Person.new()
Nueva sintaxis
var $person : cs.Person
$person :=cs.Person.new()
Para las clases 4D
Los objetos como File o Folder son objetos que pertenecen a clases internas de 4D. Puede acceder a ellos con el comando 4D.
Sintaxis anterior
C_OBJECT($folder)
=
$folder :Folder(Current resource folder)
Nueva sintaxis
var $folder : 4D.Folder
$folder :=Folder(Current resources folder
)
¿Qué pasa con ORDA?
En una entrada anterior del blog, le mostramos que puede sobrescribir las clases OR DA (Dataclass, Entity y Entity selection) con sus propias clases. También puedes usar esta nueva sintaxis para disfrutar del autocompletado.
Sintaxis anterior
C_OBJECT($dataclass)
C_OBJECT ($entity)
C_OBJECT (
$entitySelection)
Nueva sintaxis
var $dataclass : cs.Company
var $entity : cs.CompanyEntity
var $entitySelection : cs.CompanySelection