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

Mon programme, mes questions


Sujet :

C++/CLI

  1. #1
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut GetTextboxText + Show()
    Bonjour !
    Voilà, tout est dans le titre ^^
    Une plus grande présentation : Je suis en train d'écrire un programme qui servirait à écrire des déclencheurs en LUA plus facilement pour un jeu (Heroes V, je ne sais pas si vous connaissez ).
    Alors comme je débute dans Visual Studio C++ 2008, je ne connais pas encore bien tout. Je suis en train de lire un livre de 900 pages (-_-") pour apprendre le C++, mais il ne m'aide en rien là dedans, il ne parle aucunement des "choses" (fautes d'autre mots) comme "System::blablabla::Reblablabla^ biduletruc". Enfin, je commence à comprendre par moi même, mais tout juste ! Je ne sais même pas à quoi cela correspond, j'écris mon programme avec Google, je n'arrête pas de chercher des fonctions inexistantes, ou comment faire ceci ou cela...
    Je suis d'ailleurs en train de chercher après une fonction pour sauvegarder le code écrit par l'utilisateur dans un fichier. Ce code est écrit dans une TextBox que j'ai nommé TriggersRedactionSpace.
    J'ai vu qu'il existait des outils dans l'interface GUI de VC++ comme SaveFileDialog, ou OpenFileDialog. Mais comment les utiliser ? Comme je n'arrive pas à les utiliser, je suis forcé d'écrire une fonction de sauvegarde de fichier moi même, alors que je suis sûr qu'il y en a une toute faite quelque part. Néanmoins, même après maintes recherches, je n'ai rien trouvé .
    D'où ma question : Existe-t-il une fonction GetTextboxText(le_nom_de_la_textbox) ?

    Je vous remercie grandement d'avance.
    Bien à vous,
    Hemophilius.

    PS : A votre avis, pour ne pas polluer le forum de mes questions certainement débiles à vos yeux, puis-je utiliser ce sujet pour y poser mes questions ? Je le renommerais en "Mon programme, mes questions", ainsi je ne fais pas mille sujet différents...

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Dans les fonctions de l'API Windows il y a la fonction GetWindowText qui fait cela.

  3. #3
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    J'essaye de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->TriggersRedactionSpace->GetWindowText(this)
    Mais cela ne fonctionne pas... Il me dit que GetWindowText n'est pas membre de "System::Windows::Form::Textbox"
    PS : j'ai bien inséré #include <windows.h>

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Hemophilius Voir le message
    Mais cela ne fonctionne pas... Il me dit que GetWindowText n'est pas membre de "System::Windows::Form::Textbox"
    PS : j'ai bien inséré #include <windows.h>
    J'ai l'impression que tu ne compiles pas en C++ (du c# ou .net ?) car "System::Windows::Form::Textbox" n'est pas une notation c++.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    C'est du .Net
    Ça peut ce faire en C++ (adapté à .Net)
    Pour le composant TextBox ça doit être ça proprieté Text qui renvoie le Texte contenu dans la TextBox

  6. #6
    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
    System:: n'est pas pour du C++ natif, mais pour du Managed C++ ou du C++/CLI, qui sont des langages différents.

    En natif, tu peux utiliser les fonction de l'API Win32, dont font partie GetWindowText() et GetDlgItemText(), en C ou en C++.

    En .Net, tu peux utiliser this->TriggersRedactionSpace->Text en Managed C++ ou en C++/CLI.
    Si tu programmes sous Visual 2008, normalement, tu codes en C++/CLI.
    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.

  7. #7
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Merci à tous pour vos réponses !

    Citation Envoyé par Médinoc Voir le message
    System:: n'est pas pour du C++ natif, mais pour du Managed C++ ou du C++/CLI, qui sont des langages différents.

    En natif, tu peux utiliser les fonction de l'API Win32, dont font partie GetWindowText() et GetDlgItemText(), en C ou en C++.

    En .Net, tu peux utiliser this->TriggersRedactionSpace->Text en Managed C++ ou en C++/CLI.
    Si tu programmes sous Visual 2008, normalement, tu codes en C++/CLI.
    Merci beaucoup, c'est déjà plus clair. Je ne savais pas que je codais dans un autre langage du C++...
    Donc si je comprend bien, je peux utiliser
    System::String MaChaine = (this->TriggersRedactionSpace->Text)
    Pour que MaChaine contienne tout le contenu de TriggersRedactionSpace.
    Je teste dès que possible.

  8. #8
    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
    System::String^ MaChaine = (this->TriggersRedactionSpace->Text);
    Il ne faut pas oublier le '^' en C++/CLI. C'est un peu l'équivalent d'un pointeur, mais pour les objets .Net.
    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.

  9. #9
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    J'ai fait comme vous avez dit. Voilà mon morceau de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private: System::Void BoutonEnregistrer_Click(System::Object^  sender, System::EventArgs^  e) {
    			 //SAVE CURRENT FILE
    			System::String ^Text2Save = (this->TriggersRedactionSpace->Text);
     
    			FILE *fichier1;
    			fichier1 = fopen("fichier1.txt", "w");
     
    			if(fichier1)
    			{
    			  fprintf(fichier1, Text2Save);
    			  fclose(fichier1);
    			}
    		 }
    Mais la même erreur revient toujours...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur	2	error C2664: 'fprintf'*: impossible de convertir le paramètre 2 de 'System::String ^' en 'const char *'	c:\documents and settings\utilisateur\mes documents\visual studio 2008\projects\heroes v trigger editor\heroes v trigger editor\Form1.h	1333
    impossible, de quelque manière que ce soit, de convertir mon String en const char*. J'ai cherché sur le net, il y avait plein de moyens différents, mais aucun ne fonctionnait : à chaque fois il m'indique que la conversion est impossible, même si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char *Text2Save = (const char*)this->TriggersRedactionSpace->Text;
    Ou même avec cast. Toujous la même chose.

  10. #10
    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
    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.

  11. #11
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Je m'agenouille. Je m'aplatis. Je me fonds dans le sol.
    J'avais bien regardé là mais... je n'avais pas testé, sûr que cela ne fonctionnerait pas comme les autres
    Re-désolé.
    La prochaine fois, je teste d'abord avec la FAQ -_-"
    Merci Ca fonctionne !! (évident en même temps...)

  12. #12
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Rebonjour,
    J'ai désormais un autre problème. Je voudrais pouvoir afficher facilement des boites de messages avec un texte et une icone personnalisable. J'ai testé les fichiers .h de cette page :

    http://www.koders.com/cpp/fidCD90934...FE938EFA1.aspx

    tous les fichiers sont téléchargeables à gauche. J'ai essayé, j'ai inclut dans la librairie. Mais VC++ a trouvé 58 erreurs ! Et toutes très diverses. Donc y aurait-il une autre façon d'afficher une boite de message personnalisable avec un bruit etc ? Merci d'avance !

  13. #13
    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
    Cela ne fait pas ce que tu cherches.

    En C++/CLI, pour afficher une messagebox, on utilise la méthode Show() de la classe System::Windows::Forms::MessageBox
    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.

  14. #14
    Membre confirmé Avatar de Hemophilius
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Merci beaucoup Cela fonctionne maintenant. Mais comment ajouter un son ? Quand un avetissement s'affiche, il y a un son qui est joué. Puis-ja aussi faire cela ?

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

Discussions similaires

  1. 3 questions sur mon programme
    Par thtghgh dans le forum C
    Réponses: 7
    Dernier message: 16/07/2010, 13h29
  2. Un de mes premiers programme : Quelques questions...
    Par allezlolo dans le forum Débuter
    Réponses: 15
    Dernier message: 26/04/2008, 09h51
  3. question sur mon programme
    Par PHPkoala dans le forum Réseau
    Réponses: 5
    Dernier message: 01/06/2007, 23h40
  4. mon programme refuse de faire comme il devrais quand mes objets sont dans des tableau
    Par alain57 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 08/02/2007, 08h29
  5. Réponses: 11
    Dernier message: 17/03/2003, 10h56

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