Due (Normal User)
Pro
Messaggi: 68
Iscritto: 19/10/2007
|
Sto facendo un programma in cui l'utente può aggiungere degli elementi ad una listbox. Questi elementi però DEVONO contenere almeno uno spazio e essere lunghi almeno un carattere.
Ho scritto allora questo codice
Codice sorgente - presumibilmente VB.NET |
Private Sub bttNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttNuovo.Click Dim el As String el = InputBox("Nome elemento:") If el <> "" Or el.Contains(" ") = True Then ListBox1.Items.Add(el) Else : MsgBox("Errore") End If End Sub
|
Nel primo caso (cioè quando el="") il programma avverte dell'errore, ma nel secondo no.
Cioè, forse c'è un errore nella parte el.Contains(" ") = True, perché che io inserisca spazi oppure no il programma se ne frega
Qualcuno sa cosa ho sbagliato?
|
|
Progman-92 (Member)
Expert
Messaggi: 368
Iscritto: 16/12/2007
|
Ecco così funziona:
Codice sorgente - presumibilmente VB.NET |
Private Sub bttNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttNuovo.Click Dim el As String el = InputBox("Nome elemento:") If String.IsNullOrEmpty(el) = True Or el.Contains(" ") Then MsgBox("Errore") Else ListBox1.Items.Add(el) End If End Sub
|
Ultima modifica effettuata da Progman-92 il 02/07/2008 alle 22:47 |
|
Due (Normal User)
Pro
Messaggi: 68
Iscritto: 19/10/2007
|
A quanto pare gli da dei problemi l' "Or"...comunque come hai messo tu funziona, per eliminare il problema dell'or mi è bastato aggiungere un ElseIf e separare i casi. Grazie
|
|
Progman-92 (Member)
Expert
Messaggi: 368
Iscritto: 16/12/2007
|
Niente
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Se el deve contenere almeno uno spazio, significa che dà errore se NON lo contiene. Nel tuo if, invece, dà errore se LO contiene.
Codice sorgente - presumibilmente VB.NET |
If String.IsNullOrEmpty(el) OrElse el.Contains(" ") = False Then '...
|
|
|