Objet d'une collection et boutons precedent et suivant (important)

sikove Messages postés 90 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 31 mars 2010 - 30 mai 2008 à 17:24
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 30 mai 2008 à 22:19
salut,

vous pouvez m'aider svp, j'ai passé  toute la journée à chercher un tp deja réalisé sur les collections+classes mais aucun résultat .

en gros je cherche à faire un interface qui contient un champ numero et un autre nom, une fois on clique sur un simple bouton de l'interface :

enregistrer : on enresistre les champs dans un tableau fait
nouveau : on vide tout fait 
precedent : on affiche les precendentes saisies
suivant : on affiche les saisies suivants
dernier : on affiche dernier enregistrement fait ( mais pas sur )
premier : on affiche premier enregistrement

vous pouvez m'aider à faire le reste des boutons svp ? vraiment je suis coincé j'ai cherché sur tout les codes sources mais je n'ai rien trouvé, idem pour google et ce tp c'est vraiment tres tres urgent pour moi, c'est la clé base des examens que je vais passer pour la fin d'année

voila le code de la classe qui contient les composants de l'objet :

- class gestion, 2 champs : numero et nom + constructeur et proprety

- form1:

    Public membre As gestion
    Public col As New ArrayList
    Public i As Integer = 0

    Public Sub vider()
        numero1.ResetText()
     client1.ResetText()

    End Sub

    Public Sub remplire()
        numero1.Text = membre.nu
        client1.Text = membre.cl
    End Sub

bouton nouveau :

    Private Sub nouveau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nouveau.Click
        vider()
    End Sub

bouton enregistrer :

    Private Sub enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer.Click
        If numero1.TextLength 0 Or client1.TextLength 0 Then
            MsgBox("erreur")
            Exit Sub
        End If

        For Each membre In col
            If membre.nu = numero1.Text Then
                MsgBox("existe deja")
                Exit Sub
            End If
        Next
        membre = New gestion(numero1.Text, client1.Text)
        col.Add(membre)
        i = i + 1
        vider()
    End Sub

- bouton dernier

    Private Sub dernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dernier.Click
        If i = 0 Then
            MsgBox(" c'est le premier")
        Else
            col.LastIndexOf(col.Count - 1)
            remplire()
        End If
    End Sub

c'est bien pour ces boutons ? vous pouvez m'aider pour les autres svp ? si je travaille avec les tableaux ça serait facile mais la ... surtout que pour le premier element normalement on met col(0) ou elementat(0) mais les 2 marche pas ....

un big merci d'avance pour l'aide, vous ne savez pas à quel point c'est important pour moi, je vous serais reconnaissant à vie

encore merci

1 réponse

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
30 mai 2008 à 22:19
Salut,

Il manque pas mal d'infos, mais je crois avoir compris ce que tu essaies de faire, du moins je l'espère


-------------------------------------------------------------

Le code pour le bouton Nouveau est correct.

-------------------------------------------------------------
-------------------------------------------------------------

Pour la fonction Enregistrer, le fait d'incrémenter la variable i ne sert à rien, celle-ci te permet de pouvoir savoir le nombre d'éléments présent dans col  alors qu'en utilisant col.Count,tu obtiens directement le nombre d'éléments présent dedans.

-------------------------------------------------------------

Modification du code du bouton Enregistrer :

Private Sub enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enregistrer.Click

       
If numero1.TextLength = 0
Or client1.TextLength = 0
Then
            MsgBox(
"erreur")
           
Exit Sub
        End If

        For Each membre
In col
           
If membre.nu = numero1.Text
Then
                MsgBox(
"existe deja")
               
Exit Sub
            End If
        Next
        membre =
New gestion(numero1.Text, client1.Text)
        col.Add(membre)
        vider()
   
End Sub

-------------------------------------------------------------
-------------------------------------------------------------

Pour le bouton dernier , je crois qu'il y a une petite erreur, en effet, tu ne transmets pas à membre le dernier élément de col. Donc il va afficher le dernier enregistrement que tu as effectué.
Ensuite faut changer la condition If i <gras>0, vu que la variable i ne sert plus et la remplacer par If col.Count - 1</gras> 0

-------------------------------------------------------------

Modification du code du bouton Dernier :

Private Sub dernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dernier.Click
        If col.Count - 1 = 0 Then
            MsgBox("c'est le premier")
        Else
            membre = col(col.Count - 1)
            remplire()
        End If
    End Sub

-------------------------------------------------------------

-------------------------------------------------------------

Pour le bouton Précédent , il faudra déclarer une nouvelle variable index de type Integer et l'initialiser à 0


-------------------------------------------------------------

Code pour le bouton Précédent :

   
If index > 0
Then
          index = index - 1
          membre = col(index)
          remplire()
   
End If


-------------------------------------------------------------

-------------------------------------------------------------

Code pour le bouton Suivant :         

    If index < col.Count - 1 Then
          index = index + 1
          membre = col(index)
          remplire()
    End If


-------------------------------------------------------------


-------------------------------------------------------------

Code pour le bouton Premier :

    membre = col(0)
    remplire()


-------------------------------------------------------------


-------------------------------------------------------------

-------------------------------------------------------------

Si tu as des problèmes, n'hésites pas

++


-------------------------------------------------------------


Si la réponse vous convient : Réponse Acceptée
0
Rejoignez-nous