Sauvegarder une simulation avec c# [Résolu]

cs_baby85 79 Messages postés mercredi 22 octobre 2008Date d'inscription 17 juin 2009 Dernière intervention - 10 avril 2009 à 01:45 - Dernière réponse : cs_baby85 79 Messages postés mercredi 22 octobre 2008Date d'inscription 17 juin 2009 Dernière intervention
- 14 avril 2009 à 12:33
bonsoir,
je suis entrain de réaliser un simulteur de réseau avec c#.
je
veux savoir comment je peux sauvegarder la derniere simultion faite et si c'est
possible le modifier
Merci d'vance pour votre aide
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 10 avril 2009 à 09:33
3
Merci
Bonjour,

A ce niveau là, c'est à toi de choisir comment tu veux procéder et de convenir à un "protocole" d'enregistrement.
Tu peux tout aussi bien enregistrer la simulation dans:
- un fichier plat (fichier XML, fichier Txt, fichier binaire...)
- une base de données

Tout dépend de ton besoin et des spécifications.

Par contre, ce sera à toi de coder le "trace" de la simulation un peu comme un fichier de log.
A mon avis, je pense qu'il te faut garder en tête que non seulement tu devras:
- restituer le résultat de la simulation (un fichier résultat peut-être ?)
- mais aussi, être capable de relancer la simulation à partir de ce dernier (un autre fichier, XML par exemple ?)

Voila, j'espère t'avoir aidé.

Bon courage et bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de billou_13
Meilleure réponse
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 10 avril 2009 à 11:03
3
Merci
Tu est donc sur la bonne voie (tu peux et tu dois [lol] me tutoyer, on est tous dans le même panier ici ^^ ).
Effectivement, ton fichier résultat est pratique mais uniquement en tant que résultat.
Le scénario de la simulation peut-être le même (donc même fichier, XML par exemple) mais les résultats peuvent différer dans le temps (fichiers résultats).
C'est pourquoi il est tout à fait logique de séparer ces fichiers.

Pour le fichier scénario (qui te permettra de relancer la simulation), je te propose la solution suivante (que j'aurai implémenter pour ma part).
Elle est assez simple et ne couvre pas à tous les besoins mais elle évite de passer par des fichiers de scripts de test qui introduierait la mise en place d'un analyseur syntaxique. (solution plus complexe)
Elle convient à des scénarii où seules les variables d'entrée changent mais pas le process complet en soit.

Exemple.

Tu créées une classe "Scenario" qui instanciera tous les objets contenant toutes les informations nécessaires au lancement de la simulation.
A partir d'un objet de type "Scenario", il faudrait que tu puisse lancer la simulation avec par exemple le code suivant:

Scenario test = new Scenario();//avec des valeurs d'entrée par exemple
test.StartTimeout = 1;//par exemple
//.. chargement de ton objet test en fonction de la config utilisateur ...
test.SaveTo(@"c:\temp\test1.xml");//Sauvegarde du test

Simulation.Launch(test);//Lancement du test [Méthode statique]

---------------------------------------------
    public class Scenario
    {
        /// <summary>
        /// The start timeout.
        /// </summary>
        private int _startTimeout;

        /// <summary>
        /// Initializes a new instance of the <see cref="Scenario"/> class.
        /// </summary>
        public Scenario()
        {
        }

        /// <summary>
        /// Gets or sets the start timeout.
        /// </summary>
        /// <value>The start timeout.</value>
        public int StartTimeout
        {
            get { return _startTimeout; }
            set { _startTimeout = value; }
        }

        /// <summary>
        /// Saves to XML file.
        /// </summary>
        /// The file path.

        public void SaveTo(string path)
        {
            using (TextWriter writer = new StreamWriter(path, false))
            {
                XmlSerializer ser = new XmlSerializer(typeof(Scenario));
                ser.Serialize(writer, this);
                writer.Close();
            }
        }

        /// <summary>
        /// Loads the specified scenario from file.
        /// </summary>
        /// The file path.

        /// <returns>The scenario.</returns>
        public static Scenario Load(string path)
        {
            Scenario test = null;

            using (TextReader reader = new StreamReader(path))
            {
                XmlSerializer ser = new XmlSerializer(typeof(Scenario));
                test = ser.Deserialize(reader) as Scenario;
                reader.Close();
            }

            return test;
        }
    }

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

    public static class Simulation
    {
        /// <summary>
        /// Launches the specified test.
        /// </summary>
        /// The test.

        public static void Launch(Scenario test)
        {
            //to do...
        }
    }

------------------------------------------
Et pour relancer le même test, voici le code:
Scenario reTest = Scenario.Load(@"c:\temp\test1.xml");//Chargement du test à partir du fichier
Simulation.Launch(reTest);

Voila, j'espère que cela te convient;

Bon courage,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de billou_13
cs_baby85 79 Messages postés mercredi 22 octobre 2008Date d'inscription 17 juin 2009 Dernière intervention - 10 avril 2009 à 10:31
0
Merci
bonjour,
merci bien pour votre réponse
j'ai deja sauvegarder dans un fichier resultat dasn un fichier text mais mon probleme est comment je peux  relancer la simulation à partir de ce dernier (un autre fichier, XML par exemple ?)
Merci d'avance
Commenter la réponse de cs_baby85
cs_baby85 79 Messages postés mercredi 22 octobre 2008Date d'inscription 17 juin 2009 Dernière intervention - 10 avril 2009 à 17:55
0
Merci
Meci bcp pour votre réponse
je vais essayer avec ce code
Commenter la réponse de cs_baby85
cs_baby85 79 Messages postés mercredi 22 octobre 2008Date d'inscription 17 juin 2009 Dernière intervention - 14 avril 2009 à 12:33
0
Merci
bonjour,
lorsque j'ai excuté ce programme il m'affiche de messages d'erreur  au niveau de
public static void Launch(Scenario test)
Error    1    Inconsistent accessibility: parameter type 'Simulateur.Scenario'
je veux savoir ou il faut faire l'instantation des objets de chaque classe et si ce possible me donner un petit exemple pour mieux comprendre
Merci d'avance
Commenter la réponse de cs_baby85

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.