Home

Introduction aux Banques de Données

 

Une Base de Données Comme Choix de Valeurs

 

Introduction

Une base de données est une liste de valeurs. Les valeurs sont organisées pour les rendre facile à récupérer et, éventuellement, à manipuler. Une base de données sur  informatique est une liste de valeurs qui sont stockées dans un ordinateur, généralement sous forme d'un ou plusieurs fichiers. Les valeurs peuvent ensuite être consultées en cas de besoin. Probablement le type le plus fondamental de liste de valeurs peut être créé et géré comme un tableau.

 

Étude Pratique : Présentation Des Bases de données

  1. Démarrez Microsoft Visual C#
  2. Créez une application Windows Forms nommée YNB1
  3. Dans l'Explorateur de Solutions, droit-cliquez Form1.cs et cliquez Renommer
  4. Ecriez Centrale.cs et appuyez Entrée

Creation d'un Tableau

Avant de créer un tableau, vous devez décider quel type de valeurs chaque élément du tableau serait. Un simple tableau peut être fait de valeurs de types primitifs. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            var Numbres = new double[] { 12.44, 525.38, 6.28, 2448.32, 632.04 };
        }
    }
}

Une fois le tableau a été créé, vous pouvez accéder à chacun de ses éléments en utilisant l'opérateur []. Voici un exemple:

private void Exercice_Load(object sender, EventArgs e)
{
    var Numbres = new double[] { 12.44, 525.38, 6.28, 2448.32, 632.04 };

    for (int i = 0; i < 5; i++)
        lbxNumbres.Items.Add(Numbres[i].ToString());
}

Array

Un tableau peut également être fait d'éléments qui sont chacun de type composite. En d'autres termes, chaqu'élément peut être d'un type de classe. Bien sûr, vous devez d'abord disposer d'une classe. Vous pouvez utiliser une des nombreux classes intégré du .NET Framework ou vous pouvez créer votre propre classe. Voici un exemple de classe:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tableaux
{
    public enum Genres { Male, Femelle, Inconnu }

    public class Personne
    {
        public int PersonneID;
        public string FirstName;
        public string LastName;
        public Genres Genre;
    }
}

Après avoir créé la catégorie, vous pouvez ensuite l'utiliser comme le type du tableau. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            var Personnes = new Personne[]
            {
                new Personne()
                {
                    PersonneID = 72947, Genre = Genres.Femelle,
                    FirstName = "Paulette", LastName = "Cranston"
                },
            
                new Personne()
                {
                    PersonneID = 70854, Genre = Genres.Male,
                    FirstName = "Harry", LastName = "Kumar"
                },
            
                new Personne()
                {
                    PersonneID = 27947, Genre = Genres.Male,
                    FirstName = "Jules", LastName = "Davidson"
                },
                
                new Personne()
                {
                    PersonneID = 62835, Genre = Genres.Inconnu,
                    FirstName = "Leslie", LastName = "Harrington"
                },
            
                new Personne()
                {
                    PersonneID = 92958, Genre = Genres.Male,
                    FirstName = "Ernest", LastName = "Colson"
                },
                
                new Personne()
                {
                    PersonneID = 91749, Genre = Genres.Femelle,
                    FirstName = "Patricia", LastName = "Katts"
                },
            
                new Personne()
                {
                    PersonneID = 29749, Genre = Genres.Inconnu,
                    FirstName = "Patrice", LastName = "Abanda"
                },
            
                new Personne()
                {
                    PersonneID = 24739, Genre = Genres.Male,
                    FirstName = "Frank", LastName = "Thomasson"
                }
            };

            for (int i = 0; i < 8; i++)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(Personnes[i].FirstName);

                lviPersonne.SubItems.Add(Personnes[i].LastName);
                lviPersonne.SubItems.Add(Personnes[i].Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }
    }
}

Ceci produirait:

Tableaux

La Classe Array

Pour vous aider à la création ou la gestion de tableaux, le .NET Framework fournit la classe Array. Chaque tableau que vous créez est dérivé de cette classe. En conséquence, tous les tableaux de votre programme partagent de nombreuses caractéristiques et ils obtiennent leur fondation de la classe Array, qui contient des propriétés et méthodes. Une fois que vous avez déclaré une variable de type tableau, elle a automatiquement accès aux membres de la classe Array. Par exemple, au lieu de compter le nombre d'éléments d'un tableau, vous pouvez accéder à la propriété Length de la variable. Voici un exemple:

private void Exercice_Load(object sender, EventArgs e)
{
    int[] Numbres = new int[] { 20, 5, 83405, 734, 5 };

    for (int i = 0; i < Numbres.Length; i++)
        lbxNumbres.Items.Add(Numbres[i].ToString());
}

Dans les langues traditionnelles, lorsque vous déclarez une variable de tableau, vous devez préciser le nombre d'éléments que le tableau contiendra. Vous devez le faire surtout si vous déclarez la variable sans l'initializer. Voici un exemple:

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            var Personnes = new Personne[4];
        }
    }
}

Après avoir déclaré la variable, avant d'utiliser le tableau, vous devez l'initialiser. Sinon, vous recevriez un message d'erreur. Lors de l'initialization de la variable, vous pouvez indiquer le nombre d'éléments que vous aviez spécifié. Pour illustrer ceci, considérons le programme suivant:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            var Personnes = new Personne[4];

            Personnes[0] = new Personne()
            {
                PersonneID = 72947, FirstName = "Paulette",
                LastName = "Cranston", Genre = Genres.Femelle
            };

            Personnes[1] = new Personne()
            {
                PersonneID = 70854, FirstName = "Harry",
                LastName = "Kumar", Genre = Genres.Male
            };

            Personnes[2] = new Personne()
            {
                PersonneID = 27947, FirstName = "Jules",
                LastName = "Davidson", Genre = Genres.Male
            };

            Personnes[3] = new Personne()
            {
                PersonneID = 62835, FirstName = "Leslie",
                LastName = "Harrington", Genre = Genres.Inconnu
            };

            Personnes[4] = new Personne()
            {
                PersonneID = 92958, FirstName = "Ernest",
                LastName = "Colson", Genre = Genres.Male
            };

            Personnes[5] = new Personne()
            {
                PersonneID = 91749, FirstName = "Patricia",
                LastName = "Katts", Genre = Genres.Femelle
            };

            for (int i = 0; i < Personnes.Length; i++)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(Personnes[i].FirstName);

                lviPersonne.SubItems.Add(Personnes[i].LastName);
                lviPersonne.SubItems.Add(Personnes[i].Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }
    }
}

