[C++] Windows Form : textBox / System::String
Résolu
KX
Messages postés
19031
Statut
Modérateur
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je débute avec Visual Studio, et je travaille actuellement sur un projet Windows Form.
Je voudrais lire des mots dans une liste, et les écrire les uns aux dessous des autres dans un textBox, cependant je n'arrive pas à le faire à cause de l'utilisation de System::String
Voici des morceaux de mon code :
Je n'arrive pas à transformer System::String ni en std::string ni en char*
Savez-vous comment résoudre mon problème ? Si oui, merci d'avance !
Question annexe, à quoi sert l'accent circonflexe que je suis obligé de mettre dans les paramètres de EstAnagramme ?
Je débute avec Visual Studio, et je travaille actuellement sur un projet Windows Form.
Je voudrais lire des mots dans une liste, et les écrire les uns aux dessous des autres dans un textBox, cependant je n'arrive pas à le faire à cause de l'utilisation de System::String
Voici des morceaux de mon code :
std::list<std::string> dico; std::list<std::string>::const_iterator i(dico.begin()), n(dico.end()); bool EstAnagramme(System::String ^s1, std::string s2) {return true;} while (i!=n) { if (EstAnagramme(this->textBox1->Text,*i)) { this->textBox1->AppendText(*i); // problème ici ! this->textBox1->AppendText("\n"); } i++; }J'ai essayé de faire std::list<System::String> mais sans succès.
Je n'arrive pas à transformer System::String ni en std::string ni en char*
Savez-vous comment résoudre mon problème ? Si oui, merci d'avance !
Question annexe, à quoi sert l'accent circonflexe que je suis obligé de mettre dans les paramètres de EstAnagramme ?
A voir également:
- [C++] Windows Form : textBox / System::String
- Clé d'activation windows 10 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
- Windows movie maker - Télécharger - Montage & Édition
- Restauration systeme windows 10 - Guide
6 réponses
Salut.
Le prob-ème c'est que là tu ne fais pas du vrai C++, mais du visual. L'accent circonflexe c'est quelque chose qui n'existe pas en ISO C++ utiliser comme ça.
Ensuite, system::String, c'est pareil, c'est du Visual. Regarde la documentation, il doit exister une manière de passer de std::string à system::String, si la classe est bien faite en tout cas.
Le prob-ème c'est que là tu ne fais pas du vrai C++, mais du visual. L'accent circonflexe c'est quelque chose qui n'existe pas en ISO C++ utiliser comme ça.
Ensuite, system::String, c'est pareil, c'est du Visual. Regarde la documentation, il doit exister une manière de passer de std::string à system::String, si la classe est bien faite en tout cas.
Bon j'ai trouvé mais c'est encore loin d'être intuitif pour moi...
if (EstAnagramme(this->textBox1->Text,*i)) { System::String^ s=gcnew System::String(((*i)+"\n").c_str()); this->textBox2->AppendText(s); cpt++; }
C'est ça de vouloir faire du Visual avant d'apprendre l'ISO C++.
En fait, system::string ne doit pas connaitre std::string... donc tu passe par c_str() c'est à dire "const char*"
En fait, system::string ne doit pas connaitre std::string... donc tu passe par c_str() c'est à dire "const char*"
C'est pas que je veux absolument faire du Visual avant de l'ISO C++.
Je voulais améliorer un de mes vieux projet (en Pascal/Delphi) en le réécrivant en C++
Sauf que pour faire des fenêtres, des boutons, etc. je ne vois pas ce que je peux utiliser d'autre que Visual
Je voulais améliorer un de mes vieux projet (en Pascal/Delphi) en le réécrivant en C++
Sauf que pour faire des fenêtres, des boutons, etc. je ne vois pas ce que je peux utiliser d'autre que Visual
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question