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.
