Använd en av slingstrukturerna för att successivt upprepa samma grupp av kommandon. Det finns flera typer av slingor. Varje typ ger dig ett visst sätt att gå ur slingan, baserat på ett villkorligt test.
Slingor och slingrelaterade kommandon finns på Programeditorns Control- och Transfers-menyer.
När du infogar en av slingstrukturerna infogas dess mall vid markören. Du kan sedan börja mata in de kommandon som skall exekveras inom slingan.
En For...EndFor-slinga använder en räknare för att kontrollera antalet gånger slingan upprepas. Syntaxen för For-kommandot är:
Obs: Slutvärdet kan vara mindre än startvärdet, förutsatt att inkrementet är negativt.
| For | variabel, | start, | slut [, | inkrement] |
|
|
À |
Á |
 |
à |
|
À |
Variabel används som räknare. |
|
Á |
Räknarvärdet som används första gången For exekveras. |
|
 |
Går ur slingan när variabel överskrider detta värde. |
|
à |
Läggs till i räknaren varje gång For exekveras (om detta valfria värde utelämnas är inkrement 1). |
När For exekveras jämförs variabel-värdet med slut-värdet. Om variabel-värdet inte överskrider slut-värdet exekveras slingan. I annat fall hoppar kontrollen till det kommando som kommer efter EndFor.
Obs: For-kommandot inkrementerar automatiskt räknarvariabeln så att funktionen eller programmet kan gå ur slingan efter ett visst antal upprepningar.
I slutet av slingan (EndFor) hoppar kontrollen tillbaka till For-kommandot där variabeln inkrementeras och jämförs med slut-värdet.
Till exempel:
|
For i,0,5,1 Disp i À EndFor Disp i Á |
|
À |
Visar 0, 1, 2, 3, 4 och 5. |
|
Á |
Visar 6. När variabel inkrementeras till 6 exekveras inte slingan. |
Obs: Du kan ange räknarvariabeln som lokal om den inte behöver sparas när funktionen eller programmet stoppas.
En While...EndWhile-slinga upprepar ett block av kommandon så länge ett specificerat villkor är sant. Syntaxen för While-kommandot är:
While villkor
När While exekveras utvärderas villkor. Om villkor är sant exekveras slingan. I annat fall hoppar kontrollen till det kommando som kommer efter EndWhile.
Obs: While-kommandot ändrar inte villkoret automatiskt. Du måste inkludera kommandon som låter funktionen eller programmet gå ur slingan.
I slutet av slingan (EndWhile) hoppar kontrollen tillbaka till While-kommandot där villkoret utvärderas på nytt.
För att exekvera slingan första gången måste villkoret initialt vara sant.
| • | Alla refererade variabler i villkoret måste ställas in före While-kommandot. (Du kan bygga in värdena i funktionen eller programmet eller också kan du uppmana användaren att mata in värdena.) |
| • | Slingan måste innehålla kommandon som ändrar värdena i villkoret så att det till slut blir falskt. I annat fall är villkoret alltid sant och funktionen eller programmet kan inte gå ur slingan (kallas en oändlig slinga). |
Till exempel:
|
0&x À While x<5 Disp x Á x+1&x  EndWhile Disp x à |
|
À |
Ställer initialt in x. |
|
Á |
Visar 0, 1, 2, 3 och 4. |
|
 |
Inkrementerar x. |
|
à |
Visar 5. När x inkrementeras till 5 exekveras inte slingan. |
En Loop...EndLoop skapar en oändlig slinga som upprepas i all oändlighet. Loop-kommandot har inga argument.
Normalt infogar du kommandon i slingan som låter programmet gå ur slingan. Kommandon som ofta används är: If, Exit, Goto och Lbl (märka). Till exempel:
|
0&x Loop Disp x x+1&x If x>5 À Exit EndLoop Disp x Á |
|
À |
Ett If-kommando kontrollerar villkoret. |
|
Á |
Går ur slingan och hoppar hit när x inkrementeras till 6. |
Obs: Exit-kommandot går ur den aktuella slingan.
I detta exempel kan If-kommandot finnas var som helst i slingan.
|
När If-kommandot är: |
Så: |
|
I början av slingan |
Exekveras slingan endast om villkoret är sant. |
|
I slutet av slingan |
Exekveras slingan minst en gång och upprepas endast om villkoret är sant. |
If-kommandot kan även använda ett Goto-kommando för att överföra programkontroll till ett specificerat Lbl-kommando (märka).
Kommandot Cycle överför omedelbart programkontroll till nästa upprepning av en slinga (innan den aktuella upprepningen är slutförd). Detta kommando fungerar med For...EndFor, While...EndWhile och Loop...EndLoop.
Trots att kommandona Lbl (märka) och Goto i egentlig mening inte är slingkommandon kan de användas för att skapa en oändlig slinga. Till exempel:
I likhet med Loop...EndLoop skall slingan innehålla kommandon som låter funktionen eller programmet gå ur slingan.