bool Récupérer(out List<string> p_modèles, out List<Pièce> p_vecPièce, out List<Composante> p_vecComposante, out int p_prochainNuméro) { if (!File.Exists(FichierOrdinateur)) { p_prochainNuméro = PremierNuméro; p_modèles = new List<string>(); p_vecPièce = new List<Pièce>(); p_vecComposante = new List<Composante>(); return false; } using (FileStream ficModèle = File.OpenRead(FichierOrdinateur)) { BinaryFormatter formateur = new BinaryFormatter(); p_prochainNuméro = (int)formateur.Deserialize(ficModèle); p_modèles = (List<string>)formateur.Deserialize(ficModèle); p_vecPièce = (List<Pièce>)formateur.Deserialize(ficModèle); p_vecComposante = (List<Composante>)formateur.Deserialize(ficModèle); } return true; } /// <summary> /// Enregistre les données accumulées durant le programme et ce à la fermeture du tp /// </summary> /// <param name="p_modèle"></param> /// <param name="p_vecPièce"></param> /// <param name="p_vecComposante"></param> /// <param name="p_prochainNuméro"></param> void Enregistrer(List<string> p_modèle, List<Pièce> p_vecPièce, List<Composante> p_vecComposante, int p_prochainNuméro) { using (FileStream ficModèle = File.Create(FichierOrdinateur)) { BinaryFormatter formateur = new BinaryFormatter(); formateur.Serialize(ficModèle, p_prochainNuméro); formateur.Serialize(ficModèle, p_modèle); formateur.Serialize(ficModèle, p_vecPièce); formateur.Serialize(ficModèle, p_vecComposante); } } void Principale() { Console.ForegroundColor = ConsoleColor.DarkMagenta; List<string> modèles; List<Pièce> vecPièce = new List<Pièce>(); List<Composante> vecComposante = new List<Composante>(); int prochainNuméro; WriteLine("Bonjour et Bienvenue dans ce programme de gestion d'ordinateur et de composantes : \n" + "----------------------------------------------------------------------------------- \n"); Récupérer(out modèles, out vecPièce, out vecComposante, out prochainNuméro); //Menu Général qui passe en boucle jusqu'à ce que l'utilisateur choisisse de Quitter le programme. for (;;) { int choixGénéral; choixGénéral = LireInt32DansIntervalle("\n Veuillez choisir parmi les options suivantes : \n" + "\t 1 : Menu des modèles \n" + "\t 2 : Menu des pièces \n" + "\t 3 : Menu des composante \n" + "\t 4 : Autres options \n" + "\t 0 : Quitter le programme : ", 0, 4); /***/ if (choixGénéral == 0) break; /***/ switch (choixGénéral) { case 1: GérerMenuModèle(ref modèles); break; case 2: GérerMenuPièce(ref vecPièce, ref prochainNuméro, vecComposante); break; case 3: GérerMenuComposante(ref vecComposante, modèles, vecPièce); break; default: GérerMenuAutre(vecComposante, modèles, vecPièce); break; } Enregistrer(modèles, vecPièce, vecComposante, prochainNuméro); } }
4 févr. 2018 à 13:43
il y a un truc qu'il ne faut jamais faire en programmation: utiliser des accents, des cédilles, des tildes etc.. pour les noms de variable, de méthodes, de classe, de projet etc...
En effet si tu mets ce code sur un pc qui n'est pas dans la même langue, sur linux ou un mac il ne marchera pas.