Notez que la variable est déclarée pour ne contenir que 4 éléments, mais l'utilisateur tente d'accéder à un 5ème. Cela aboutirait à une exception de type IndexOutOfRangeExcception.

L'une des caractéristiques les plus précieuses de la classe Array est qu'elle permet de "redimensionner" un tableau, i.e. de changer le nombre de ses éléments. Donc, si vous découvrez qu'un tableau qui a une taille plus petite que le nombre d'éléments que vous souhaitez lui ajouter, vous pouvez augmenter sa capacité. Pour le faire, la classe Array est équipée d'une méthode statique appelée Resize. Sa syntaxe est la suivante:

public static void Resize<T>(ref T[] array, int newSize);

Comme vous pouvez le voir, il s'agit d'une méthode générique qui prend deux arguments. Le premier argument est le nom de la variable que vous voulez redimensionner. Il doit être passé par référence. Le deuxième argument est la nouvelle taille que vous voulez donner au tableau. Voici un exemple d'appel de cette méthode:

private void Exercice_Load(object sender, EventArgs e)
{
            var Personnes = new Personne[4];

            Personnes[0] = new Personne()
            {
                PersonneID = 72947, FirstName = "Paulette",
                LastName = "Cranston", Genre = Genres.Femelle
            };

            Personnes[1] = new Personne()
            {
                PersonneID = 70854, FirstName = "Harry",
                LastName = "Kumar", Genre = Genres.Male
            };

            Personnes[2] = new Personne()
            {
                PersonneID = 27947, FirstName = "Jules",
                LastName = "Davidson", Genre = Genres.Male
            };

            Personnes[3] = new Personne()
            {
                PersonneID = 62835, FirstName = "Leslie",
                LastName = "Harrington", Genre = Genres.Inconnu
            };

            Array.Resize<Person>(ref Personnes, 6);

            Personnes[4] = new Personne()
            {
                PersonneID = 92958, FirstName = "Ernest",
                LastName = "Colson", Genre = Genres.Male
            };

            Personnes[5] = new Personne()
            {
                PersonneID = 91749, FirstName = "Patricia",
                LastName = "Katts", Genre = Genres.Femelle
            };

            for (int i = 0; i < Personnes.Length; i++)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(Personnes[i].FirstName);

                lviPersonne.SubItems.Add(Personnes[i].LastName);
                lviPersonne.SubItems.Add(Personnes[i].Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
}

L'avantage de cette approche est que vous pouvez accéder à la gamme d'un membre de la même classe ou même d'un autre fichier du même programme.

Un Tableau Comme un Champ

Comme cela a été fait précédemment, vous pouvez créer un tableau dans une méthode. Un inconvénient de cette approche est que le tableau ne peut être consulté qu'à l'intérieur de la méthode (ou de l'événement) dans laquelle (lequel) il avait été créé. Comme alternative, vous pouvez déclarer un tableau comme un membre d'une classe. Voici un exemple:

namespace Tableaux
{
    public partial class Exercice : Form
    {
        Personne[] Personnes;

        public Exercice()
        {
            InitializeComponent();
        }
    }
}

L'avantage de cette approche est que vous pouvez accéder à la gamme d'un membre de la même classe ou même d'un autre fichier du même programme. Après avoir déclaré la variable, vous pouvez l'initializer. Vous pouvez le faire dans un constructeur ou dnas un événement qui serait appelé avant tout autre événement qui utiliserait le tableau. Ce type d'initialization se fait habituellement dans la clases du formulaire. Après l'initialization de la variable, vous pouvez l'accéder dans une autre méthode ou un autre événement du formulaire. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        Personne[] Personnes;

        public Exercice()
        {
            InitializeComponent();
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            Personnes = new Personne[]
            {
                new Personne()
                {
                    PersonneID = 72947, Genre = Genres.Femelle,
                    FirstName = "Paulette", LastName = "Cranston"
                },
            
                new Personne()
                {
                    PersonneID = 70854, Genre = Genres.Male,
                    FirstName = "Harry", LastName = "Kumar"
                },
            
                new Personne()
                {
                    PersonneID = 27947, Genre = Genres.Male,
                    FirstName = "Jules", LastName = "Davidson"
                },
                
                new Personne()
                {
                    PersonneID = 62835, Genre = Genres.Inconnu,
                    FirstName = "Leslie", LastName = "Harrington"
                },
            
                new Personne()
                {
                    PersonneID = 92958, Genre = Genres.Male,
                    FirstName = "Ernest", LastName = "Colson"
                },
                
                new Personne()
                {
                    PersonneID = 91749, Genre = Genres.Femelle,
                    FirstName = "Patricia", LastName = "Katts"
                },
            
                new Personne()
                {
                    PersonneID = 29749, Genre = Genres.Inconnu,
                    FirstName = "Patrice", LastName = "Abanda"
                },
            
                new Personne()
                {
                    PersonneID = 24739, Genre = Genres.Male,
                    FirstName = "Frank", LastName = "Thomasson"
                }
            };

            foreach (Personne pers in Personnes)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(pers.PersonneID.ToString());

                lviPersonne.SubItems.Add(pers.FirstName);
                lviPersonne.SubItems.Add(pers.LastName);
                lviPersonne.SubItems.Add(pers.Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }
    }
}

Tableaux et Méthodes

Un tableau peut être passé comme argument à une méthode. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void ArrayInitializer(Personne[] Personnes)
        {
        }
    }
}

