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 :

[C++ Builder]StringGrid éfface EditText dans un fichier


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 18
    Points
    18
    Par défaut [C++ Builder]StringGrid éfface EditText dans un fichier
    Bonsoir ou Re-Bonsoir,

    Vous allez surement me prendre pour un imbécile qui ne prend même pas la peine de faire des recherches sur le net, mais les recherches c'est pas ce que je néglige ...

    Je vous expose mon deuxieme problème :

    J'ai donc le contenu de mes deux qui s'enregistre correctement dans mon fichier.
    J'ai trouvé un code (sur ce forum) permettant d'enregistrer le contenu d'un StringGrid dans un fichier, il fonctionne lui aussi parfaitement.

    Mais lorsque que j'éssaie d'assembler les deux codes afin que le contenu des Edit et celui du StringGrid s'écrivent dans le fichier les un à la suite des autres :
    Edit1; Edit2;
    Col1; Col2; Col3;
    Col4; Col5; Col6;
    ...

    Voici mon code (J'ai essayé pas mal de choses différentes et ça me fait toujours la même chose :/).
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    void _fastcall  TForm2::Button1Click(TObject *Sender)
    {
    String nomP = Edit1->Text;
      String nomA = Edit2->Text;
     
      if (this->Enregistrer->Execute() == true)
     {
      AnsiString NomSave;
      NomSave = this->Enregistrer->FileName;
    	TStringList *sl = new TStringList();
    	try
    	{
    	  sl->Add(nomP +";"+ nomA);
    	  sl->SaveToFile(Enregistrer->FileName);
    	}
    	__finally
    	{
    	  delete sl;
    	}
     
      TStringList *StrGrd = new TStringList();
      for (int i=0;i<StringGrid1->RowCount;i++)
      {
       AnsiString Texte;
       for (int j=0;j<StringGrid1->ColumnCount;j++)
       {
    	if (j > 0)
    		 Texte += ";";
    	Texte += StringGrid1->Cells[j][i];
       }
       StrGrd->Add(Texte);
      }
    	StrGrd->SaveToFile(Enregistrer->FileName);
      delete StrGrd;
     }
     }
    Ca doit surement être tout bête mais je ne vois vraiment pas comment je dois assembler pour que ça fonctionne .

    Je vous en remercie d'avance .

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Malheureusement ca ne répond pas à ma question :/.
    Moi le StringGrid s'enregistre en "tableau" dans mon fichier donc c'est bon.
    C'est juste que je n'arrive pas à faire en sorte qu'il s'écrive à la suite de mes EditText.
    Dans mon fichier, j'ai seulement le contenu de mon StringGrid.

  4. #4
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    J'ai supprime le try __finally ainsi que le nouveau TStringList, je pense que la cela fonctionne
    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::Button1Click(TObject *Sender)
    {
    String nomP = Edit1->Text;
      String nomA = Edit2->Text;
      if (this->Enregistrer->Execute() == true)
     {
      AnsiString NomSave;
      NomSave = this->Enregistrer->FileName;
     TStringList *sl = new TStringList();
       sl->Add(nomP +";"+ nomA);
       sl->SaveToFile(Enregistrer->FileName);
      for (int i=0;i<StringGrid1->RowCount;i++)
      {
       AnsiString Texte;
       for (int j=0;j<StringGrid1->ColCount;j++)
       {
     if (j > 0)
       Texte += ";";
     Texte += StringGrid1->Cells[j][i];
       }
       sl->Add(Texte);
      }
     sl->SaveToFile(Enregistrer->FileName);
      delete sl;
     }
    }
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Merci encore beaucoup pour ton aide ! Ca fonctionne .
    Mais dans mon fichier maintenant j'ai :
    Test;Catskan
    A;1;2
    B;3;4
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    ;;
    Est ce possible de garder juste les cellules remplies ?

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Fait un teste si tes cellules sont vide alors tu n'enregistre pas dans le STringList
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Après quelques tests ça fonctionne parfaitement ! .
    Je te remercie infiniment pour ton aide .

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/08/2012, 19h13
  2. Sauver une StringGrid dans un fichier
    Par Rodrigue dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/12/2003, 14h52
  3. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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