|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 70
|
[VB .NET] problema Select Case
Salve ho un problema, è possibile usare il Select Case per fare il confronto con Stringhe?
Vi posto il codice che ho scritto: Select Case ComboBox2.Text Case "Facile" Or "Intermedio" Or "Difficile" Button1.Enabled = True Button3.Enabled = False level = ComboBox2.Text Case "Personalizzato" Button3.Enabled = True Button1.Enabled = False End Select Mi da l'errore "Eccezione first-chance di tipo 'System.InvalidCastException' in Microsoft.VisualBasic.dll" Volevo sapere se c'è qualche errore di sintassi che non riesco a capire cosa sbaglio. Forse si può solo usare per valori numerici? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
No, può essere usato benissimo con stringhe e quant'altro, ma rispettando la giusta sintassi. Se metti Or in quel modo VB interpreta un caso multiplo con valori numerici. In una Select Case un Case multiplo con stringhe si definisce separando con la virgola. Inoltre è sempre consigliabile prevedere alla fine il caso alternativo a tutti i precedenti :
Codice:
Select Case ComboBox2.Text
Case "Facile", "Intermedio", "Difficile"
'...
MsgBox("1")
Case "Personalizzato"
'...
MsgBox("2")
Case Else
'...
MsgBox("Else")
End Select
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2008
Messaggi: 70
|
Quindi non c'è modo di scegliere un operatore logico per il case se uso stringhe? comunque domani provo a fare le modifiche.
Grazie ancora! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Pensiamo ad un caso numerico. ComboBox con valori da 1 a 9. > Voglio 3 casi : 1. Da 1 a 3 2. Da 4 a 6 3. Da 7 a 9 Codice:
Select Case ComboBox1.Text
Case 1 To 3
'...
MsgBox("basso")
Case 4 To 6
'...
MsgBox("medio")
Case Else
'...
MsgBox("alto")
End Select
In ogni caso una sintassi tipo "Case Is >=4 And <=6" non è ammessa. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:12.




















