Probleme bouton rechercher dans carnet d'adresse

mitnickKevin Messages postés 40 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 18 juin 2008 - 6 juin 2007 à 19:59
mitnickKevin Messages postés 40 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 18 juin 2008 - 8 juin 2007 à 14:01
Bonjour,
J'ai un probleme avec de code
si quelqu'un pouvais m'aider.

Public Class Form1

    Const nb_user = 200
    Dim nom As objt
    Dim tel As objt
    Dim tab_objt(nb_user) As objt
    Dim nb_rec As Integer

    Private Sub BtAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtAjouter.Click

        tab_objt(nb_rec) = New objt
        nom = New objt
        tel = New objt

        If nb_rec = 200 Then
            tab_objt(nb_user).message("le carnet d'adresse est plein")
        Else
            tab_objt(nb_rec).ajouter(text_nom.Text, Text_tel.Text)
            tab_objt(nb_rec).message("contact ajoute")
            'nb_rec = nb_rec + 1
        End If

    End Sub

    Private Sub btRechercher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btRechercher.Click
        Dim I As Integer

        ListBox1.Items.Clear()

        For I = 0 To nb_user - 1
            If tab_objt(nb_user).recherche(text_search.Text) = 1 Then
                ListBox1.Items.Add(tab_objt(nb_user).affiche)
            End If
        Next

    End Sub

    Private Sub btRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btRefresh.Click
        Dim I As Integer

        'ListBox1.Items.Clear()

        For I = 0 To nb_rec
            ListBox1.Items.Add(tab_objt(nb_rec).affiche)
        Next

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        nb_rec = 0
    End Sub

    Private Sub BtSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtSupprimer.Click

    End Sub

End Class

Public Class objt

    Dim nom As String
    Dim tel As String

    Public Function recherche(ByVal x As Integer)

        If nom = x Then
            recherche = "1"
        Else
            recherche = "0"
        End If

    End Function

    Public Function ajouter(ByVal y As String, ByVal z As String)
        nom = y
        tel = z
    End Function

    Public Function affiche()
        affiche = nom & Chr(9) & Chr(9) & tel
    End Function

    Public Function message(ByVal r As String)
        message = MsgBox(r, , "message")
    End Function

End Class

"A l'origine de toute erreur attribuée à l'ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l'erreur à l'ordinateur."

" Freedom isn't something you must struggle to acquire. Just

5 réponses

mitnickKevin Messages postés 40 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 18 juin 2008
6 juin 2007 à 20:15
Le bug se passe a la ligne " If tab_objt(nb_user).recherche(text_search.Text) = 1 Then ".
Le debuggeur me dit " La conversion de la chaîne "robert" en type 'Integer' n'est pas valide. "
Que dois-je faire ?
Merci d'avance pour votre aide.
A+

"A l'origine de toute erreur attribuée à l'ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l'erreur à l'ordinateur."

" Freedom isn't something you must struggle to acquire. Just
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
7 juin 2007 à 08:11
Salut,
je pense que le plus simple serait d'aller dans ton aide et de voir le type de donnée que renvoie la méthode recherche. Tu as essayé avec True ou False.

Tu peux expliquer ce que cette ligne est censé faire.
0
mitnickKevin Messages postés 40 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 18 juin 2008
7 juin 2007 à 09:57
J'ai beaucoup de mal a me servir de msdn, c'est surement un outil extremement utile mais je ne sais pas correctement m'en servir.Cette ligne est censee rechercher, a partir d'une saisie de l'utilisateur dans un textbox, si le nom enregistre dans le carnet d'adresse existe bien. Si il existe la recherche 1 et s'il n'existe pas la recherche 0, j'ai aussi essayer avec le type bouleen, mais la meme erreur se produit. Enfin si la recherche =1 ,le nom et le No de tel de l'enregistrement apparait seul dans le listbox.
Voila si tu veux d'autres informations qui puissent t'aider a mieux comprendre le probleme je suis a ton entiere disposition.
Merci
A+

"A l'origine de toute erreur attribuée à l'ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l'erreur à l'ordinateur."

" Freedom isn't something you must struggle to acquire. Just
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
7 juin 2007 à 13:38
Regardes comment est déclaré ta fonction,

Public Function recherche(ByVal x As Integer)

C'est la le pb. Mets string
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mitnickKevin Messages postés 40 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 18 juin 2008
8 juin 2007 à 14:01
J'ai change le type le x en string comme tu me l'avais conseille.
Mais l'erreur a change.
Dans " For I = 0 To nb_user - 1
            If tab_objt(nb_user).recherche(text_search.Text) = 1 Then
                ListBox1.Items.Add(tab_objt(nb_user).affiche)
            End If "

Le debuggeur me dit "Object reference not set to an instance of an object".

Est ce qu'il faut initialiser l'objet en mettant new ?
Peut etre est ce mon erreur.
A+

"A l'origine de toute erreur attribuée à l'ordinateur, vous trouverez au moins deux erreurs humaines. Dont celle consistant à attribuer l'erreur à l'ordinateur."

" Freedom isn't something you must struggle to acquire. Just
0