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 :

Afficher un string en format Hexa sur une Windows Form


Sujet :

C++/CLI

  1. #1
    Candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Chine

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Afficher un string en format Hexa sur une Windows Form
    Bonjour,

    je travaille avec Visual Studio 2010, en c++, et developpe une application Windows Form.
    Dans cette apllication, une fonction me remonte un System::String^, que j'aimerai afficher sous format hexadecimal dans une textbox de ma fenetre principale.
    Je me prend la tete depuis des jours avec les differents formats de chaines de caracteres, en essayant toutes les fonctions, impossible d'arriver a un resultat potable.
    La fonction qui m'interesse actuellement est la fonction String::Format, mais cela ne marche pas dans le cas present.
    Voici un exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System::String^ plop;
    plop = "192";
    System::String^ plip;
    plip.Format("%X",plop);
    LBL_Debug->Text = plip;
    et l'erreur que renvoit Visual Studio :
    error C2228: left of '.Format' must have class/struct/union
    J'ai pourtant l'impression de faire ce que dit l'aide MS.
    J'ai peur de passer a cote de quelque chose d'evident.
    Merci d'avance pour tout conseil,

    Cordialement,

    Gabriel

  2. #2
    Invité
    Invité(e)
    Par défaut
    en fouinant un peut j'ai trouver ça http://www.developpez.net/forums/d95...e-char-string/ en espérant que cela pourra d'aider

  3. #3
    Candidat au Club
    Homme Profil pro
    Stagiaire
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Chine

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour la reponse mais ce code n'est pas applicable a une application Windows Form (ou alors je ne sais pas comment faire). L'appli ne reconnait pas le namespace std. Et j'ai du mal avec l'utilisation de System::String^.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 184
    Points : 12 326
    Points
    12 326
    Par défaut
    Ne mélangez pas les std::string du C++ et les System::String^ du C++/CLI.

    Lisez la documentation SVP :
    http://msdn.microsoft.com/fr-fr/libr...v=vs.100).aspx


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Int32 plop = 192; 
    LBL_Debug->Text = System::String::Format("0x{0:X},plop);
    System::String^, que j'aimerai afficher sous format hexadecima
    C'est concept (enfin bien pourri comme concept).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    System::String^ plop = "192";
    System::Text::UnicodeEncoding^ encoding = gcnew System::Text::UnicodeEncoding();
    System::Text::StringBuilder^ builder = gcnew System::Text::StringBuilder();
    for each (System::Byte^ b in encoding->GetBytes(plop))
    {
        builder->Append(b->ToString("X2"));
    }
    LBL_Debug->Text = builder.ToString();
    Ca serait pas plutôt : une conversion d'un nombre contenu dans une chaine de caractère qui est renvoyé d'"une fonction me remonte " (encore une conception à 2 balles)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    System::String^ plop = "192";
    Int32 i = 0;
    if(System::Int32::TryParse(plop, i))
    {
       LBL_Debug->Text = i.ToString("X");
    }
    Dans ce cas de figure, faites en sorte que ce qui remonte soit un nombre et pas une chaine de caractère.

Discussions similaires

  1. [HTML] Afficher un texte au format HTML dans une textarea
    Par Akutabi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 22
    Dernier message: 12/12/2007, 14h50
  2. afficher le detail de la recherche sur une autre page
    Par super-java dans le forum Langage
    Réponses: 1
    Dernier message: 29/10/2007, 17h02
  3. jdbc: conversion format timestamp sur une colonne
    Par flora806 dans le forum JDBC
    Réponses: 6
    Dernier message: 03/10/2007, 14h25
  4. Réponses: 7
    Dernier message: 23/03/2007, 10h41
  5. Afficher les données d'un champ sur une ligne
    Par white-angel dans le forum Access
    Réponses: 6
    Dernier message: 30/08/2006, 11h09

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