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

C++Builder Discussion :

Sauvegarder un tableau


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut Sauvegarder un tableau
    Bonjour,

    J'ai crée un tout petit programme ou l'utilisateur peux ecrire des données dans un tableau, mais comment faire pour que quand l'utilisateur ferme et re-ouvre le programme, les données entrées précédamment soient encore là?

    Quel serait la méthode la plus adaptée pour sauvegarder le contenu du tableau (StringGrid).

    Merci d'avance.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    En cherchant un petit peu j'ai trouvé ceci sur le forum :
    http://www.developpez.net/forums/sho...d.php?t=415742

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    J'ai plusieurs problèmes avec cette technique.

    1. Mon tableau comporte 16 colones et 4 lignes, comment sauvegarder tout cela pour qu'après je puisse le relire au démarrage du programme ? J'arrive très bien a enregistrer en faisant 4 boucles for mais après je ne sait pas comment relire tout ca.

    Merci de votre aide !

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Grace à la même technique et a la fonction LoadToFile cela devrait fonctionner

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Par exemple :

    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
     
    void __fastcall TForm1::Enregistrer1Click(TObject *Sender)
    {
    if(SaveDialog1->Execute())
        {
        TStringList *Fichier = new TStringList;
        int NbCol = StringGrid1->ColCount;
        int NbRow = StringGrid1->RowCount;
        Fichier->Add(IntToStr(NbCol));
        Fichier->Add(IntToStr(NbRow));
        for(int y = 0; y < NbRow; y++)
            {
            for(int x=0; x < NbCol; x++)
                {
                Fichier->Add(StringGrid1->Cells[x][y]);
                }
            }
        Fichier->SaveToFile(SaveDialog1->FileName);
        Fichier->Clear();
        delete 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
    20
    21
    22
    23
    24
    25
    26
    27
     
    void __fastcall TForm1::Ouvrir1Click(TObject *Sender)
    {
    if(OpenDialog1->Execute())
        {
        TStringList *Fichier = new TStringList;
        Fichier->LoadFromFile(OpenDialog1->FileName);
     
        int NbCol = Fichier->Strings[0].ToInt();
        StringGrid1->ColCount = NbCol;
        Fichier->Delete(0);
     
        int NbRow = Fichier->Strings[0].ToInt();
        StringGrid1->RowCount = NbRow;
        Fichier->Delete(0);
        int y;
        int x;
        for(int j = 0; j < Fichier->Count; j++)
            {
            y = j / NbCol;
            x = j % NbCol;
            StringGrid1->Cells[x][y] = Fichier->Strings[j];
            }
        Fichier->Clear();
        delete Fichier;
        }
    }
    A plus !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Merci a vous deux ! Ca fonctionne très bien !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 13/05/2009, 11h00
  2. sauvegarder un tableau dans un fichier
    Par jonezy0621 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2009, 01h37
  3. Réponses: 11
    Dernier message: 18/04/2007, 17h39
  4. Comment sauvegarder un tableau
    Par Aurore_atmo dans le forum MATLAB
    Réponses: 5
    Dernier message: 13/07/2006, 11h17
  5. Sauvegarder un tableau 2D en BMP
    Par homeostasie dans le forum MFC
    Réponses: 12
    Dernier message: 17/05/2005, 10h36

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