For-uttryck

Ett for-uttryck är en villkorligt iterativ sats eller slinga.

Ett for-uttryck är särskilt lämpligt när ovillkorlig upprepning behövs i slingor. Omvänt är det oftast bäst att använda ett while-uttryck i situationer där villkorlig upprepning behövs.

For-uttryckets värde är värdet för den senaste utvärderingslistan som utvärderats, eller falskt (0).

For-villkoret initierar en FormCalc-variabel som styr slingan.

I upto-varianten upprepas värdet för slingvariabeln från startuttrycket till slututtrycket i stegningsökningar. Om du utelämnar stegningen får stegningsökningen standardvärdet 1.

I downto-varianten upprepas värdet för slingvariabeln från startuttrycket till slututtrycket i stegningsminskningar. Om stegningen utelämnas får stegningsminskningarna standardvärdet -1.

Iterationer av slingan styrs av värdet för slututtrycket. Före varje upprepning utvärderas slututtrycket och jämförs med slingvariabeln. Om resultat blir sant (1) utvärderas uttryckslistan. Efter varje utvärdering utvärderas stegningen och läggs till i slingvariabeln.

Före varje upprepning utvärderas slututtrycket och jämförs med slingvariabeln. Dessutom utvärderas stegningen efter varje utvärdering av do-villkoret och läggs till i slingvariabeln.

En for-slinga avslutas när startuttrycket överstiger slututtrycket. Startuttrycket kan överstiga slututtrycket i riktning uppåt, om du använder upto, eller i riktning nedåt, om du använder downto.

Uttryck

Syntax

Returnerar

For

for variable = start expression 
    (upto | downto ) end expression 
        (step step expression ) do 
    expression list 
endfor

Start- och slututtrycken och stegningen måste alla vara enkla uttryck.

Resultatet av listan med uttryck som är kopplad till do-villkoret.

I följande exempel läggs värdena för elementen till från en XML-fil på en nedrullningsbar lista med metoden addItem för alla XML-element som listas under list1:

    var List = ref(xfa.record.lists.list1) 
    for i=0 upto List.nodes.length - 1 step 2 do 
    $.addItem (List.nodes.item(i).value,"") 
    endfor