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 :

Conversion int en string pour paramatre fonction


Sujet :

Visual C++

  1. #1
    Membre du Club
    Profil pro
    Developer
    Inscrit en
    Juin 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developer

    Informations forums :
    Inscription : Juin 2004
    Messages : 194
    Points : 58
    Points
    58
    Par défaut Conversion int en string pour parametre fonction
    Bonjour,

    Je suis dans la fonction OnDestroy() de ma boite de Dialog (IDD_CFGHARDWARE)
    et apres avoir modifier une zone Edit Control (IDC_EHARDWAREA)dont la variable est m_iBestCamA (variables
    entier contenant 6 chiffres)

    je voudrais passer cette variable entier a une fonction pour ecrire dans la base de registre les modification, cette fonction a pour classe CInit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int CInit::Set_Params_Hardware_Config_Init_CamA(CString cstrFileInit)
    {
    	m_Register.Write_HKey_Local_Machine 
    		(INIT_HARDWARE_CONFIG,"InitA",cstrFileInit);
    	return(0);
    }
    Donc lorsque je sauve mes parametres je veux mettre ces changements dans le registre grace a cette fonction en fesant 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
     
    void CVIewCfgHardware::OnDestroy()
    {	
         CFormView::OnDestroy();
    	UpdateData(true);	
     
    	// TODO: Add your message handler code here
    	if(IsModify())
    	{
            int iMessage;
    	iMessage=MessageBox("Voulez vous sauver les paramètres ?","Sauver paramètres",MB_YESNO);	
     
    		if(iMessage==IDYES)	
    		{	
    			CInit		MyInit;
    			sMaximum	MyMaximum;
     
    			MyMaximum=MyInit.Get_Params_Hardware_Maximum ();
     
    			MyMaximum.iNbZero=m_ctrlCellule.GetCurSel();  
    			MyMaximum.iPointContact=m_iContact;  
    			MyMaximum.iPourcentageIr=m_iInfraRouge;  
    			MyMaximum.iPourcentageLargeur=m_iLargeur;  
    			MyMaximum.iPourcentageSurface=m_iSurface;  
    			MyMaximum.iPourcentageCellule=m_iCellule;  
                            ...................
     
    			MyInit.Set_Params_Hardware_Maximum(MyMaximum);
       MyInit.Set_Params_Hardware_Config_Distance(m_uiDistance1,m_uiDistance2);
     //  MyInit.Set_Params_Hardware_Config_Init_CamA("chemin"+"BestCamHardware_"+m_IBestCamA+".ini"); 
     //                              MyInit.Set_Params_Hardware_Config_Init_CamB("chemin"+"BestCamHardware_"+m_IBestCamB+".ini"); ); /// Cstring ?
    Comment dois-je passer mes variables m_IBestCamA et m_IBestCamB ?

    Encore une question qui vient, c'est d'appeler le chemin qui se trouve dans une autre Dialog (IDD_REPERTOIRE) sous un Edit Control (IDC_EINITCAMERA)
    et dont la variable est m_cstrInitCamera


    Si la fonction qui permet de recuperer une chaine de caratere est bien GetDlgItem(), pourrais-je remplacer dans la paranthese: "chemin" par
    cette fonction UINT GetDlgItemText( IDD_REPERTOIRE, IDC_EINITCAMERA,
    pointstr, Maxcount );

    En ayant declarer ces variables en debut de la fonction void CVIewCfgHardware::OnDestroy() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LPTSTR pointstr;
    int Maxcount = 6;
    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    CString::Format() ?

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut

    et de consulter la faq ,ce sujet a été plus que traité sur le forum !!!

  4. #4
    Membre du Club
    Profil pro
    Developer
    Inscrit en
    Juin 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developer

    Informations forums :
    Inscription : Juin 2004
    Messages : 194
    Points : 58
    Points
    58
    Par défaut
    Bonsoir,

    Merci pour les infos et donc pour cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    MyInit.Set_Params_Hardware_Config_Init_CamA("chemin"+"BestCamHardware_"+m_IBestCamA+".ini");
    Pourrais remplacer, dans cette instruction "chemin" par : GetDlgItemText( IDD_REPERTOIRE, IDC_EINITCAMERA,
    pointstr, Maxcount )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    LPTSTR pointstr;
    int Maxcount = 6;
    ........
    ........
    MyInit.Set_Params_Hardware_Config_Init_CamA(GetDlgItemText( IDD_REPERTOIRE, IDC_EINITCAMERA,
    pointstr, Maxcount )+"BestCamHardware_"+m_IBestCamA+".ini");
    ........
    .........
    Est ce que la methode est envisageable je ne connais pas bien cette fonction?

    Merci

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    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 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Oui, c'est envisageable. Mais le meilleurs moyen de le savoir, c'est de tester non?

  6. #6
    Membre du Club
    Profil pro
    Developer
    Inscrit en
    Juin 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developer

    Informations forums :
    Inscription : Juin 2004
    Messages : 194
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Oui, effectivement en testant je vois que ca ne va pas apparement cette
    fonction s'applique mieux si on se trouve dans la classe Dialogue, alors que moi je me trouve dans une autre classe donc si je comprend bien je dois apparement creer un objet de la classe dialogue a l'interieur d'une autre classe de fonction dans laquelle je l'utilise est bien cela?

    pourrait on eviter de creer un objet de la classe dialogue et l'appeler simplement avec un appel de ce genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    CDialog.GetDlgItemText( IDD_REPERTOIRE, IDC_EINITCAMERA,
    pointstr, Maxcount )
    Il s'agit de principes et de methodes de programmation d'appels d'objets et de fonctions de classes dans d'autres classes.
    Pouvez vous me donner quelques explications et methodes utiles a appliquer car je ne suis pas un programmeur expert .

    Grand merci.

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ben nom, tu ne peux récupérer du texte que sur une boîte de dialogue qui est déjà créé, donc un ID de ressource de boîte de dialogue (IDD_*), ça va pas le faire...

    Tu peux toujours récupérer le HWND de la boîte de dialogue dont tu veux du texte et utiliser ::GetDlgItemText() de l'API Win32...

  8. #8
    Membre du Club
    Profil pro
    Developer
    Inscrit en
    Juin 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developer

    Informations forums :
    Inscription : Juin 2004
    Messages : 194
    Points : 58
    Points
    58
    Par défaut
    bonjour,

    Le HWND correspond il a la representation windows de l'objet contrairement a la representation MFC ?

    Et comment recuperer le HWND d'un objet?

    merci

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    le HWND est la représentation Windows d'une fenêtre (ou d'un contrôle, qui est une fenêtre).
    La classe CWnd propose différents moyens de l'obtenir, dont la fonction membre GetSafeHwnd() (dite "safe", parce que si on l'appelle sur un pointeur NULL, elle retourne un HWND NULL au lieu de planter).

  10. #10
    Membre du Club
    Profil pro
    Developer
    Inscrit en
    Juin 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developer

    Informations forums :
    Inscription : Juin 2004
    Messages : 194
    Points : 58
    Points
    58
    Par défaut
    Merci beaucoup, je vois mieux.

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/03/2012, 17h33
  2. conversion int to string
    Par modafine dans le forum C#
    Réponses: 1
    Dernier message: 08/08/2008, 10h41
  3. conversion d'un String pour un Long
    Par pinot dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 07/02/2007, 11h33
  4. conversion int to string ??
    Par mencaglia dans le forum C++
    Réponses: 2
    Dernier message: 14/04/2006, 01h06
  5. problème de conversion int[x] --> string
    Par poussinphp dans le forum SL & STL
    Réponses: 2
    Dernier message: 17/08/2005, 14h45

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