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++ Discussion :

Affecter text de champ form à une variable


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut Affecter text de champ form à une variable
    Bonjour,
    Super (re)débutant en c++.
    Ma question : j'ai un champ textbox dans une form et je voudrais lire la valeur de ce champ, traitement puis affecter le résultat à un autre textbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox::Show(this->lecture->Text);
    Fonctionne parfaitement mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    std::string orig = this->lecture->Text;
    this->sortie->Text = orig;
    J'ai cette erreur de syntaxe
    C++ no suitable constructor exists to convert from "System::String ^" to "std::basic_string<char, std::char_traits<char>, std::allocator<char>>"
    Que dois-je faire? Désolé de cette question mais comme dis, je débute?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Bonjour,
    C'est du C++/CLI ça (c'est-à-dire, le langage dérivé de C++ pour les technologies Microsoft .NET), la TextBox retourne et attend une System::String^ et non une std::string.
    Si nécessaire, tu peux convertir avec la fonction marshal_as<>(). Mais vu que la technologie .NET préfère les chaînes UTF-16 (et donc, les caractères "larges"), je te conseille d'éviter d'utiliser std::string (si tu as besoin de classes de la STL, tu peux utiliser std::wstring qui est une version "caractères larges" de std::string).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Bonjour,
    C'est du C++/CLI ça (c'est-à-dire, le langage dérivé de C++ pour les technologies Microsoft .NET), la TextBox retourne et attend une System::String^ et non une std::string.
    Si nécessaire, tu peux convertir avec la fonction marshal_as<>(). Mais vu que la technologie .NET préfère les chaînes UTF-16 (et donc, les caractères "larges"), je te conseille d'éviter d'utiliser std::string (si tu as besoin de classes de la STL, tu peux utiliser std::wstring qui est une version "caractères larges" de std::string).
    Bonjour,
    Merci de ton intervention. Voilà mes modifs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	std::wstring orig;
    	msclr::interop::marshal_context context;
    	orig = context.marshal_as<std::wstring>(this->lecture->Text);
    	this->sortie->Text = orig;
    J'ai ça comme erreur à la dernière ligne.

    function "System::Windows::Forms::TextBox::Text::set" cannot be called with the given argument list

  4. #4
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Finalement j'ai trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        String^ inputText = textBoxInput->Text;
     
        // Convertir le texte en majuscules
        String^ upperText = inputText->ToUpper();
     
        // Afficher le texte converti dans textBoxOutput
        textBoxOutput->Text = upperText;

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

Discussions similaires

  1. [AC-2007] affectation d'un champ d'une requête a une zone de texte d'un état
    Par rominous41 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/05/2011, 12h41
  2. [MySQL] Affecter chaque enregistrement d'un champ a une variable
    Par DjChat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/05/2008, 16h31
  3. affecter un champs a une variable!
    Par Alabama-song dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/11/2007, 12h58
  4. Affecter la valeur d'un champs à une variable
    Par gentoo dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2007, 15h45
  5. Affecter valeur d'un champ dans une variable
    Par Sly2k dans le forum Access
    Réponses: 3
    Dernier message: 17/08/2006, 09h43

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