Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98

    [VB.NET2008] Ricerca nome in una lista

    Salve,
    ennesimo problema con vb.net.

    Questo dovrebbe essere banale eppure proprio non ne vengo a capo. Mi serve di sapere se in una lista che ho chiamato File1 è già presente una certa stringa.

    Per questo mi sono creato una funzione, se è presente mi ritorna "false", se non è presente "true".

    codice:
        Private Function controllo(ByVal nome As String) As Boolean
            Dim t As Integer, l As Boolean
            l = True
            For t = 0 To File1.Items.Count
                If File1.Items.Item(t) = nome Then
                    l = False
                    Exit For
                Else
                    l = True
                End If
    
            Next t
    
            Return l
        End Function

    La logica è semplice.. paragona la stringa da cercare (chiamata "nome") con ogni riga della lista e se sono uguali setta l = false ed esci dal ciclo facendomi ritornare tale valore,
    altrimenti se le righe sono diverse dalla stringa ricercata setta l=true

    eppure non funziona!

    O meglio a metà,
    Se trova una corrispondenza mi ritorna il valore "false"

    ma se non trova nessuna corrispondenza non fa niente! non ritorna nessun valore e il programma si blocca perchè resta in attesa... vi prego aiutatemi sto impazzendo questo vb.net è più complicato di quanto pensassi

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [VB.NET2008] Ricerca nome in una lista

    Probabilmente basta modificare la For così, evitando anche l'else ...

    codice:
    ...
            For t = 0 To File1.Items.Count-1
                If File1.Items.Item(t) = nome Then
                    l = False
                    Exit For
                End If
           Next t
    ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

  4. #4
    Se non trova niente ti si blocca perché va in errore, dato che, come giustamente ha evidenziato oregon, parti da 0 e devi fermarti a count-1

    Strano che VB.net non ti avvisi dell' errore non gestito...
    .

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98
    Grazie a tutti delle risposte ora ho capito dove sbagliavo.

    p.s. Gibra, essendo nuovo del vb.net non conoscevo quella funzione

    pp.s Oregon, come al solito sei la luce nel buio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.