La creazione di un progetto da zero in Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
Cicli Do
Un tipo di cicli supportato da Visual Basic, oltre ai cicli For, For Each, è il ciclo Do. La caratteristica chiave di un ciclo condizionale come il ciclo Do è appunto la condizione, ossia il fatto che ogni espressione può ritornare un valore True o False. Ad esempio considerare l'espressione EOF. Questa, inserita in un ciclo condizionale può dare il risultato True o False. I due tipi principali di cicli condizionali sono Do While che si ripete finchè la condizione è True e Do Until che si ripete finché la condizione non diventa False.
Vediamo più attentamente il primo di questi cicli.
Do While:
La parola chiave While nel ciclo Do While indica al programma che il ciclo (ossia la verifica dei comandi ripetitivi contenuti tra il comando Do e il comando Loop) sarà ripetuto per un numero che può arrivare all'infinito di volte finché la condizione sottoposta alla verifica del controllo Do While è soddisfatta, ossia finché permane sul True. Quando la condizione diventa non vera (teoricamente non c'è necessità che diventi False, ma visto che le uniche due condizioni sono True e False non potrebbe accadere diversamente), il programma passa all'istruzione successiva al comando Loop. E' inoltre possibile scegliere tra due forme di ciclo Do While, a seconda di dove si voglia collocare la condizione: all'inizio oppure alla fine del ciclo. Nel primo esempio si valuta la possibilità di inserire la condizione all'inizio del ciclo, posizionando la frase di condizione di While nella medesima riga del comando Do. In questo modo si comunica al programma che si vogliono verificare le condizioni dichiarate nella frase di condizione prima di eseguire i comandi all'interno del ciclo:

'Preupposta l'esistenza nel progetto di una listbox contenente 5 elementi
'il seguente codice aggiunge alla listbox i 5 elementi:
'
Private Sub Form_Load() For i = 1 To 5
List1.AddItem "dato"
Next i
End Sub
'il seguente codice descrive il ciclo Do While:
Private Sub Command1_Click()
n = 0
Do While List1.ListCount <> 0
Response = MsgBox("Vuoi cancellare " & List1.List(n), vbYesNo, "Delete")
If Response = vbYes Then
List1.RemoveItem n
Else
msgbox"Dati terminati"
End If
Loop
n = n + 1
End Sub

Con questa forma di ciclo i comandi tra While e Loop possono non essere mai eseguiti, se la condizione è falsa prima che il ciclo sia eseguito per la prima volta. Per poter ovviare a tale problema, permettendo al programma di mandare in esecuzione almeno una volta le istruzioni tra While e Loop bisogna utilizzare la seconda forma posizionando la frase di condizione nell'istruzione Loop ossia alla fine del ciclo. Questo dice al programma che si vuole che il ciclo sia eseguito e controllato almeno una volta e che vengano successivamente (ma solo alla fine del ciclo) valutate le condizioni per determinare se ripetere il ciclo:

'Preupposta l'esistenza nel progetto di una listbox contenente 5 elementi
'il seguente codice aggiunge alla listbox i 5 elementi:
Private Sub Form_Load()
For i = 1 To 5
List1.AddItem "dato" & i
Next i
End Sub
'il seguente codice descrive il ciclo Do While:
Private Sub Command1_Click()
n = 0
Do
Response = MsgBox("Vuoi cancellare " & List1.List(n), vbYesNo, "Delete")
If Response = vbYes Then
List1.RemoveItem n
Else
End If
Loop While List1.ListCount <> 0
n = n + 1
End Sub

Archivio:
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it