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

  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 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
    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 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 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)
    ??

  7. #7
    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
    Il n'est pas question de bit avec les cha�nes.
    Dans une cha�ne, on travaille au niveau caract�re.

    Si tu veux affecter le ni�me caract�re d'une CString, utilise la fonction membre 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.

  8. #8
    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
    ce que je veux en �crivant ces fonction c'est que afficher un string ex:" 10010"
    ou bien un tableau si je d�clare un tableau : 100100 (j 'ai le choix)
    ces valeus varient selon le test que je fais
    par exemple si i=0 je trouve resultat>M donc j'ins�re 1
    i=1 <M donc j'ins�re 0
    et ainsi de suite
    et qand je appelet cette fonction je veux afficher le rr�sultat de test dans ma boite!!!!!

  9. #9
    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
    �coute, c'est extr�mement d�sagr�able d'essayer de t'aider.
    Tes phrases n'ont ni queue ni t�te (comprendre: Pas de ponctuation � part cinq points d'exclamation, ni de majuscules), tu ne te relis pas (nombre de fautes de frappe non-corrig�es, sans parler du pluriel), et ton code est un d�sordre innomable, tant dans les calculs que dans l'indentation.

    Essaie de remettre ta pens�e en ordre, voire �crit un algorithme sur papier, un organigramme, n'importe quoi, mais quelque chose qui puisse t'aider � penser ton programme � l'endroit. Car pour l'instant, la seule vue de ton code donne mal � la t�te.

    Et aussi, n'h�site pas � consulter l'aide: L'aide des fonctions, l'aide de CString, etc.


    PS: Tu devrais fragmenter un peu plus tes codes sources, tu t'y retrouverais mieux. Car 8000 lignes, ben... M�me � mon boulot on n'en voit pas tant!
    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.

  10. #10
    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
    d�sol�
    j'ai corrig� mon programme
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    BOOL CImage::CalcMarqueB(CImage& marque,CString strmarq ,int m_hauteur, int m_largeur,char Rs[]){
     
    int x,y;
    	int	L=strmarq.GetLength();
     
    	double resultat=0;	 
     
    		int Cmp=0;						
     
    			for (int i=0;i<L;i++)
    			{
     
    				while(Cmp<(i+1)*m_hauteur*m_largeur)
    							{
     
    					for( x=0; x<BmSrcInfo->biWidth; x++)	
     
    						for( y=0; y<BmSrcInfo->biHeight; y++)
    						{
     
             	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;
    				}
    }
    j'ai d�clar� Rs comme un tableau de char
    mais jai pas encore r�solu mon probl�me

  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
    Mais est-ce que tu regardes les fragments de code que tu postes ?
    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 �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, tu peux miex m'expliquer?????

  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
    C'est quand m�me plus lisible comme �a:
    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
    33
    34
    BOOL CImage::CalcMarqueB(CImage& marque,CString strmarq ,int m_hauteur, int m_largeur,char Rs[])
    {
    	int x,y;
    	int L=strmarq.GetLength();
     
    	double resultat=0;	 
     
    	int Cmp=0;						
     
    	for (int i=0;i<L;i++)
    	{
    		while(Cmp<(i+1)*m_hauteur*m_largeur)
    		{
    			for( x=0; x<BmSrcInfo->biWidth; x++)	
    				for( y=0; y<BmSrcInfo->biHeight; y++)
    				{
    					if(lpDestBits[y*nScanWidth+x]==255)
    						resultat+= lpSrcBits[y*nScanWidth+x];
    					else
    						resultat-= lpSrcBits[y*nScanWidth+x];
     
    					Cmp++;
    				}
    		} 
    		return Cmp;	
     
    		//***  Ce code ne sera jamais exécuté  ***
    		//*** puisqu'il est derrière le return ***
    		if( resultat > m_largeur * m_hauteur -50)
    			Rs[i]=1;
    		else
    			Rs[i]=0;
    	}
    }
    PS: j'ai ajout� un petit commentaire en prime...
    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 �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    mais moi j'ai une autre return

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    BOOL CImage::CalcMarqueB(CImage& marque,CString strmarq ,int m_hauteur, int m_largeur,char Rs[]){
     
    	int x,y;
    	int	L=strmarq.GetLength();
     
    	double resultat=0;	 
     
    		int Cmp=0;						
     
    			for (int i=0;i<L;i++)
    			{
     
    				while(Cmp<(i+1)*m_hauteur*m_largeur)
    							{
     
    					for( x=0; x<BmSrcInfo->biWidth; x++){	
     
    						for( y=0; y<BmSrcInfo->biHeight; y++)
    						{
     
             	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;
    				}
     
        GlobalUnlock(m_hDib);
    	GlobalUnlock(marque.m_hDib);
     
        return TRUE;
     
    }

  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
    Ton code est toujours indent� comme l'as de pique, et �a ne change rien: Tu as toujours l'autre return qui g�ne de toute fa�on...
    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 �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    ah
    mais si j'enl�ve return Cmp par quoi je le remplace !!!!!!!
    moi je veux qu'� la fin du boucle while retourner la valeur de Cmp pour l'utiliser comme une initialisation de Cmp dans la 2�me it�ration de for .........

  17. #17
    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 te laisse m�diter un instant sur l'�normit� de ta phrase...
    (Toujours sans majuscule et avec des points d'exclamation en plus...)
    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.

  18. #18
    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
    quel majuscule?
    point d'exclamation oui tu as raison

  19. #19
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 295
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 295
    Billets dans le blog
    2
    Par d�faut
    Bonjour meera.

    Le code que tu postes est extr�mement difficile � appr�hender car il est fort mal indent�. L'identation est beaucoup plus importante qu'il n'y parait, car si elle n'a aucune cons�quence sur la compilation, elle en a sur la compr�hension du code.

    Donc par piti�, idente correctement ton code (si tu utilises visual studio, tu s�lectionne tout ton code et tu fais ctrl+k,ctrl+f), c'est le premier pas vers du dev efficace.

  20. #20
    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
    bonsoir Rod
    je vous remercier pour tes conseils et en m�me temps je suis tellement desol�e pour ma f�on de poster mon code:
    voici le code que j'�cris:
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
     
    BOOL CImage::CalcMarqueB(CImage& marque,CString strmarq ,int m_hauteur, int m_largeur,char Rs[]){
     
        if(!m_hDib)
    		return FALSE;	// DIB non valide
     
    	if(!marque.m_hDib)
    		return FALSE;	// DIB non valide
     
     
    	LPBITMAPINFOHEADER BmSrcInfo=(LPBITMAPINFOHEADER)GlobalLock(m_hDib);
    	LPBITMAPINFO biSrc=(LPBITMAPINFO)BmSrcInfo;
     
    	LPBITMAPINFOHEADER BmDestInfo=(LPBITMAPINFOHEADER)GlobalLock(marque.m_hDib);
    	LPBITMAPINFO biDest=(LPBITMAPINFO)BmDestInfo;
     
    	// Détermination du nombre de couleurs
    	int nColors = BmSrcInfo->biClrUsed ? BmSrcInfo->biClrUsed : 0x1FF & (1 << BmSrcInfo->biBitCount);
     
    	// Détermination de la zone des bits de l'image source et largeur lignes en octets
    	BYTE* lpSrcBits = (BYTE*)BmSrcInfo+BmSrcInfo->biSize+nColors*sizeof(RGBQUAD);
    	int nScanWidth = WIDTHBYTES(BmSrcInfo->biWidth * BmSrcInfo->biBitCount);
     
    	// Détermination de la zone des bits de l'image destination
    	BYTE* lpDestBits = (BYTE*)BmDestInfo+BmDestInfo->biSize+nColors*sizeof(RGBQUAD);
     
       	// Traitement différent selon nombre de bits/pixel
     
     
     
    	int x,y;
    	int	L=strmarq.GetLength();
     
    	double resultat=0;	 
     
    		int Cmp=0;						
     
    			for (int i=0;i<L;i++)
    			{
     
    				while(Cmp<(i+1)*m_hauteur*m_largeur)
    							{
     
    					for( x=0; x<BmSrcInfo->biWidth; x++){	
     
    						for( y=0; y<BmSrcInfo->biHeight; y++)
    						{
     
             	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;
     
    				}
     
     
        GlobalUnlock(m_hDib);
    	GlobalUnlock(marque.m_hDib);
     
        return TRUE;
     
    }
    je fais l'appelle de cette fonction comme suit:
    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
    33
    34
    35
    36
     
     
    void CDTatoSpacBlocDlg::OnDetect() 
    {
     
    	// TODO: Add your control notification handler code here
    	CString str;
        int nindex = m_mfiles.GetCurSel();
        if((nindex != LB_ERR))  m_mfiles.GetText( nindex,str );
     
    	str = m_pParent->m_repApp+"Marques\\"+str;
    	m_Marque.LoadFile(str);
     
     
    	if((m_Marque.GetWidth() < m_Image.GetWidth())&&(m_Marque.GetHeight() < m_Image.GetHeight())){
     
    		//Rs est un tableau où il faut récuperer les valeurs calculées sur chaque bloc
    	//	CString Rs="";
     
    	//	m_Image.CalcMarqueB(m_Marque,Rs);
    			CString strmarq = "1110011";
    			char Rs[]= " 0000000";
    			int m_hauteur=24;        // la taille du marque en generale
    			int m_largeur=24;
    		m_Image.CalcMarqueB(m_Marque,strmarq,m_hauteur,m_largeur,Rs);
     
     
    			str.Format("Resultat de comptage : %s",Rs);	
    		m_Rs = str;
     
    		UpdateData(FALSE);
    	}
     
    	else  AfxMessageBox("Dimensions non identiques ... ");
     
    }
    je veux afficher Rs dans ma boite, elle serait de la forme 100000 ( par exemple)

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