Dans la méthode, vous pouvez utilizer le tableau comme cela vous semble bon. Par exemple, vous pouvez assigner des valeurs aux éléments du tableau. Lors de l'appel d'une méthode qui est reçoit un tableau, vous pouvez passer l'argument par référence de sorte qu'il reviendra avec de nouvelles valeurs. Voici des exemples:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private void ArrayInitializer(ref Personne[] Personnes)
        {
            Personnes = new Personne[]
            {
                new Personne()
                {
                    PersonneID = 72947, Genre = Genres.Femelle,
                    FirstName = "Paulette", LastName = "Cranston"
                },
            
                new Personne()
                {
                    PersonneID = 7085, Genre = Genres.Male4,
                    FirstName = "Harry", LastName = "Kumar"
                },
            
                new Personne()
                {
                    PersonneID = 27947, Genre = Genres.Male,
                    FirstName = "Jules", LastName = "Davidson"
                },
                
                new Personne()
                {
                    PersonneID = 62835, Genre = Genres.Inconnu,
                    FirstName = "Leslie", LastName = "Harrington"
                },
            
                new Personne()
                {
                    PersonneID = 92958, Genre = Genres.Male,
                    FirstName = "Ernest", LastName = "Colson"
                },
                
                new Personne()
                {
                    PersonneID = 91749, Genre = Genres.Femelle,
                    FirstName = "Patricia", LastName = "Katts"
                },
            
                new Personne()
                {
                    PersonneID = 29749, Genre = Genres.Inconnu,
                    FirstName = "Patrice", LastName = "Abanda"
                },
            
                new Personne()
                {
                    PersonneID = 24739, Genre = Genres.Male,
                    FirstName = "Frank", LastName = "Thomasson"
                }
            };
        }

        private void ShowPersonnes(Personne[] Personnes)
        {
            foreach (Personne pers in Personnes)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(pers.PersonneID.ToString());

                lviPersonne.SubItems.Add(pers.FirstName);
                lviPersonne.SubItems.Add(pers.LastName);
                lviPersonne.SubItems.Add(pers.Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            Personne[] persons = new Personne[8];

            ArrayInitializer(ref persons);
            ShowPersonnes(persons);
        }
    }
}

Une méthode peut être créée pour retourner un tableau. Lors de la création de la méthode, sur le côté gauche du nom de la méthode, tapez le nom du type de méthode de la valeur de retour, y compris les crochets. Dans la méthode, créez et initializez le tableau. Avant de quitter la méthode, vous devez retourner le tableau. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        public Exercice()
        {
            InitializeComponent();
        }

        private Personne[] ArrayInitializer()
        {
            Personne[] Personnes = new Personne[]
            {
                new Personne()
                {
                    PersonneID = 72947, Genre = Genres.Femelle,
                    FirstName = "Paulette", LastName = "Cranston"
                },
            
                new Personne()
                {
                    PersonneID = 70854, Genre = Genres.Male,
                    FirstName = "Harry", LastName = "Kumar"
                },
            
                new Personne()
                {
                    PersonneID = 27947, Genre = Genres.Male,
                    FirstName = "Jules", LastName = "Davidson"
                },
                
                new Personne()
                {
                    PersonneID = 62835, Genre = Genres.Inconnu,
                    FirstName = "Leslie", LastName = "Harrington"
                },
            
                new Personne()
                {
                    PersonneID = 92958, Genre = Genres.Male,
                    FirstName = "Ernest", LastName = "Colson"
                },
                
                new Personne()
                {
                    PersonneID = 91749, Genre = Genres.Femelle,
                    FirstName = "Patricia", LastName = "Katts"
                },
            
                new Personne()
                {
                    PersonneID = 29749, Genre = Genres.Inconnu,
                    FirstName = "Patrice", LastName = "Abanda"
                },
            
                new Personne()
                {
                    PersonneID = 24739, Genre = Genres.Male,
                    FirstName = "Frank", LastName = "Thomasson"
                }
            };

            return Personnes;
        }

        private void ShowPersonnes(Personne[] Personnes)
        {
            foreach (Personne pers in Personnes)
            {
                ListViewItem lviPersonne = 
			new ListViewItem(pers.PersonneID.ToString());

                lviPersonne.SubItems.Add(pers.FirstName);
                lviPersonne.SubItems.Add(pers.LastName);
                lviPersonne.SubItems.Add(pers.Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }


        private void Exercice_Load(object sender, EventArgs e)
        {
            Personne[] persons = ArrayInitializer();
            ShowPersonnes(persons);
        }
    }
}

