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;