Bonjour,
Comment faire pour convertir ce qu'il y a dans un TEdit (String) pour mêttre dans une variable char ?
Pour être plus précis j'aimerais mettre dans un fichier texte ce qu'il y a dans un TEdit ..
Version imprimable
Bonjour,
Comment faire pour convertir ce qu'il y a dans un TEdit (String) pour mêttre dans une variable char ?
Pour être plus précis j'aimerais mettre dans un fichier texte ce qu'il y a dans un TEdit ..
Pour convertir un AnsiString en char:
Pour dumper dans un fichier de nombreaux composants de la VCL ont une méthode SaveToFile, regarde dans la doc pour TEdit. Dans ce cas pas besoin de char.Code:
1
2
3
4
5 char* pszText = new char[edit1->Text.Length()]; ZeroMemory(pszText, edit1->Text.Length()); strcpy(pszText, edit1->Text.c_str()); delete [] pszText;
Sinon je trouve FILE très bien aussi:
Voilà ;)Code:
1
2
3
4
5
6
7 FILE* fFile; fFile=fopen("toto.txt","a"); if (fFile) { fwrite(pszText, 1, strlen(pszText), fFile); fClose(fFile); }
Yarp
www.senosoft.com
Perso j'utilise un TStringList:
Code:
1
2
3
4
5 TStringList *fichier = new TStringList(); //création du fichier à sauvegarder fichier->Add(Edit1->Text); //ajout du texte de Edit1 fichier->SaveToFile("C:\\Fichier.txt"); //sauvegarde dans un fichier delete fichier; //supression du TStringList
Avec la solution a bandit il remplace a chaque fois que je clique sur le bouton ce qu'il y a dans le fichier..
Moi j'aimerais ajouter..
Merci
Il te suffit d'ouvrir le fichier avant d'ajouter ta ligne:Citation:
Envoyé par El-Diablo-
Code:
1
2
3
4
5
6 TStringList *fichier = new TStringList(); //création du fichier à sauvegarder fichier->LoadFromFile("C:\\Fichier.txt"); //ouvre le fichier fichier->Add(Edit1->Text); //ajout du texte de Edit1 fichier->SaveToFile("C:\\Fichier.txt"); //sauvegarde dans un fichier delete fichier; //supression du TStringList
:aie: Merci...
Mais au fait.. J'aimerais quand quand je clique sur le bouton il me tire en bas toutes les lettre de l'alphabet de "A" à "Z".. Avec le code que j'ai maintenant il me sors une lettre a chaque fois que j'appuie sur le bouton..
:aie:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 void __fastcall TForm1::buEcrireClick(TObject *Sender) { edAffichage->Text = IntToStr((int)lettre) + " = " + lettre++; TStringList *fichier = new TStringList(); fichier->LoadFromFile("C:\\Fichier.txt") ; fichier->Add(edAffichage->Text); fichier->SaveToFile("C:\\Fichier.txt"); delete fichier; } //---------------------------------------------------------------------------
J'ai pas très bien compris ce que tu veux, tu peux me donner un exemple?
En fait tu ajoutes dans ton fichier une chaine de type AnsiString. Tu peux y écrire ce que tu veux.
Dans ton code tu écris un entier(la valeur de la lettre en ASCII), une chaine(" = "), et un caractère(ta lettre).
Si tu veux mettre tout sur une seule ligne, il faut que tu fasses une boucle comme dans ton autre post seulement au lieu de rajouter dans le Memo1, tu l'ajoute à ta chaine:
Code:
1
2
3
4 AnsiString texte; for(char lettre='A'; lettre<='Z';lettre++) texte += IntToStr((int)lettre) + " = " + lettre + " ";