Etude Pratique: En Créant un Tableau

  1. Pour créer une nouvelle classe, sur le menu principal, cliquez sur Projet -> Ajouter une classe ...
  2.  Définissez le nom comme Employee et appuyez Entrée
  3. Completez le fichier comme suit:
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace YNB1
    {
        public class Employee
        {
            public int EmployeeNumber;
            public string FirstName;
            public string LastName;
            public string Title;
            public bool CanCreateNewAccount;
            public double HourlySalary;
    
            public string FullName
            {
                get { return LastName + ", " + FirstName; }
            }
        }
    }
  4. Pour créer un formulaire qui sera utilisé pour afficher les informations des employés, au menu principal, cliquez Projet -> Ajouter un formulaire Windows
  5. Définissez le nom comme Employees et appuyez Entrée
  6. Créez le formulaire comme suit:
     
    Employees
     
    Control Text Name Other Properties
    ListView List View   lvwEmployees FullRowSelect: True
    GridLines: True
    Modifiers: Internal
    View: Details
    Columns
    (Name) Text TextAlign Width
    colIndex #   20
    colEmployeeNumber Empl #   50
    colFirstName Prénom   65
    colLastName Nom   65
    colFullName Nom Complet   95
    colTitle Titre   145
    colHourlySalary Salaire Right 50
    Button Button Fermer btnFermer  
  7. Pour créer une nouvelle classe, sur le menu principal, cliquez sur Projet -> Ajouter une classe ...
  8. Définissez le nom comme Client appuyez Entrée
  9. Completez le fichier comme suit:
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace YNB1
    {
        public enum StatutCompte
        {
            Actif,
            Suspendu,
            Fermé
        };
    
        public class Client
        {
            public string CrééPar;
            public DateTime DateCréée;
            public string NomClient;
            public string NuméroCompte;
            public string TypeCompte;
            public StatutCompte Statut;
        }
    }
  10. Pour créer une nouvelle classe, sur le menu principal, cliquez sur Projet -> Ajouter une classe ...
  11. Définissez le nom comme Clients appuyez Entrée
  12. Completez le fichier comme suit:
     
    Clients
     
    Control Text Name Other Properties
    ListView List View   lvwClients FullRowSelect: True
    GridLines: True
    Modifiers: Internal
    View: Details
    Columns
    (Name) Text TextAlign Width
    colIndex #   20
    colCreatedBy Créé Par   100
    colDateCreated Date Créée Center 75
    colClientName Nom du Client   120
    colAccountNumber # du Compte Center 80
    colAccountType Type de Compte   80
    coloStatutCompte Statut   50
    Button Button Close btnClose  
  13. Double-cliquez sur le bouton Fermer et mettre en œuvre son épreuve comme suit:
     
    private void btnFermer_Click(object sender, EventArgs e)
    {
        Close();
    }
  14. Pour créer une nouvelle classe, sur le menu principal, cliquez sur Projet -> Ajouter une classe...
  15. Définissez le nom comme TransactionCompte et appuyez Entrée
  16. Completez le fichier comme suit:
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace YNB1
    {
        public enum TypesTransactions
        {
            Dépot,
            Retrait,
            Transfert,
            FraisMensuels,
            Mandat,
            Surcharge,
            FraisTransaction
        }
    
        public class TransactionCompte
        {
            public DateTime DateTransaction;
            public int ProcédéPar;
            public string ProcédéPour;
            public TypesTransactions TransactionType;
            public double MontantDéposé;
            public double MontantRetiré;
            public double MontantFrais;
        }
    }
  17. Pour créer un nouveau formulaire qui montrera les transactions effectuées sur les comptes des clients, sur le menu principal, cliquez sur Projet -> Ajouter une formulaire Windows
  18. Définissez le nom comme TransactionsClients et appuyez sur Entrée
  19. Créer le formulaire comme suit:
     
    Transactions
     
    Control Text Name Other Properties
    ListView List View   lvwTransactions FullRowSelect: True
    GridLines: True
    Modifiers: Internal
    View: Details
    Columns
    (Name) Text TextAlign Width
    colIndex #   25
    colDateTransaction Date Trans Center 80
    colProcessedBy Procédé Par Center 80
    colProcessedFor Procédé Pour Center 90
    colTransactionType Type Trans   90
    colMontantDéposé Dépot Right  
    colMontantRetiré Retrait Right 65
    colChargeAmount Frais Right 50
    Button Button Fermer btnFermer  
  20. Double-cliquez sur le bouton Fermer et changez son code comme suit:
     
    private void btnFermer_Click(object sender, EventArgs e)
    {
          Close();
    }
  21. Pour créer une nouvelle classe, sur le menu principal, cliquez sur Projet -> Ajouter une classe...
  22.  Définissez le nom comme RapportsComptes et appuyez Entrée
  23. Completez le fichier comme suit:
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace YNB1
    {
        public static class RapportsComptes
        {
            public static Employee[] GetEmployees()
            {
                Employee[] StaffMembers = new Employee[]
                {
                    new Employee()
                    {
                        EmployeeNumber = 74228, FirstName = "Chrissie",
                        LastName = "Nomads", Title = "General Manager",
                        CanCreateNewAccount = true, HourlySalary = 40.25
                    },
    
                    new Employee()
                    {
                        EmployeeNumber = 27905, FirstName = "Calvin",
                        LastName = "Braxton", Title = "Public Relations Manager",
                        CanCreateNewAccount = false, HourlySalary = 25.95  
                    },
         
                    new Employee()
                    {
                        EmployeeNumber = 94805, FirstName = "Emilie",
                        LastName = "Pastore", Title = "Branch Manager",
                        CanCreateNewAccount = true, HourlySalary = 32.55  
                    },
         
                    new Employee()
                    {
                        EmployeeNumber = 39850, FirstName = "Walter",
                        LastName = "Lemme", Title = "Accounts Manager",
                        CanCreateNewAccount = true, HourlySalary = 28.35  
                    },
         
                    new Employee()
                    {
                        EmployeeNumber = 70594, FirstName = "Cecile",
                        LastName = "Richards", Title = "Accounts Representative",
                        CanCreateNewAccount = false, HourlySalary =   18.15 
                    },
          
                    new Employee()
                    {
                        EmployeeNumber = 85285, FirstName = "Joan",
                        LastName = "Verrion", Title = "Accounts Representative",
                        CanCreateNewAccount = false , HourlySalary =  14.85 
                    },
          
                    new Employee()
                    {
                        EmployeeNumber = 94852, FirstName = "Donald",
                        LastName = "Waters", Title = "Accounts Representative",
                        CanCreateNewAccount = false, HourlySalary =   16.45 
                    }
                };
    
                return StaffMembers;
            }
    
            public static Client[] GetClients()
            {
                Client[] Clients = new Client[]
                {
                    new Client()
                    {
                        CrééPar = "Lemme, Walter",
                        DateCréée = new DateTime(2007, 1, 16),
                        NomClient  ="Louis George Berholdt", 
    		    NuméroCompte  = "95-722947-93",
                        TypeCompte  = "Checking", Statut = StatutCompte.Actif
                    },
                    
                    new Client()
                    {
                        CrééPar = "Pastore, Emilie", 
    				DateCréée = new DateTime(2007, 1, 18),
                        NomClient ="William Foster", 
    		    NuméroCompte = "62-384638-48",
                        TypeCompte = " Checking", Statut = StatutCompte.Actif
                    },
                    
                    new Client()
                    {
                        CrééPar = "Lemme, Walter", 
    		    DateCréée = new DateTime(2007, 1, 18),
                        NomClient ="Catherine Hoods", 
    		    NuméroCompte = "92-318284-75",
                        TypeCompte = "Checking", Statut = StatutCompte.Actif
                    },
                    
                    new Client()
                    {
                        CrééPar = "Lemme, Walter", 
    		    DateCréée = new DateTime(2007, 3, 26),
                        NomClient ="Harriett Cranston", 
    		    NuméroCompte = "17-490040-83",
                        TypeCompte = "Saving", Statut = StatutCompte.Actif
                    },
    
                    new Client()
                    {
                        CrééPar = "Nomads, Chrissie", 
    		    DateCréée = new DateTime(2007, 4, 04),
                        NomClient ="Janice Bonnie Weiss", 
    		    NuméroCompte = "58-405048-15",
                        TypeCompte = "Checking", Statut = StatutCompte.Actif
                    }
                };
    
                return Clients;
            }
    
            public static TransactionCompte[] GetTransactions()
            {
                TransactionCompte[] Transactions = new TransactionCompte[]
                {
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007, 1,16),
                        ProcédéPar  = 39850,
                        ProcédéPour  = "95-722947-93",
                        TransactionType = TypesTransactions.Dépot, 
    		    MontantDéposé = 325.50
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007, 1,18), 
    		    ProcédéPar = 94805,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Dépot, 
    		    MontantDéposé = 550.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,18), 
    		    ProcédéPar = 39850,
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.Dépot, 
    		    MontantDéposé = 975.35
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,22), 
    		    ProcédéPar = 94852,
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 100.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,22), 
    		    ProcédéPar = 70594,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 122.48
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,22),
    		    ProcédéPar = 94852,
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 214.86
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,22), 
    		    ProcédéPar = 85285,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 140.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,24), 
                        ProcédéPar = 85285,
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Mandat,
                        MontantRetiré = 116.24
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,24),
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.FraisTransaction,
                        MontantFrais  = 1.45
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,30), 
                        ProcédéPar = 70594,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 40.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,30),
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,30),
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,1,30),
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,06), 
    		    ProcédéPar = 85285,
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 42.35
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,06), 
    		    ProcédéPar = 70594,
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 115.00 
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,06), 
    		    ProcédéPar = 94852,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 64.14
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,28),
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.FraisMensuels, 
    		    MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,28),
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Surcharge,
                        MontantRetiré = 35.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,28),
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.FraisMensuels, 
    		    MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,2,28),
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.FraisMensuels, 
    		    MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,3,15), 
    		    ProcédéPar = 70594,
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Retrait,
                        MontantRetiré = 200.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,3,26), 
    		    ProcédéPar = 39850,
                        ProcédéPour = "17-490040-83",
                        TransactionType = TypesTransactions.Dépot,
                        MontantDéposé = 1000.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,4), 
    		    ProcédéPar = 74228,
                        ProcédéPour = "58-405048-15",
                        TransactionType = TypesTransactions.Dépot,
                        MontantDéposé = 126.85
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,6), 
    		    ProcédéPar = 85285,
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.Dépot,
                        MontantDéposé = 250.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,6), 
    		    ProcédéPar = 70594,
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.Dépot,
                        MontantDéposé = 400.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,12), 
    		    ProcédéPar = 94852,
                        ProcédéPour = "95-722947-93",
                        TransactionType = TypesTransactions.Dépot,
                        MontantDéposé = 100.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,30),
                        ProcédéPour = "58-405048-15",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,30),
                        ProcédéPour = "62-384638-48",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00 
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,30),
                        ProcédéPour = "92-318284-75",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    },
                    new TransactionCompte()
                    {
                        DateTransaction = new DateTime(2007,4,30),
                        ProcédéPour = "17-490040-83",
                        TransactionType = TypesTransactions.FraisMensuels,
                        MontantFrais = 6.00
                    }
                };
    
                return Transactions;
            }
        }
    }
  24. Accédez à la forme Centrale et ajoutez un bouton
  25. Changez les propriétés du bouton comme suit:
    (Nom): btnEmployees
    Text: Employés
  26. Double-cliquez sur le bouton Employés et écrivez l'événement comme suit:
     
    private void btnEmployees_Click(object sender, EventArgs e)
    {
        int i = 1;
        Employees frmEmployees = new Employees();
        Employee[] StaffMembers = RapportsComptes.GetEmployees();
    
        frmEmployees.lvwEmployees.Items.Clear();
    
        foreach (Employee empl in StaffMembers)
        {
            ListViewItem lviEmployee = new ListViewItem(i.ToString());
    
            lviEmployee.SubItems.Add(empl.EmployeeNumber.ToString());
            lviEmployee.SubItems.Add(empl.FirstName);
            lviEmployee.SubItems.Add(empl.LastName);
            lviEmployee.SubItems.Add(empl.FullName);
            lviEmployee.SubItems.Add(empl.Title);
            lviEmployee.SubItems.Add(empl.HourlySalary.ToString("F"));
    
            frmEmployees.lvwEmployees.Items.Add(lviEmployee);
            i++;
        }
    
        frmEmployees.ShowDialog();
    }
  27. Retournez à la forme Centrale ajoutez un bouton
  28. Changez les propriétés du bouton comme suit:
    (Name): btnClients
    Texte: Clients
  29. Double-cliquez sur le bouton Clients et écrivez le code comme suit:
     
    private void btnClients_Click(object sender, EventArgs e)
    {
                int i = 1;
                Clients frmClients = new Clients();
                Client[] Clients = RapportsComptes.GetClients();
    
                frmClients.lvwClients.Items.Clear();
    
                foreach (Client client in Clients)
                {
                    ListViewItem lviClient = new ListViewItem(i.ToString());
    
                    lviClient.SubItems.Add(client.CrééPar);
                    lviClient.SubItems.Add(client.DateCréée.ToShortDateString());
                    lviClient.SubItems.Add(client.NomClient);
                    lviClient.SubItems.Add(client.NuméroCompte);
                    lviClient.SubItems.Add(client.TypeCompte);
                    lviClient.SubItems.Add(client.Statut.ToString());
    
                    frmClients.lvwClients.Items.Add(lviClient);
                    i++;
                }
    
                frmClients.ShowDialog();
    }
  30. Rournez à la forme Centrale et ajoutez un bouton
  31. Changez les propriétés du bouton comme suit:
    (Name): btnTransactions
    Texte: Transactions
  32. Double-cliquez sur le bouton Clients et écrivez le code comme suit:
     
    private void btnTransactions_Click(object sender, EventArgs e)
    {
        int i = 1;
        TransactionsClients frmTransactions = new TransactionsClients();
        TransactionCompte[] Transactions = RapportsComptes.GetTransactions();
    
        frmTransactions.lvwTransactions.Items.Clear();
    
        foreach (TransactionCompte ActTrans in Transactions)
        {
             ListViewItem lviTransactions = new ListViewItem(i.ToString());
    
             lviTransactions.SubItems.Add(
             ActTrans.DateTransaction.ToString("dd-MMM-yyyy"));
    
            if (ActTrans.ProcédéPar == 0)
                lviTransactions.SubItems.Add("");
            else
                lviTransactions.SubItems.Add(ActTrans.ProcédéPour.ToString());
    
            lviTransactions.SubItems.Add(ActTrans.ProcédéPour);
            lviTransactions.SubItems.Add(ActTrans.TransactionType.ToString());
    
            if (ActTrans.MontantDéposé == 0)
                lviTransactions.SubItems.Add("");
            else
                lviTransactions.SubItems.Add(
    		ActTrans.MontantDéposé.ToString("F"));
    
            if (ActTrans.MontantRetiré == 0)
                lviTransactions.SubItems.Add("");
            else
                lviTransactions.SubItems.Add(
    	           ActTrans.MontantRetiré.ToString("F"));
    
            if (ActTrans.MontantFrais == 0)
                lviTransactions.SubItems.Add("");
            else
                lviTransactions.SubItems.Add(
    		ActTrans.MontantFrais.ToString("F"));
    
            frmTransactions.lvwTransactions.Items.Add(lviTransactions);
                i++;
        }
    
        frmTransactions.ShowDialog();
    }
  33. Exécuter l'application pour voir le results
  34. Fermez les formes et revenez à votre environnement de programmation

