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

VC++ .NET Discussion :

besoin d'aide c++.net


Sujet :

VC++ .NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut besoin d'aide c++.net
    Bonjours,

    Voici mon probleme

    TextBox ^Sortie = (TextBox^)(sender);
    String ^SortieTag = Convert::ToString(Sortie->Tag);
    Object::ToString()->Concat(SortieTag) == TempTotal;

    le Tag = label22->Text;

    la procedure normal que j'avais avant était
    label22->Text = TempTotal;

    mais je veux écrire dans plusieur label et mon textbox sender me dit avec le tag dans quelle label écrire le résultat donc il faut que je remplace le label22->text par le tag du textbox.

    j'ai essayer avec la ligne de code suivante mais ca fonctionne pas

    Object::ToString()->Concat(SortieTag) == TempTotal;

    Est ce qu'il faut utiliser Concat pour faire ce que j'essaie de faire.

    Merci pour votre réponse.

    TrollTop c++.net

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Euh... J'ai du mal à comprendre ce que tu essaies d efaire avec concat.
    Concat est une fonction statique, qui prend deux chaînes en entrée et t'en donne une en sortie.
    En aucun cas ça ne sert à "écrire dans plusieurs labels" ...
    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 confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    On laisse le concat.

    Mais est ce que tu peux m'aider pour faire ce que je veux faire

    Merci d'avance.

    TrollTop c++.net

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Je ne pourrais pas t'aider à utiliser le concat pour "écrire dans plusieurs labels". Ce serait comme me demander de t'aider à utiliser un crayon HB pour changer une roue de voiture.

    Détaille exactement, et en Français correct, ce que tu cherches précisément à faire (n'hésite pas à joindre des croquis si nécessaire*), alors seulement il sera peut-être possible de t'aider.


    *Attention au format: Pour une image vite-fait sous Paint, on utilise du .gif ou .png, mais surtout pas .jpg par exemple.
    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.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    Nom : tableau.png
Affichages : 49
Taille : 5,4 Ko

    j'ai TextBox1 et TextBox2

    Je rentre un info dans le TextBox1 et TextBox2

    dans le TextBox 2 il y a l'information où mettre le résultat du calcul je l'ai placer dans le Tag du TextBox 2.

    dans le Tag il y a label1->Text

    alors au lieu de faire TextBox1+TextBox2= Résultat;
    label1->Text = Résultat;

    Je veux faire

    TextBox2->tag = Résultat;

    tag Représente label1->Text;

    J'espère que tu comprend où je veux en venir.

    Merci d'avance

    TrollTop

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Houlà!
    C'est très compliqué ce que tu cherches à faire!
    Et j'en ai peur, impossible si label1 est une variable locale (mais ça m'étonnerait).

    Dans un langage compilé, il est très difficile ou impossible d'accéder à une variable par son nom. Tu as de la chance, en .Net c'est possible. Mais pas évident.

    Pour faire une chose pareille, tu dois obtenir un objet System::Reflexion:ropertyInfo^ sur la propriété Text de la classe Label, et une référence vers Label1.
    À partir d'une chaîne, tu vas y passer la nuit.
    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é
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    ah ouais c'est si compliquer que ca meme en c++.net

    T'aurais pas une petite exemple.

    Merci

    TrollTop c++.net

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Si tu veux faire ça directement avec les PropertyInfo, il te faut un truc du genre (non-compilé, non-testé)

    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
    16
    ref class Destination
    {
    public:
       System::Object^ obj;
       System::Reflection::PropertyInfo^ prop;
    };
     
    //Reglage:
    Destination^ dest = gcnew Destination;
    dest->obj = label1;
    dest->prop = label1->GetType()->GetProperty("Text");
    TextBox2->tag = dest;
     
    //Utilisation:
    Destination^ dest = (Destination^)TextBox2->Tag;
    dest->prop->SetValue(dest->obj, Résultat, nullptr);
    Dans cet exemple-là, ce qu'on stocke n'est pas une chaîne, mais directement les informations nécessaires pour régler la propriété.
    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é
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    Pour le réglage je l'ai déja entrer dans le TextBox en c++.net je peux rentrer plein d'info dont le Tag.

    //Reglage:
    Destination^ dest = gcnew Destination;
    dest->obj = label1;
    dest->prop = label1->GetType()->GetProperty("Text");
    TextBox2->tag = dest;

    TrollTop c++.net

  10. #10
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    ca compile mais ca fait c'est erreur est ce que tu comprend pourquoi.

    System.InvalidCastException: Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'MEM2007.Destination'.
    à MEM2007.Horaire.Validated(Object sender, EventArgs e) dans d:\visual studio 2005\mem2007\mem2007\horaire.h:ligne 8711
    à System.Windows.Forms.Control.OnValidated(EventArgs e)
    à System.Windows.Forms.Control.PerformControlValidation(Boolean bulkValidation)

    Merci

    TrollTop

  11. #11
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Sans doute parce que Tag est toujours assigné en tant que String quelque part.
    Tu dois supprimer cette assignation TextBox2->Tag=L"Label1->Text" et la remplacer par le code "Réglage"...
    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.

  12. #12
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    je peux pas faire ca car c'est le textBox2 qui lance la procédure de calcul
    si je met ton reglage dans la procedure je reviens au meme probleme il faut que ca soit dans le tag ou peut etre un autre propriété de textBox2

    TrollTop c++.net

  13. #13
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Dans ce cas, il faut que tu fasses une fonction de recherche pour trouver le label et la propriété...
    Un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Destination^ FindProperty(MaClasseForm^ maForm, String^ expr, Type^ typeCtrl)
    {
       int sep = expr->IndexOf("->");
       if(sep==-1)
          throw gcnew ArgumentException(L"expr n'a pas la forme \"objet->prop\".");
       String^ sObj = expr->SubString(0, sep);
       String^ sProp = expr->SubString(sep+2);
     
       Destination ^ ret = gcnew Destination;
       FieldInfo mObj = MaClasseForm::typeid->GetField(sObj);
       ret->obj = mObj->GetValue(maForm);
       ret->prop = typeCtrl->GetProperty(sProp);
       return ret;
    }
    PS: COmme toujours, c'est non-compilé et non-testé. Ce que tu cherches à faire est trop extravagant pour que je me fatigue...
    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é
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    si je change le tag qui est label22->Text

    par 22

    et que j'écrit label(ta fonction reflection)->Text = Résultat; ou autre chose que reflection

    si sa ce fait ca fonctionnerais tu mieux ? et ca serais tu moi compliquer?

    Si oui . Peut-tu me donner un exemple.

    Merci

    TrollTop c++.net

  15. #15
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par défaut
    Non, ça ne changerait rien.
    Ce qu'il faut savoir, la règle de base:
    Faire référence à une variable par son nom == compliqué ET utilise réflexion.
    Si tu veux faire simple par contre, tu peux te faire un tableau de labels, et TOUJOURS régler la propriété Text.

    Ainsi, ton tag sera 22, et tu pourras faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableauLabels[22]->Text = Résultat;
    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.

  16. #16
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    c'est plate je comprend pas ce que tu dis

    TrollTop

  17. #17
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    Est ce Quelqu'un peut m'aider pour mon Probleme S.V.P

    Merci d'avance

    TrollTop c++.net

  18. #18
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    pourquoi tu n'utilises pas une grille ?
    sinon, un tableau (voire 2) de controles peut etre une bonne méthode

  19. #19
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 124
    Par défaut
    comment tu fait ca un tableau de controle

    Merci

    Trolltop c++.net

  20. #20
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ben avec array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array<TextBox^> ^monTableau = gcnew array<TextBox^> (10);
    par exemple

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Besoin d'aide avec Net::HTTP
    Par scaleo dans le forum Modules
    Réponses: 2
    Dernier message: 28/01/2007, 17h12
  2. Besoin d'aide avec Net::Server::Multiplex
    Par cryptorchild dans le forum Modules
    Réponses: 1
    Dernier message: 20/07/2006, 06h47
  3. [VB.NET] besoin d'aide pour déchiffrer un code
    Par pcdj dans le forum Windows Forms
    Réponses: 10
    Dernier message: 27/06/2006, 11h32
  4. Débutant C++.net Besoins d'aide !!!
    Par Dlyan dans le forum MFC
    Réponses: 45
    Dernier message: 24/02/2006, 17h15
  5. [VB.NET] DataGrid besoin d'aide pour un ComboBoxColumn
    Par Looney dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/09/2005, 21h49

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