Boucles for et while
Une boucle for sert à exécuter du code et/ou à renvoyer un tableau de valeurs. Le type du tableau renvoyé correspond au type de la dernière instruction située entre do et end.
Boucle for
Parcourir une plage de nombres :
for i from 1 to 10 do
i;
end;
Parcourir un tableau :
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
Parcourir les clés et les valeurs d'un objet JSON :
var config := {
sep: ",",
qut: """",
lf: "%0D%0A",
numberFormat: "point",
dateFormat: "locale",
header: true,
sepHeader: false,
encoding: "utf8"
};
for key, value in config do
key + " = " + value;
end;
Voyez comment manipuler les variables JSON dans Ninox : Variables spéciales / JSON.
Il est également possible de faire de même avec un enregistrement, mais il faut utiliser le NativeJS de Ninext pour transformer un enregistrement (nid) en JSON :
var rec := (first(select Customer));
"Transforming a record into a JSON object"
var config := #{:any return rec}#;
for fieldName, value in config do
fieldName + " = " + value;
end;
Cette approche peut servir à exporter tous les champs d'une table vers des formats comme le CSV.
Boucle while
Les boucles While sont simples et ne renvoient aucune valeur. Elles servent uniquement à effectuer des tâches répétitives et ne peuvent pas servir à construire des tableaux.
Exemple :
var a := 1;
while a < 10 do
a := a + 1;
end;