Operations sur les Tableaux

 

Introduction

Parce qu'un tableau est tout d'abord une série d'objets ou de valeurs, il existe plusieurs types d'informations que vous pouvez en obtenir. Les opérations typiques sont:

  • Ajouter des éléments au tableau
  • Réorganizeationr la liste ou l'ordre des éléments dans le tablau
  • Trouver si le tableau contient un certain element ou pas
  • Si le tableau contient un certain élément, trouver l'indice de cet élément

Bien que vous puissiez créer votre propre routine pour effectuer ces opérations, la classe Array fournit la plupart des méthodes utiles pour obtenir les informations nécessaires.

Etude Pratique: Pour Faire des Operations sur les Tableaux

  1. Pour créer un nouveau formulaire, dans le menu principal, cliquez sur Projet -> Ajouter un formulaire Windows
  2. Spécifiez le nom comme TransactionsClient et appuyez sur Entrée
  3. Créer le formulaire comme suit:
     
    Transactions Client
     
    Control Text Name Other Properties
    Label Label View Transactions For:    
    MaskedTextBox MaskedTextBox   txtAccountNumber Mask: 00-000000-00
    Button Button Trouvez btnTrouver  
    ListView List View   lvwClients FullRowSelect: True
    GridLines: True
    View: Details
    Columns
    (Name) Text TextAlign Width
    colIndex #   25
    colDateTransaction Date Trans Center 80
    colProcessedBy Procédé Par Center 80
    colTransactionType Type Trans   90
    colDeposit Dépot Right  
    colWithdrawal Retrait Right 65
    colChargeAmount Frais Right 50
    Label Label Dépots Totaux    
    TextBox Text Box   txtDepotsTotaux 0.00
    Label Label Frais Totaux    
    TextBox Text Box   txtFraisTotaux 0.00
    Label Label Retraits Totaux    
    TextBox Text Box   txtRetraitsTotaux 0.00
    Label Label Balance    
    TextBox Text Box   txtBalance 0.00
    Button Button Fermer btnFermer  
  4. Save all

