La struttura For... Next

Pubblicato il 2021-11-11


Questo tutorial è dedicato ai neofiti del VB, che vorrebbero imparare a programmare i propri metodi ma sono timorosi di fronte a manuali e guide in inglese o che parlano un linguaggio strettamente "tecnico".


L'obiettivo è quello di illustrare come possano essere programmate semplici procedure che si basano sulla ripetizione, per un certo numero n di volte, di una determinata istruzione.


Facciamo un esempio pratico: vogliamo scrivere l'elenco delle 10 ruote del lotto, nella finestra di output. I modi per fare questo sono diversi, ma noi vogliamo farlo nel modo più rapido possibile. L'istruzione che consente a LottoSript di scrivere sulla finestra di output (la "lavagna" virtuale di questa funzione del programma), è l'istruzione Scrivi.

Ad esempio, se nello script indichiamo


Scrivi "Pippo" 


otterremo proprio la scrittura "Pippo" nella finestra di output. Ovviamente senza le virgolette, che servono solo nello script, per indicare i limiti di inizio e fine della stringa di testo che gli stiamo dicendo di scrivere.


Allora una prima soluzione sarebbe di indicare tutte le ruote mettendo una sull'altra 10 istruzioni Scrivi con a fianco di ciascuna il nome della ruota. Tuttavia LottoScript fornisce una funzione che restituisce il nome delle ruote del gioco del lotto: NomeRuota.


Scrivendo ad esempio


Scrivi NomeRuota(1)


LottoScript scriverà Bari nell'output. Indicando un parametro diverso (il numero della ruota), possiamo scrivere i nomi delle varie ruote.

Per scriverle tutte e 10, potremmo scrivere 10 istruzioni del tipo


Scrivi NomeRuota(1)

Scrivi NomeRuota(2)

....

Scrivi NomeRuota(10) 


rendendo tuttavia inutilmente lungo il programma, in quanto possiamo appunto utilizzare la struttura ciclica "For...Next".

Tale struttura (nella sua forma più semplice) prende una variabile, gli assegna un valore, e lo incrementa in ogni ciclo di una unità, fino a raggiungere il valore desiderato. Dopo di che il programma può proseguire oltre


Ecco perchè, scrivendo


For i=1 To 10
    Scrivi NomeRuota(i)
Next


 


Si ottiene lo stesso risultato di prima, in sole tre righe. La struttura For...Next può essere usata per scorrere le estrazioni dell'archivio tra due determinati indici per testare su tale intervallo un determinato metodo. Per vederne l'utilizzo basta dare un'occhiata a qualche script che testa un metodo.


La struttura può essere annidata:


For i=1 To 89
    for j= i+1 to 90 
        Scrivi cstr(i) & "." & cstr(j)
    Next Next

In questo modo, ad esempio scriviamo l'elenco di tutti i 4005 ambi possibili.


Ti è stato utile questo articolo?

[ 1 su 1 l'hanno trovato utile ]

Serve ancora aiuto? Siamo qui per te!

Apri un ticket per richiedere assistenza al nostro Team Supporto LottoDesk.