![]()
Bonjour,
Je suis débutant en C++.
Je voudrais savoir comment faire pour enregistrer le contenu de plusieur Tedit dans un fichier texte sous Cpp Builder. merci de votre aide
![]()
![]()
Bonjour,
Je suis débutant en C++.
Je voudrais savoir comment faire pour enregistrer le contenu de plusieur Tedit dans un fichier texte sous Cpp Builder. merci de votre aide
![]()
Salut !
Peut-être en utilisant un TStringList.
Une mise en tableau des TEdit peut contribuer à simplifier le code pour les échanges entre le TStringList et les TEdit.
Si ces TEdit sont construits dynamiquement on a intérêt à développer une classse dérivant de TComponent pour détenir ces TEdit et gérer les échanges vers le fichier.
A plus !
Je voudrais bien utiliser une TstringList mais je n'arrive pas a faire fonctionner, meme avec la doc de cpp builder. serait-ce trop que demander un petit exemple? ... désolé mais je suis vraiment trés débutant.
Tu peux mettre le code suivant dans le OnClick d'un bouton ou d'un menu:
ps Je n'ai pas testé le code. Je ne sais pas non plus si SaveToFile va écrire une ligne pour chaque occurence de la liste ou s'il faut ajouter soi-même un crlf ('\n') en fin de ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TStringList* lst = new TStringList; lst->Add(Edit1->Text); lst->Add(Edit2->Text); lst->SaveToFile("c:\\toto.txt"); delete lst;
On retrouve souvent les mêmes methodes - qui font bien entendu la même chose. Quand tu en connait une tu peux te douter de ce que font les autres.
Ainsi Add() pour ajouter dans une liste, Delete() pour supprimer, SaveTo*() pour enregistrer, Count pour compter.
Le tout est de les pratiquer mais ça vient vite.
Bon courage
Yarp
www.senosoft.com
Merci beaucoup sa marche trés bien![]()
Avec quelque modification j'ai pu faire exaxtement ce que je voulais
Salut !
Par exemple, j'ai 5 TEdit sur ma form.
On déclare en global :
Dans le constructeur de la form on place le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #define NbEdits 5 TEdit *Edits[NbEdits]; AnsiString Filepath;
J'ai deux boutons dont voici leur OnClick respective :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //Le dossier sera celui de l'exécutable Filepath = ExtractFilePath(Application->ExeName); //Initialisation du tableau Edits[0] = Edit1, Edits[1] = Edit2; Edits[2] = Edit3; Edits[3] = Edit4; Edits[4] = Edit5;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void __fastcall TForm1::SaveButtonClick(TObject *Sender) { TStringList *Fichier = new TStringList; for(int j = 0; j < NbEdits; j++) { Fichier->Add(Edits[j]->Text); } Fichier->SaveToFile(Filepath + "Essais.txt"); Fichier->Clear(); delete Fichier; }Le fait d'utiliser un tableau ramène l'échange vers le fichier à une simple boucle.
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 void __fastcall TForm1::LoadButtonClick(TObject *Sender) { AnsiString Filename = Filepath + "Essais.txt"; if(FileExists(Filename)) { TStringList *Fichier = new TStringList; Fichier->LoadFromFile(Filename); for(int j = 0; j < NbEdits; j++) { Edits[j]->Text = Fichier->Strings[j]; } Fichier->Clear(); delete Fichier; } }
Ce n'est qu'un exemple !
A plus !
Partager