Ajouter un Element à un Tableau

Nous avons vu que, en utilisant l'opérateur [], vous pouvez ajouter un nouvel élément à un tableau. Pour soutenir cette opération, la classe Array est équipée de la méthode SetValue() qui est surchargée avec différentes versions. Voici un exemple qui ajoute un élément à la troisième position du tableau:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        Personne[] Personnes;

        public Exercice()
        {
            InitializeComponent();
        }

        private Personne[] ArrayInitializer()
        {
            Personnes = new Personne[8];

            for(int i = 0; i < 8; i++)
            {
                Personnes[i] = new Personne();
                Personnes[i].PersonneID = 0;
                Personnes[i].FirstName = "";
                Personnes[i].LastName = "";
                Personnes[i].Genre = Genres.Inconnu;
            }

            return Personnes;
        }

        private void ShowPersonnes(Personne[] Personnes)
        {
            lvwPersonnes.Items.Clear();

            foreach (Person pers in Personnes)
            {
                ListViewItem lviPerson = 
			new ListViewItem(pers.PersonneID.ToString());

                lviPersonne.SubItems.Add(pers.FirstName);
                lviPersonne.SubItems.Add(pers.LastName);
                lviPersonne.SubItems.Add(pers.Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            Personne[] persons = ArrayInitializer();
            ShowPersonnes(persons);
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Person pers = new Personne();

            pers.PersonneID = int.Parse(txtPersonneID.Text);
            pers.FirstName = txtFirstName.Text;
            pers.LastName = txtLastName.Text;
            if (cbxGenres.Text == "Male")
                pers.Genre = Genres.Male;
            else if (cbxGenres.Text == "Femelle")
                pers.Genre = Genres.Femelle;
            else
                pers.Genre = Genres.Inconnu;

            Personnes.SetValue(pers, 2);
            ShowPersonnes(Personnes);
        }
    }
}

