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

Visual C++ Discussion :

comment afficher un CString dans une boite de dialog?


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut comment afficher un CString dans une boite de dialog?
    bonjour
    je veux afficher un string ou bien un tableau de caractére ( par exemple "101101") sur une boite de dialog
    j'écris cette fonctin:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    BOOL CImage::CalcMarqueB(CImage& marque,CString strmarq ,int m_hauteur, int m_largeur,double* Rs){
    	int x,y;
    	int	L=strmarq.GetLength();
    	int Cmp=0;
    	double resultat=0;	 
     
    		for( x=0; x<BmSrcInfo->biWidth; x++)
    			for( y=0; y<BmSrcInfo->biHeight; y++)
    		{
     
    			for (int i=0;i<L;i++)
    			{
    				while(Cmp<(i+1)*m_hauteur*m_largeur)
    				{
             	if(lpDestBits[y*nScanWidth+x]==255)
    			   resultat+= lpSrcBits[y*nScanWidth+x];
    			else
    			   resultat-= lpSrcBits[y*nScanWidth+x];
     
    			Cmp++;
     
    				}
    				return Cmp;
     
    				if( resultat > m_largeur * m_hauteur -50)
     
    				Rs[i]=1;
    			else Rs[i]=0;
    			}
    		}
    }
    et je fais appeler cette fonction par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void CDTatoSpacBlocDlg::OnDetect() 
    {
    	CString strmarq = "1110011";
    		double* Rs= 0;
    		m_Image.CalcMarqueB(m_Marque,strmarq,32,32,Rs);
     
     
    			str.Format("Resultat de comptage : %s",Rs);	
    }
    le probléme que j'ai rencontré c'est que quand je clique sur le boutton teste j'affiche la valeur: Null
    moi je veux afficher la chaine "101110" par exemple

    est quelqu'un peut m'aider???

  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
    Tu réalises que Rs est un double* ?
    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 éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut
    premiérement j 'ai fait que Rs est CString
    CString Rs =" ";
    mais j'ai rencontré un probléme à cette niveaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    				if( resultat > m_largeur * m_hauteur -50)
     
    				Rs[i]=1;
    			else Rs[i]=0;
    pour cela j'ai choisit de declarer come un tableau

    j'ai pas encore résolu mon probleme et j' ai cliqué par un mal attentin sur le button résolu

  4. #4
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut
    lorsque je change double * Rs par CString
    j'otient ces erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\tato\Image.cpp(8093) : error C2106: '=' : left operand must be l-value
    C:\tato\Image.cpp(8094) : error C2106: '=' : left operand must be l-value
    aux lignes:
    [code]
    Rs[i]=1;
    else Rs[i]=0;
    [/code)
    malgé que je change par exemple Rs[i] par Rs[i]='0' ou "0";

  5. #5
    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
    Je pense que tu nous fais surtout un beau fouillis, à mélanger deux variables qui ne devraient pas l'être.

    PS: J'ignore si on peut accéder en lecture à une CString avec l'opérateur [].
    Mais tu peux utiliser GetBuffer() pour avoir un pointeur en lecture, ou bien utiliser des fonctions comme SetAt().
    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.

  6. #6
    Membre éclairé Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par défaut
    supposon que j'utilise GetBuffer(): Rs.GetBuffer()
    comment je peux affecter la valeur 1 ou bien 0 dans le i éme bits ( selon la boucle for que j'ai écrit)
    ??

Discussions similaires

  1. Comment afficher plusieurs elements dans une meme alert()
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2007, 22h46
  2. Réponses: 5
    Dernier message: 09/05/2007, 15h10
  3. Réponses: 13
    Dernier message: 09/03/2006, 18h17
  4. Comment afficher des JPEG dans une application Delphi ?
    Par Bouguennec dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2005, 21h18
  5. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/01/2005, 13h32

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