IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

[C++.NET] Idee pour sauvegarde de variables


Sujet :

VC++ .NET

  1. #1
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut [C++.NET] Idee pour sauvegarde de variables
    Bonjour � tous,
    Alors voila dans une form j'ai des controls numericUpDown et j'aimerais sauvegarder les valeurs que l'utilisateur a rentr� lorsque il ferme l'application. Bien entendu lorsqu'il lance l'application et appuie sur le bouton 'charger' toutes les valeurs se mettent en place dans leur controls respectif.
    J'ai deja utilise la sauvegarde Xml mais c'etait avec des datasets.

    Que dois je utliser pour effectuer cette tache? (la plus facile a utiliser lol ).

    Si vous avez des exemples/liens/codes/explications je suis preneur.

    Merci @++

  2. #2
    Membre �m�rite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276

  3. #3
    Membre averti Avatar de yoyann
    Inscrit en
    Juillet 2005
    Messages
    37
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 37
    Par d�faut
    Salut,

    Tu peux te cr�er une classe singleton qui contiendra les pref�rences de l'application.
    A la fermeture tu serialises cette classe et � l'ouverture tu la d�serialises.

  4. #4
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Merci pour les reponses mais je trouve pas comment faire pour faire ca en C++ car sur msdn ya un tas de trucs genre pour les tableaux d'objets , d'objets de dataset, de Icollection, d'une classe qui contient un champ retournant un objet complexe.
    Comme d'habitude que des choses pas concretes et incomprehensible pour un debutant.

    Le lien en VB est bien mais c'est au niveau de la declaration que je bloque, impossible de convertir le VB en C++.

  5. #5
    Membre actif Avatar de netomin
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    81
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 81
    Par d�faut
    Si tu cherches un peu tu trouvera, tu veux un article sur la serialisation en C++?, j'ajoute ici UN que j'ai trouv� sur la web:

    http://www.developer.com/net/cplus/article.php/3350931

    Comme tu verra c'est le meme principe:

    C'est un exemple d'une classe serialisable.

    Ta classe serialisable:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    [Serializable]__gc class Programmer{public:  Programmer(String* firstName, String* lastName, Int32 age)  
    {  
    this->firstName = firstName;   
    this->lastName = lastName;    
    this->age = age;  
    }
    protected:  String* firstName;  
    String* lastName;   
    Int32 age; 
    public:  __property String* get_FirstName() 
    { 
    return this->firstName; 
    }  
    __property String* get_LastName() 
    { return this->lastName; 
    }  
    __property Int32 get_Age() 
    { 
    return this->age; 
    }
    };
    Tu garde cela dans un fichier, ici avec le exemple programmer:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    using namespace System::IO;
    using namespace System::Runtime::Serialization;
    using namespace System::Runtime::Serialization::Formatters::Binary;
    ...
    FileStream* stream = NULL;
    try
    {  
    Programmer* programmer = new Programmer("Joe", "Smith", 24);  
    stream = new FileStream(S"programmer.dat", FileMode::Create, FileAccess::ReadWrite);   
    BinaryFormatter* formatter = new BinaryFormatter();   
    formatter->Serialize(stream, programmer); 
    }
    catch(Exception* e)
    {  throw e;
    }
    __finally
    {  
    if (NULL != stream) stream->Close();
    }
    et apr�s tu d�serialises quand tu veux le r�cuperer de ton fichier:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    using namespace System::IO;
    using namespace System::Runtime::Serialization;
    using namespace System::Runtime::Serialization::Formatters::Binary;
    ...
    FileStream* stream = NULL;
    try
    {  stream = new FileStream(S"Programmer.dat", FileMode::Open, FileAccess::ReadWrite);   
    BinaryFormatter* formatter = new BinaryFormatter();   
    programmer = static_cast<Programmer*>(formatter->Deserialize(stream));
    }
    catch(Exception* e)
    {  
    throw e;
    }
    __finally
    {  
    if (NULL != stream) stream->Close();
    }
    Ce code vient du lien en anglais que j'ai post�, si tu y va, tu trouvera les explications de l'author. Tom Archer

    � +

  6. #6
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    J'ai suivi a peu pres ce qu'il y a de marque mais j'ai une erreur d'identificateur non declare.
    Je declare toutes mes varibles comme ci dessous:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public __gc class Positions_asperseurs : public System::Windows::Forms::Form
    public: 
               Positions_asperseurs(void)
    : pos_larg_asp1(0)
    , pos_long_asp1(0)
    , pos_larg_asp2(0)
    , pos_long_asp2(0)
    , pos_larg_asp3(0)
    , pos_long_asp3(0)
    , pos_larg_asp4(0)
    , pos_long_asp4(0)
    , pos_larg_asp5(0)
    , pos_long_asp5(0)
    , pos_larg_asp6(0)
    , pos_long_asp6(0)
    , pos_larg_asp7(0)
    , pos_long_asp7(0)
    , pos_larg_asp8(0)
    , pos_long_asp8(0)
    {
    InitializeComponent();
    }
    Et pour la serialisation ca donne ca:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    FileStream* stream = NULL;
    try
    {  
    Positions_asperseurs* save_pos = new Positions_asperseurs();
    stream = new FileStream(S"save_pos.dat", FileMode::Create, FileAccess::ReadWrite);   
    BinaryFormatter* formatter = new BinaryFormatter();   
    formatter->Serialize(stream, save_pos); 
    }
    catch(Exception* e)
    {  throw e;
    }
    __finally
    {  
    if (NULL != stream) stream->Close();
    }
    Alors ca compile bien mais j'ai une erreur lorsque je lance clique sur mon bouton quand l'appli est lancee.
    ca donne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    le type maquette.Positions_asperseurs dans l'assembly maquette, version=1.0.2313.29328, culture=neutral, publickeytoken=null n'est pas marque comme serializable
    Alors je sais pas d'ou ca peut venir??

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 14/09/2010, 16h39
  2. R�ponses: 11
    Dernier message: 02/10/2009, 10h28
  3. Id�es pour design d'application .net
    Par lord_anis dans le forum Windows Forms
    R�ponses: 1
    Dernier message: 18/08/2008, 19h13
  4. R�ponses: 3
    Dernier message: 11/11/2005, 12h59
  5. R�ponses: 5
    Dernier message: 21/10/2005, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo