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

Windows Discussion :

probleme avec float et GetDlgItemText


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 183
    Par défaut probleme avec float et GetDlgItemText
    Bonjour,

    Dans une EditBox mon utilisateur doit rentrer un float ( avec virgule ou point, je ne sais pas si c'est important ou pas)

    Je dois ensuite récupérer le float , et l'utiliser.

    J'ai compris que si je voulais utiliser la fonction ES_NUMBER pour une edit box je en pourrais avoir que des entiers et qu'il faut donc que je cherche du texte, puis que je le convertisse en float..

    Voici mon code...

    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
    case WM_INITDIALOG:
    		{
    			
    			SetDlgItemInt(hDlg,IDC_stromf_val,valeur1,NULL);
    			SetDlgItemText(hDlg,IDC_charg_val ,val2);
    			SetDlgItemText(hDlg,IDC_pause_val,val3);
    
    			return TRUE;
    		}
    		
    
    		case WM_COMMAND:
    	
    		if (LOWORD(wParam) == IDC_okval)
    		{
    			valeur1 = GetDlgItemInt(hDlg, IDC_stromf_val, 0, 0);
    			GetDlgItemText(hDlg, IDC_charg_val, val2, 0);
    			GetDlgItemText(hDlg, IDC_pause_val, val3, 0);
    						
    			valeur2= atof(val2);
    			valeur3= atof(val3);
    			EndDialog(hDlg,0);
    			
    
    			DialogBox(hinst, "DIALOG5" ,hwnd, (DLGPROC)DlgprocessProc);
    			
    			return (valeur1,valeur2,valeur3);
    		}
    je ne sais pas si mon return est utile ou non...
    Dans ma definition de variables j'ecris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char* val2= "1.5";
    char* val3="6.5";
    int valeur1=3; 
    double valeur2;
    double valeur3;
    et en fait mon programme prend en compte les char "1.5" et "6.5" qui me servent a initialiser mes edit box... et non les valeurs que pourrais rentrer l'utilisateur...


  2. #2
    Membre chevronné Avatar de pascal.barbier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 362
    Par défaut
    Salut nanette,

    Aujourdhui je te propose un petit cours rapide et gratuit de C.

    1) une fonction ne peut renvoyer qu'une seule valeur (à moins de renvoyer une structure) donc le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return (valeur1,valeur2,valeur3);
    ne fonctionnera pas.

    2) Si tu veux récupérer une chaîne depuis un edit dans une variable, cette variable doit être un tableau de dimension suffisante pour contenir la chaîne saisie. Ici tu utilises des pointeurs vers des tableaux constants.
    est OK alors que ne peut pas marcher (voir le dessin attaché).

    PS : Le problème de fonctionnement est ailleurs : le quatrième paramètre de GetDlgItemText est la taille maxi du buffer qui recevra la chaîne copiée. Si tu mets zéro, il n'y aura pas copie.
    Images attachées Images attachées  

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 183
    Par défaut
    ok merci pour le cours..

    ah que j'aime quand il y a des gens comme toi qui me répondent... gentillesse, simplicité, et compréhension...

    Effectivement pour le quatrieme parametre de GetDlgItemText j'avais vu mon erreur et l'avais rectifiée mais ca n'avais rien changé... je vais corriger mes erreurs et te tiens au courant...

    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec float :left;
    Par rinuom99 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/12/2008, 23h48
  2. Probleme avec FLOAT
    Par philsand77 dans le forum Débuter
    Réponses: 4
    Dernier message: 06/11/2008, 14h04
  3. Probleme avec float.parse
    Par Djug dans le forum C#
    Réponses: 4
    Dernier message: 11/07/2008, 20h09
  4. Problème avec float sous Mysql
    Par adgabd dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/09/2006, 10h52
  5. Probleme avec un float sous FF
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/11/2005, 18h15

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