Lorsque la méthode Array.SetValue() est appelée, elle remplace l'élément à la position indiquée.

Obtenant l'Elément d'un Tableau

L'inverse d'ajout d'un élément à un tableau est d'en récupérer un. Vous pouvez le faire avec l'opérateur []. Pour soutenir cette opération, la classe Array est équipée de la méthode GetValue() qui vient en différentes versions. Voici un exemple:

private void lvwPersonnes_ItemSelectionChanged(object sender,
		ListViewItemSelectionChangedEventArgs e)
{
    Person pers = (Person)Personnes.GetValue(e.ItemIndex);

    txtPersonneID.Text = pers.PersonneID.ToString();
    txtFirstName.Text = pers.FirstName;
    txtLastName.Text = pers.LastName;
    cbxGenres.Text = pers.Genre.ToString();
}

Lorsque vous appelez cette méthode, assurez-vous de fournir un indice valable, si vous ne le faites pas, vous obtiendriez une exception IndexOutOfRangeException.

Pour Vérifier l'Existence d'un Element

Une fois que certains éléments ont été ajoutés à un tableau, vous pouvez essayer de trouver un. L'un des moyens les plus fondamentaux de la recherche d'un élément consiste à savoir si un certain élément existe dans le tableau. Pour soutenir cette opération, la classe Array est équipée d'une méthode appelée Exists dont la syntaxe est la suivante:

public static bool Exists<T>(T[] array, Predicate<T> match);

C'est une méthode générique qui prend deux arguments. Le premier est le tableau sur lequel vous cherchez l'élément. Le deuxième argument est un délégué qui précise ou contient le critère à appliquer. Voici un exemple:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Tableaux
{
    public partial class Exercice : Form
    {
        Personne[] Personnes;
        static int IDToFind;

        public Exercice()
        {
            InitializeComponent();
        }

        private Personne[] ArrayInitializer()
        {
            Personnes = new Personne[]
            {
                . . . No Change
            };

            return Personnes;
        }

        private void ShowPersonnes(Personne[] Personnes)
        {
            lvwPersonnes.Items.Clear();

            foreach (Person pers in Personnes)
            {
                ListViewItem lviPerson = 
			new ListViewItem(pers.PersonneID.ToString());

                lviPersonne.SubItems.Add(pers.FirstName);
                lviPersonne.SubItems.Add(pers.LastName);
                lviPersonne.SubItems.Add(pers.Genre.ToString());

                lvwPersonnes.Items.Add(lviPerson);
            }
        }

        private void Exercice_Load(object sender, EventArgs e)
        {
            Personne[] persons = ArrayInitializer();
            ShowPersonnes(persons);
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Person pers = new Personne();

            pers.PersonneID = int.Parse(txtPersonneID.Text);
            pers.FirstName = txtFirstName.Text;
            pers.LastName = txtLastName.Text;
            if (cbxGenres.Text == "Male")
                pers.Genre = Genres.Male;
            else if (cbxGenres.Text == "Femelle")
                pers.Genre = Genres.Femelle;
            else
                pers.Genre = Genres.Inconnu;

            Personnes.SetValue(pers, 2);
            ShowPersonnes(Personnes);
        }

        private static bool IDExists(Person p)
        {
            if (p.PersonneID == Exercice.IDToFind)
                return true;
            else
                return false;
        }

        private void btnExists_Click(object sender, EventArgs e)
        {
            IDToFind = int.Parse(txtPersonneID.Text);

            if (Array.Exists<Person>(Personnes, IDExists))
                MessageBox.Show("The person was found");
            else
                MessageBox.Show("The person was not found anywhere");
        }
    }
}

Tableaux

Tableaux

Etude Pratique: Pour Vérifier l'Existence d'un Elément

  1. Sur le compte des transactions, double-cliquez sur le bouton Chercher et modifier le fichier de la façon suivante:
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace YNB1
    {
        public partial class TransactionsClient : Form
        {
            static string NuméroCompte;
    
            public TransactionsClient()
            {
                InitializeComponent();
            }
    
            private static bool NuméroCompteExiste(Client Client)
            {
                if (Client.NuméroCompte == NuméroCompte)
                    return true;
                else
                    return false;
            }
    
            private void btnTrouver_Click(object sender, EventArgs e)
            {
                NuméroCompte = txtAccountNumber.Text;
                Client[] Comptes = RapportsComptes.GetClients();
    
                if (Array.Exists<Client>(Comptes, NuméroCompteExiste))
                {
                    MessageBox.Show("Parfait");
                }
                else
                    MessageBox.Show("Il n'y a aucun numéro de compte " +
                                    "comme celui que vous avez mis.");
            }
        }
    }
  2. Affichez le formulaire central et complètez son design comme suit:
     
    Yugo National Bank
    Button Text Name
    Button Employees btnEmployees
    Button Clients btnClients
    Button Transactions btnTransactions
    Button Rapports btnRapports
    Button Fermer btnFermer
  3. Double-cliquez sur le bouton Clients Records et écrivez son code comme suit:
     
    private void btnRapports_Click(object sender, EventArgs e)
    {
        TransactionsClients transClients = new TransactionsClients();
        transClients.ShowDialog();
    }
  4. Retournez au formulaire Central et double-cliquez sur le bouton Fermer
  5. Ecrivez son code comme suit:
     
    private void btnFermer_Click(object sender, EventArgs e)
    {
        Close();
    }
  6. Exécutezr l'application pour la tester
  7. Fermez les formulaires et revenez à votre environnement de programmation

