Utiliser les objets via les interfaces (Utiliser la listView)

Partie I :
On  veut créer une application form qui permet de faire la gestion des adresses:

Ainsi vous devez :
1-      Créer une classe « Adresse » qui contient les attributs suivants : identité, rue, code postal , ville et pays. Ajouter les constructeurs, getters et les setters
2-      Ajouter une autre classe « ListeAdr » qui contient une liste des adresses. Ajouter à cette classe :
-          Les constructeurs et les getters et setters necessaires
-          Les méthodes : ajout, suppression, modification et recherche
3-      Dans la partie formulaire :
-          Pour ajouter une adresse: on saisit ses informations (identité, rue, code postal) et on choisit le pays. Puis le combobox des villes contient simplement les villes du pays sélectionné .On choisit la ville et on clique sur le bouton « ajouter  adresse».Ainsi, une nouvelle adresse sera créée et ajouter à la liste des adresses
-          Pour Afficher une adresse : on saisit son identité dans la zone de texte et, et ses informations seront donc affichées dans les zones correspondantes (si l’adresse recherchée n’existe pas , un message d’erreur s’affiche)
-          Pour modifier une adresse : On affiche ses informations puis, on modifie les zones qu’on veut et on clique sur le bouton « modifier  adresse» : l’identité ne peut pas etre modifié
-          Pour supprimer une adresse: on saisit son identité dans la zone de texte et on clique sur «  supprimer adresse » : Si l’adresse qu’on veut supprimer n’existe pas , un message d’erreur s’affiche, sinon l’adresse sera supprimée et les zones s’initialisent au vide
-          Pour afficher la liste des adresses : on clique sur le bouton « Afficher la liste » Puis les informations seront affichées dans la liste au dessous
Partie II :
On veut travailler sur les informations contenues dans la liste : si une ligne de la liste est sélectionnée, les informations seront affichées dans les zones au dessus comme suit :

Correction

Public Class Adresse
    Private _identite As Integer
    Private _code As Integer
    Private _rue As String
    Private _pays As String
    Private _ville As String
    Public Sub New()
    End Sub
    Public Sub New(ByVal i As Integer, ByVal c As Integer, ByVal r As String, ByVal v As String, ByVal p As String)
        Me._identite = i
        Me._rue = r
        Me._code = c
        Me._pays = p
        Me._ville = v
    End Sub
    Property identite() As Integer
        Get
            Return _identite
        End Get
        Set(ByVal value As Integer)
            Me._identite = value
        End Set
    End Property
    Property code() As Integer
        Get
            Return _code
        End Get
        Set(ByVal value As Integer)
            Me._code = value
        End Set
    End Property
    Property rue() As String
        Get
            Return _rue
        End Get
        Set(ByVal value As String)
            Me._rue = value
        End Set
    End Property
    Property pays() As String
        Get
            Return _pays
        End Get
        Set(ByVal value As String)
            Me._pays = value
        End Set
    End Property
    Property ville() As String
        Get
            Return _ville
        End Get
        Set(ByVal value As String)
            Me._ville = value
        End Set
    End Property
End Class
----------------------------------------------------------------------
Imports System.IO
Public Class ListeAdr
    Private _list As New ArrayList
    Sub New()
    End Sub
    Sub New(ByVal l As ArrayList)
        Me._list = l
    End Sub
    Property list() As ArrayList
        Get
            Return _list
        End Get
        Set(ByVal value As ArrayList)
            Me._list = value
        End Set
    End Property
    Public Sub Ajout(ByVal a As Adresse)
        list.Add(a)
    End Sub
    Public Sub Suppression(ByVal s As Integer)
        list.RemoveAt(s)
    End Sub
    Public Function Recherche(ByVal d As Integer) As Integer
        For i = 0 To list.Count - 1
            If list.Item(i).identite = d Then
                Return i
            End If
        Next
        Return -1
    End Function
    Public Sub modifier(ByVal r As String, ByVal c As Integer, ByVal p As String, ByVal v As String)
        For i = 0 To list.Count - 1
            list.Item(i).rue = r
            list.Item(i).code = c
            list.Item(i).pays = p
            list.Item(i).ville = v
        Next
    End Sub
    Sub enregistrer(ByVal a As Adresse)
        Dim monSW As New StreamWriter("Adresse.txt")
        For i = 0 To ad.list.Count - 1
            monSW.WriteLine(ad.list.Item(i).identite & ";" & ad.list.Item(i).rue & ";" & ad.list.Item(i).code & ";" & ad.list.Item(i).pays & ";" & ad.list.Item(i).ville)
        Next
        monSW.Close()
        MsgBox("Enregistrment effectue")
    End Sub
End Class
----------------------------------------------------------------------
Module Module1
    Public ad As New ListeAdr()
