Vbs - cicluri, script de bază vizuală

Cicluri. Ciclurile sunt una dintre piesele cele mai utile, care permit să nu se umfle codul pe mai multe linii. Deci merită să le luăm în considerare. Să începem, ca de obicei, din cele mai simple. Din ciclul FOR ... NEXT

Această construcție este cea mai simplă.

n este variabila contorului de buclă. Lungimea ciclului (în acest caz de la 1 la 10) este indicată spre dreapta. Ciclul se termină cu fraza NEXT. Tot ceea ce este cuprins între FOR și NEXT va fi executat de câte ori este specificat (de 10 ori, în acest caz).

De asemenea, puteți seta singur "pasul" ciclului. Acesta este numărul prin care numărul de contoare al ciclului va crește cu fiecare trecere. Implicit, pasul ciclului este 1.

Luați în considerare următorul exemplu:

După cum puteți vedea, totul este elementar. Ciclul rulează de la 2 la 10 în pași de 2, adică contorul ciclului are deja valori nu de la 1 la 10, ultima dată, dar de la 2 la 10 cu pasul 2. Aceasta înseamnă că ciclul va fi executat de 5 ori.

Ciclul poate fi, de asemenea, pornit în direcția opusă, indicând etapa corespunzătoare, adică 1 rând va fi următorul:

PENTRU n = 10 - 2 PASUL -2.

Acum, să ne uităm la alte variante de cicluri.

De asemenea, puteți întrerupe bucla cu instruciunea Exit pentru. după ce l-au executat într-un corp de ciclu.

Să aruncăm o privire la versiunea FOR pentru FOR EACH ... NEXT

Construcția FOR EACH ... NEXT diferă de construcția de bază prin faptul că lungimea nu este determinată de variabila, ci de numărul elementelor din matrice sau colecție. Problema pentru înțelegere este, de asemenea, că pentru diferite cazuri poate părea puțin diferită. În viitor voi da exemple, tk. vom folosi adesea acest design. Între timp, să examinăm un exemplu simplu bazat pe array-uri, cu cât mai multe arrays este următorul nostru subiect.

După cum puteți vedea, FOR EACH indică faptul că pentru fiecare element (element) din matricea Array (declarat mai devreme), faceți următoarele: echivalarea elementului matricei cu un număr aleatoriu. Aici este o nuanță mică, dar utilă.

Numere aleatorii în VBS:

Formatul pentru egalarea unui număr aleator este: random = number = Int (minimum + (Rnd () * maximum))

Mai mult, în variabila TEXT valorile elementelor sunt înregistrate printr-un spațiu. Indicele numărului elementului n este mărit cu 1. Acesta nu este un contor de cicluri, în acest caz. Contorul buclă este numărul elementelor de matrice (în acest caz, de la zero la 5, adică 6 elemente și 6 cicluri).

Rezultatul este TEXT

Și acum să mergem la următoarea construcție - Do ... Bucle

În plus față de analizat Pentru ... Mai departe, există o structură Do ... Loop construct. Să ne uităm la un exemplu de utilizare.

Acțiunea acestei construcții este foarte simplă. Pe linia a doua, este verificată condiția num = 0. Dacă nu este cazul, atunci corpul ciclului dat este executat. Când num = 0, bucla se termină fără o trecere. Do Until - Do Până atunci. În acest exemplu, există o ieșire din tabelul de multiplicare 2 numărul num, egal cu 10. Textul variabil constă în: stare variabilă Text + num variabilă de text + «x 2 =“ Num plus rezultatul înmulțirii cu 2, plus o tranziție la linia următoare (VbLf constantă ). Ne vom întoarce să lucrăm cu textul, dar era necesar să-l explicăm.

Până când este posibil să se pună nu numai după Do, dar și după Loop. Apoi, verificarea condiției va fi efectuată deja după executarea ciclului. Același ciclu, același rezultat, dar execuție diferită:

Și există un alt tip de design. exemplu:

Semnificația acestei construcții este după cum urmează: Bucla este executată atâta timp cât condiția WHILE este adevărată, adică, atâta timp cât num> 0. La fel ca și cu Until, verificarea poate fi efectuată fie înainte ca buclă să fie executată, fie după aceea. Dacă efectuați o verificare după looping, clauza WHILE este specificată după cuvântul Loop.

Acest ciclu poate fi întrerupt, precum și buclă FOR executând în corpul bucla EXIT DO.

Există încă o construcție. Se înlocuiește cu o bucle mai flexibile. Această construcție este în timp ce Wend. Exemplul de mai jos:

După cum puteți vedea, totul este simplu. La începutul buclei, condiția este Num> 0. Buclele sunt executate atâta timp cât această condiție este adevărată. Spre deosebire de buclă mai ... flexibilă, nu puteți specifica o condiție după ce buclă trece. În timp ce ... Bucla este echivalentă cu această buclă.

În acest sens, tema ciclurilor ar trebui acum înțeleasă. Îmi propun să rezolvăm acum miezurile. Acesta va fi următorul subiect al articolului.