Trouver un Element

Une des plus importantes opérations que vous pouvez effectuer sur un tableau consiste en la recherche d'un élément particulier. Pour vous aider à faire cela, la classe Array est équipée de la méthode Find(). Sa syntaxe est la suivante:

public static T Find<T>(T[] >array, Predicate<T> match);

Cette méthode générique prend deux arguments. Le premier argument est le nom du tableau qui détient les éléments. Le deuxième argument est un délégué qui a le critère à utiliser pour trouver l'élément. Voici un exemple:

private void btnFind_Click(object sender, EventArgs e)
{
    IDToFind = int.Parse(txtPersonneID.Text);

    Person pers = Array.Find<Person>(Personnes, IDExists);

    if (pers != null)
    {
        txtFirstName.Text = pers.FirstName;
        txtLastName.Text = pers.LastName;
        cbxGenres.Text = pers.Genre.ToString();
    }
}

Etude Pratique: Pour Trouver un Elément

  1. Accédez au code du fichier TransactionsClient.cs et modifiez l'événement Click du bouton Trouver comme suit:
     
    private void btnTrouver_Click(object sender, EventArgs e)
    {
        /* NuméroCompte = txtAccountNumber.Text;
        Client[] Comptes = RapportsComptes.GetClients();
    
        if (Array.Exists<Client>(Comptes, NuméroCompteExiste))
        {
            MessageBox.Show("Parfait");
        }
        else
            MessageBox.Show("Il n'y a aucun numéro de compte " +
                                    "comme celui que vous avez mis.");*/
    
        double TotalDeposits = 0;
                double TotalWithdrawals = 0;
                double TotalCharges = 0;
                double Balance;
    
                NuméroCompte = txtAccountNumber.Text;
                Client[] Accounts = RapportsComptes.GetClients();
                TransactionCompte[] Trans = RapportsComptes.GetTransactions();
                bool AccountFound =
                Array.Exists<Client>(Accounts, NuméroCompteExiste);
    
                if (AccountFound == true)
                {
                    int i = 1;
                    lvwTransactions.Items.Clear();
    
                    foreach (TransactionCompte ActTrans in Trans)
                    {
                        if (ActTrans.ProcédéPour == NuméroCompte)
                        {
                            ListViewItem lviTransactions =
                        new ListViewItem(i.ToString());
    
                            lviTransactions.SubItems.Add(
                        ActTrans.DateTransaction.ToString("dd-MMM-yyyy"));
    
                            if (ActTrans.ProcédéPar  == 0)
                                lviTransactions.SubItems.Add("");
                            else
                                lviTransactions.SubItems.Add(
                        ActTrans.ProcédéPar.ToString());
    
                            lviTransactions.SubItems.Add(
                        ActTrans.TransactionType.ToString());
    
                            if (ActTrans.MontantDéposé == 0)
                                lviTransactions.SubItems.Add("");
                            else
                                lviTransactions.SubItems.Add(
                        ActTrans.MontantDéposé.ToString("F"));
    
                            if (ActTrans.MontantRetiré == 0)
                                lviTransactions.SubItems.Add("");
                            else
                                lviTransactions.SubItems.Add(
                        ActTrans.MontantRetiré.ToString("F"));
    
                            if (ActTrans.MontantFrais == 0)
                                lviTransactions.SubItems.Add("");
                            else
                                lviTransactions.SubItems.Add(
                        ActTrans.MontantFrais.ToString("F"));
    
                            lvwTransactions.Items.Add(lviTransactions);
    
                            i++;
                        }
                    }
    
            foreach (ListViewItem lviTransaction in lvwTransactions.Items)
            {
                        if (lviTransaction.SubItems[4].Text != "")
                            TotalDeposits = TotalDeposits +
                        double.Parse(lviTransaction.SubItems[4].Text);
                        if (lviTransaction.SubItems[5].Text != "")
                            TotalWithdrawals = TotalWithdrawals +
                        double.Parse(lviTransaction.SubItems[5].Text);
                        if (lviTransaction.SubItems[6].Text != "")
                            TotalCharges = TotalCharges +
                        double.Parse(lviTransaction.SubItems[6].Text);
            }
    
            Balance = TotalDeposits - (TotalWithdrawals + TotalCharges);
            txtDepotsTotaux.Text = TotalDeposits.ToString("F");
            txtRetraitsTotaux.Text = TotalWithdrawals.ToString("F");
            txtFraisTotaux.Text = TotalCharges.ToString("F");
            txtBalance.Text = Balance.ToString("F");
        }
        else
            MessageBox.Show("Aucun client ne possède ce numéro de compte");
    }
  2. Retour au formulaire et double-cliquez sur le bouton Fermer
  3. Ecrivez son code comme suit:
     
    private void btnFermer_Click(object sender, EventArgs e)
    {
        Close();
    }
  4. Executez l'application pour la tester

Downloads:

Tableaux

Yugo National Bank

 

 

 

 

 
 

Accueil Copyright © 2009, yevol.com