End Module
----------------------------------------------------------------------
Imports System.IO
Public Class Form1
    Dim a As Adresse
    'Remplissage
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        a = New Adresse
        a.identite = CInt(TextBox1.Text)
        a.rue = TextBox2.Text
        a.code = CInt(TextBox3.Text)
        a.pays = ListBox1.Text
        a.ville = ComboBox1.Text
        ad.Ajout(a)
        MsgBox("Ajout Effectue")
        TextBox1.Clear() : TextBox2.Clear()
        TextBox3.Clear() : ListBox1.SelectedIndex = -1
        ComboBox1.Text = ""
    End Sub
    'Afficher
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Button2.Enabled = True
        Button3.Enabled = True
        Dim i As Integer
        For Each s In ad.list
            If ad.list.Item(i).identite = CInt(TextBox1.Text) Then
                TextBox1.Text = ad.list.Item(i).identite
                TextBox2.Text = ad.list.Item(i).rue
                TextBox3.Text = ad.list.Item(i).code
                ListBox1.Text = ad.list.Item(i).pays
                ComboBox1.Text = ad.list.Item(i).ville
                Exit Sub
            End If
            i = i + 1
        Next
        MsgBox("Ce numero n'existe pas", MsgBoxStyle.Critical)
        TextBox1.Clear() : TextBox2.Clear()
        TextBox3.Clear() : ListBox1.SelectedIndex = -1
        ComboBox1.Text = ""
    End Sub
    'Modifier
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ad.modifier(TextBox2.Text, TextBox3.Text, ListBox1.SelectedItem, ComboBox1.Text)
        MsgBox("Modification effectue", MsgBoxStyle.Information)
        TextBox1.Clear() : TextBox2.Clear()
        TextBox3.Clear() : ListBox1.SelectedIndex = 0
        ComboBox1.Text = ""
    End Sub
    'Supprime
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim i As Integer = 0
        For Each s In ad.list
            If ad.list.Item(i).identite = CInt(TextBox1.Text) Then
                ad.Suppression(i)
                ListView1.Items.Item(i).Remove()
                MsgBox("le stagiaire a été supprimé", MsgBoxStyle.Information)
                TextBox1.Clear() : TextBox2.Clear()
                TextBox3.Clear() : ListBox1.SelectedIndex = 0
                ComboBox1.SelectedIndex = 0
                Exit Sub
            End If
            i = i + 1
        Next
        MsgBox("identite n'existe pas", MsgBoxStyle.Critical)
    End Sub
    'ListBox
    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        If ListBox1.SelectedIndex = 0 Then
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("Marrakech") : ComboBox1.Items.Add("Safi")
            ComboBox1.Items.Add("Rabat") : ComboBox1.Items.Add("Tanger")
        ElseIf ListBox1.SelectedIndex = 1 Then
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("Oran") : ComboBox1.Items.Add("Annaba")
            ComboBox1.Items.Add("Bejaya") : ComboBox1.Items.Add("Algerie")
        ElseIf ListBox1.SelectedIndex = 2 Then
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("Tripolie") : ComboBox1.Items.Add("Benghazi")
            ComboBox1.Items.Add("El Azizia") : ComboBox1.Items.Add("Syrte")
        ElseIf ListBox1.SelectedIndex = 3 Then
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("Le Bardo") : ComboBox1.Items.Add("Monastir")
            ComboBox1.Items.Add("Quartaj") : ComboBox1.Items.Add("Hammamat")
        ElseIf ListBox1.SelectedIndex = 4 Then
            ComboBox1.Items.Clear()
            ComboBox1.Items.Add("Caire") : ComboBox1.Items.Add("Gizeh")
            ComboBox1.Items.Add("Alexendrie") : ComboBox1.Items.Add("Assiout")
        End If
    End Sub
    'Afficher en listview
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        ListView1.Items.Clear()
        For i As Integer = 0 To ad.list.Count - 1
            Dim LVI As New ListViewItem
            LVI.Text = ad.list.Item(i).identite
            LVI.SubItems.Add(ad.list.Item(i).rue)
            LVI.SubItems.Add(ad.list.Item(i).code)
            LVI.SubItems.Add(ad.list.Item(i).pays)
            LVI.SubItems.Add(ad.list.Item(i).ville)
            ListView1.Items.Add(LVI)
        Next
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button2.Enabled = False
        Button3.Enabled = False
    End Sub
    'Ajouter en listview
    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
        For i As Integer = 0 To ad.list.Count - 1
            If ListView1.Items.Item(i).Selected = True Then
                Button2.Enabled = True
                Button3.Enabled = True
                TextBox1.Text = ad.list.Item(i).identite
                TextBox2.Text = ad.list.Item(i).rue
                TextBox3.Text = ad.list.Item(i).code
                ListBox1.Text = ad.list.Item(i).pays
                ComboBox1.Text = ad.list.Item(i).ville
            End If
        Next
    End Sub
    'Enregistrer en fichier
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        ad.enregistrer(a)
        TextBox1.Clear() : TextBox2.Clear()
        TextBox3.Clear() : ListBox1.SelectedIndex = -1
        ComboBox1.Text = ""
        ListView1.Items.Clear()
    End Sub
    'Afficher a partir d'un fichier
    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Dim monSR As New StreamReader("Adresse.txt")
        Dim s As String = monSR.ReadLine()
        While s <> Nothing
            Dim t() As String = Split(s, ";")
            If t(0) = TextBox1.Text Then
                TextBox2.Text = t(1)
                TextBox3.Text = t(2)
                ListBox1.Text = t(3)
                ComboBox1.Text = t(4)
                Exit Sub
            End If
            s = monSR.ReadLine()
        End While
        MsgBox("identite n'existe pas", MsgBoxStyle.Critical)
        TextBox1.Clear() : TextBox2.Clear()
        TextBox3.Clear() : ListBox1.SelectedIndex = -1
        ComboBox1.Text = ""
        ListView1.Items.Clear()
        monSR.Close()
    End Sub
End Class
Suivant
« Précédent
Précédent
Suivant »

ConversionConversion EmoticonEmoticon

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.