Var e Let

Sia var sia let servono a dichiarare una variabile. A differenza di JavaScript, in Ninox non c'è alcuna differenza di ambito di visibilità tra let e var.

Il tipo della variabile dipende dal tipo di valore che le viene assegnato:

var t := "my text";
var b := false;
var n := 10;

Una variabile può essere dichiarata più volte nello stesso codice. In tal caso conserva il tipo e il valore assegnati fino a quando non si raggiunge la nuova dichiarazione:

var b := true;
dialog("Message 1", "Value of b: " + b, ["ok"]);
var b := 12;
dialog("Message 2", "Value of b: " + b, ["ok"]);

Confusione tra nomi di variabile e ID di tabelle o campi

Ninox salva il codice in un formato leggermente diverso da quello mostrato a schermo: i nomi dei campi e delle tabelle sono sostituiti dai loro ID, che sono delle lettere.

Per esempio, lo script seguente, che calcola la somma degli articoli venduti:

sum('Invoice Items'.Total)

sarà salvato nel codice di sistema così, dove D è l'ID della tabella 'Invoice Items' ed E è l'ID del campo Total:

sum(D.E)

In questo contesto, se viene creata una variabile D, il compilatore può confondersi: nel codice di sistema seguente non sarebbe chiaro se D.E si riferisca a una tabella o alla variabile D dichiarata prima:

(var D := "hello"; sum(D.E))

Per evitare questa confusione, alle variabili conviene dare nomi che difficilmente coincidano con ID o nomi di tabelle e campi. È per questo che le variabili prendono spesso nomi brevi e minuscoli (per esempio a, b o c), così da non essere confuse con gli ID.