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 Discussion :

Mauvaise compréhension de G_ASCII_DTOSTR_BUF_SIZE


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Points : 47
    Points
    47
    Par défaut Mauvaise compréhension de G_ASCII_DTOSTR_BUF_SIZE
    Bonjour,

    Voilà une partie du code que j ai écrit pour faire une application GTK.

    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
    void OnUpdate(GtkWidget *entry, gpointer data)
    {
        const gchar *sText;
        gdouble diapason;
        MainWindow *pApp;
        char strdiapason[G_ASCII_DTOSTR_BUF_SIZE];
     
        pApp = (MainWindow*) data;
     
        /*Récupération de la valeur du spin button*/
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
     
        /*Conversion en double*/
        diapason = g_ascii_strtod (sText, NULL);
     
        /*Ici, je fait un calcul sur diapason*/
     
        /*Conversion en string */
        g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
     
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason);
     
    }
    Je récupère dans sText une valeur décimal.
    Comme je souhaite modifier cette valeur avant de l afficher dans l interface, il faut que je convertis le const gchar* en double. Ce que je fais avec g_ascii_strtod.

    Le problème se passe avec g_ascii_dtostr, car je ne retrouve pas ma valeur initiale.
    Pourriez vous m aiguillez s il vous plaît.

    Merci par avance pour vos réponses.

    Shazad
    Hier un manchot a frappé a ma fenêtre, il a frappé si fort qui il l'a cassée; et alors la je me suis senti libre.....

  2. #2
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Points : 47
    Points
    47
    Par défaut
    Si j fais un g_print pour voir la valeur de "diapason", elle est inférieur à la valeur que j ai entré par le biais du spin button.

    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
    void OnUpdate(GtkWidget *entry, gpointer data)
    {
        const gchar *sText;
        gdouble diapason;
        MainWindow *pApp;
        char strdiapason[G_ASCII_DTOSTR_BUF_SIZE];
     
        pApp = (MainWindow*) data;
     
        /*Récupération de la valeur du spin button*/
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
     
        /*Conversion en double*/
        diapason = g_ascii_strtod (sText, NULL);
        g_print("%lf\n", diapason);
     
        /*Ici, je fait un calcul sur diapason*/
     
        /*Conversion en string */
        g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
     
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason);
     
    }
    C est dans la conversion du gchar en double que se trouve le problème je pense.

    Shazad
    Hier un manchot a frappé a ma fenêtre, il a frappé si fort qui il l'a cassée; et alors la je me suis senti libre.....

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Citation Envoyé par shazad Voir le message
    Si j fais un g_print pour voir la valeur de "diapason", elle est inférieur à la valeur que j ai entré par le biais du spin button.
    Tu peux donner un exemple typique de ce que tu observes pour le spin button et pour diapason ?
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  4. #4
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Points : 47
    Points
    47
    Par défaut
    Bonjour diogene,

    Et merci de m avoir répondu.

    Voilà où j en suis actuellement avec 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
    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
     
    void OnUpdate(GtkWidget *entry, gpointer data)
    {
     
        const gchar *sText;
        double diapason;
        int i;
        MainWindow *pApp;
        char strdiapason[24];
     
        pApp = (MainWindow*) data;
     
     
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
     
        g_print ("%s \n", sText);
     
        diapason = g_ascii_strtod (sText, NULL);
     
        g_print("%lf \n", diapason);
     
        for (i=0; i<24; i++)
        {
            diapason /= pow(2,1.0/12);
             /*Comment remplir le tableau strdiapason*/
     
        }
     
     
        g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
        g_print("%lf\n", diapason);
     
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason[0]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[1]), strdiapason[1]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[2]), strdiapason[2]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[3]), strdiapason[3]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[4]), strdiapason[4]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[5]), strdiapason[5]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[6]), strdiapason[6]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[7]), strdiapason[7]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[8]), strdiapason[8]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[9]), strdiapason[9]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[10]), strdiapason[10]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[11]), strdiapason[11]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[12]), strdiapason[12]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[13]), strdiapason[13]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[14]), strdiapason[14]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[15]), strdiapason[15]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[16]), strdiapason[16]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[17]), strdiapason[17]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[18]), strdiapason[18]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[19]), strdiapason[19]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[20]), strdiapason[20]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[21]), strdiapason[21]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[22]), strdiapason[22]);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[23]), strdiapason[23]);
     
     }
    Alors j ai remarqué qu il était normal que le résultat du spin button soit tronqué (2,54 devient 2), car il envoi à la fonction OnUpdate un nombre décimal avec virgule. Et je me souviens avoir appris qu'en C les nombres décimaux doivent être écrit avec un point. Peut être que je dis une bêtise.

    Si je met un gtk_entry_new à la place du spin_button, et que la valeur que je rentre est par exemple 12.54, cela m affiche 12.53999999999 dans le Gtk Label. Malgré que dans la console j ai bien 12.54000000. On m a conseillé d utiliser g_ascii_strup, mais je ne sais pas m en servir.

    J ai un dernier problème: j essaie de transformer strdiapason en tableau ( char strdiapason[24]; ) et de le remplir avec la boucle for.
    Je n arrive pas à le remplir, pourriez vous me mettre sur la voie.

    Le compilateur m affiche ceci à propos des lignes gtk_label_set_text:

    warning: passing arg 2 of 'gtk_label_set_text' makes pointer from integer without a cast.

    Je suis un peu perdu j avoue.

    Merci par avance de votre aide.

    Shazad
    Hier un manchot a frappé a ma fenêtre, il a frappé si fort qui il l'a cassée; et alors la je me suis senti libre.....

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Points : 47
    Points
    47
    Par défaut
    Voilà la seule solution que j ai trouvé pour l instant, sans affoler le compilateur:

    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
    void OnUpdate(GtkWidget *entry, gpointer data)
    {
     
        const gchar *sText;
        double diapason;
        double diapason1;
        double diapason2;
        MainWindow *pApp;
        char strdiapason[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason1[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason2[G_ASCII_DTOSTR_BUF_SIZE];
     
        pApp = (MainWindow*) data;
     
     
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
     
        g_print ("%s \n", sText);
     
        diapason = g_ascii_strtod (sText, NULL);
     
        g_print("%lf \n", diapason);
     
     
          diapason /= pow(2,1.0/12);
          diapason1 = diapason;
          diapason1 /= pow(2,1.0/12);
          diapason2 = diapason1;
          diapason2 /= pow(2,1.0/12);
     
        g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
        g_ascii_dtostr (strdiapason1, sizeof (strdiapason1), diapason1);
        g_ascii_dtostr (strdiapason2, sizeof (strdiapason2), diapason2);
        g_print("%lf\n", diapason);
     
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[1]), strdiapason1);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[2]), strdiapason2);
        /*gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[3]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[4]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[5]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[6]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[7]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[8]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[9]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[10]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[11]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[12]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[13]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[14]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[15]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[16]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[17]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[18]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[19]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[20]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[21]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[22]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[23]), strdiapason);*/
     
     }

    Shazad
    Hier un manchot a frappé a ma fenêtre, il a frappé si fort qui il l'a cassée; et alors la je me suis senti libre.....

  6. #6
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    cela m affiche 12.53999999999 dans le Gtk Label. Malgré que dans la console j ai bien 12.54000000. On m a conseillé d utiliser g_ascii_strup, mais je ne sais pas m en servir
    C'est lié au fait que dans le cas général, les nombres flottants ne peuvent qu'être une approximation : toutes les valeurs ne peuvent être exactement représentées en flottant.

    warning: passing arg 2 of 'gtk_label_set_text' makes pointer from integer without a cast.
    C'est un warning grave et qui annonce une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        char strdiapason[24];
    ....
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason[0]);
    La fonction attend comme deuxième argument une chaine de caractère, donc un pointeur et reçoit strdiapason[0], soit un char, donc un entier

    * C'est quelque chose comme ça qui t'intéresse ou veux-tu conserver dans un tableau toutes les valeurs ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    rac12 =  pow(2,1.0/12);
    diapason = g_ascii_strtod (sText, NULL); 
    for(i= 0; i<24;i++)
    {
        diapason /= rac12;
        g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason); 
    }
    .
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  7. #7
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Points : 47
    Points
    47
    Par défaut
    Merci pour cette précision sur les nombres flottants.

    Voilà ce que j ai fait pour l instant afin de contourner mon problème, dû à mon ignorance :

    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    void OnUpdate(GtkWidget *entry, gpointer data)
    {
     
        const gchar *sText;
        double diapason;
        double diapason1;
        double diapason2;
        double diapason3;
        double diapason4;
        double diapason5;
        double diapason6;
        double diapason7;
        double diapason8;
        double diapason9;
        double diapason10;
        double diapason11;
        double diapason12;
        double diapason13;
        double diapason14;
        double diapason15;
        double diapason16;
        double diapason17;
        double diapason18;
        double diapason19;
        double diapason20;
        double diapason21;
        double diapason22;
        double diapason23;
     
        MainWindow *pApp;
     
        char strdiapason[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason1[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason2[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason3[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason4[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason5[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason6[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason7[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason8[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason9[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason10[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason11[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason12[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason13[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason14[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason15[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason16[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason17[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason18[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason19[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason20[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason21[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason22[G_ASCII_DTOSTR_BUF_SIZE];
        char strdiapason23[G_ASCII_DTOSTR_BUF_SIZE];
     
        pApp = (MainWindow*) data;
     
     
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
     
        g_print ("%s \n", sText);
     
        diapason = g_ascii_strtod (sText, NULL);
     
        g_print("%lf \n", diapason);
     
     
          diapason /= pow(2,1.0/12);
          diapason1 = diapason;
          diapason1 /= pow(2,1.0/12);
          diapason2 = diapason1;
          diapason2 /= pow(2,1.0/12);
          diapason3 = diapason2;
          diapason3 /= pow(2,1.0/12);
          diapason4 = diapason3;
          diapason4 /= pow(2,1.0/12);
          diapason5 = diapason4;
          diapason5 /= pow(2,1.0/12);
          diapason6 = diapason5;
          diapason6 /= pow(2,1.0/12);
          diapason7 = diapason6;
          diapason7 /= pow(2,1.0/12);
          diapason8 = diapason7;
          diapason8 /= pow(2,1.0/12);
          diapason9 = diapason8;
          diapason9 /= pow(2,1.0/12);
          diapason10 = diapason9;
          diapason10 /= pow(2,1.0/12);
          diapason11 = diapason10;
          diapason11 /= pow(2,1.0/12);
          diapason12 = diapason11;
          diapason12 /= pow(2,1.0/12);
          diapason13 = diapason12;
          diapason13 /= pow(2,1.0/12);
          diapason14 = diapason13;
          diapason14 /= pow(2,1.0/12);
          diapason15 = diapason14;
          diapason15 /= pow(2,1.0/12);
          diapason16 = diapason15;
          diapason16 /= pow(2,1.0/12);
          diapason17 = diapason16;
          diapason17 /= pow(2,1.0/12);
          diapason18 = diapason17;
          diapason18 /= pow(2,1.0/12);
          diapason19 = diapason18;
          diapason19 /= pow(2,1.0/12);
          diapason20 = diapason19;
          diapason20 /= pow(2,1.0/12);
          diapason21 = diapason20;
          diapason21 /= pow(2,1.0/12);
          diapason22 = diapason21;
          diapason22 /= pow(2,1.0/12);
          diapason23 = diapason22;
          diapason23 /= pow(2,1.0/12);
     
        g_ascii_dtostr (strdiapason,  sizeof  (strdiapason), diapason);
        g_ascii_dtostr (strdiapason1, sizeof (strdiapason1), diapason1);
        g_ascii_dtostr (strdiapason2, sizeof (strdiapason2), diapason2);
        g_ascii_dtostr (strdiapason3, sizeof (strdiapason3), diapason3);
        g_ascii_dtostr (strdiapason4, sizeof (strdiapason4), diapason4);
        g_ascii_dtostr (strdiapason5, sizeof (strdiapason5), diapason5);
        g_ascii_dtostr (strdiapason6, sizeof (strdiapason6), diapason6);
        g_ascii_dtostr (strdiapason7, sizeof (strdiapason7),  diapason7);
        g_ascii_dtostr (strdiapason8, sizeof (strdiapason8), diapason8);
        g_ascii_dtostr (strdiapason9, sizeof (strdiapason9), diapason9);
        g_ascii_dtostr (strdiapason10, sizeof (strdiapason10), diapason10);
        g_ascii_dtostr (strdiapason11, sizeof (strdiapason11), diapason11);
        g_ascii_dtostr (strdiapason12, sizeof  (strdiapason12), diapason12);
        g_ascii_dtostr (strdiapason13, sizeof (strdiapason13), diapason13);
        g_ascii_dtostr (strdiapason14, sizeof (strdiapason14), diapason14);
        g_ascii_dtostr (strdiapason15, sizeof (strdiapason15), diapason15);
        g_ascii_dtostr (strdiapason16, sizeof (strdiapason16), diapason16);
        g_ascii_dtostr (strdiapason17, sizeof (strdiapason17), diapason17);
        g_ascii_dtostr (strdiapason18, sizeof (strdiapason18), diapason18);
        g_ascii_dtostr (strdiapason19, sizeof (strdiapason19),  diapason19);
        g_ascii_dtostr (strdiapason20, sizeof (strdiapason20), diapason20);
        g_ascii_dtostr (strdiapason21, sizeof (strdiapason21), diapason21);
        g_ascii_dtostr (strdiapason22, sizeof (strdiapason22), diapason22);
        g_ascii_dtostr (strdiapason23, sizeof (strdiapason23), diapason23);
     
        g_print("%lf\n", diapason);
     
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[0]), strdiapason);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[1]), strdiapason1);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[2]), strdiapason2);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[3]), strdiapason3);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[4]), strdiapason4);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[5]), strdiapason5);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[6]), strdiapason6);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[7]), strdiapason7);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[8]), strdiapason8);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[9]), strdiapason9);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[10]), strdiapason10);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[11]), strdiapason11);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[12]), strdiapason12);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[13]), strdiapason13);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[14]), strdiapason14);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[15]), strdiapason15);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[16]), strdiapason16);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[17]), strdiapason17);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[18]), strdiapason18);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[19]), strdiapason19);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[20]), strdiapason20);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[21]), strdiapason21);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[22]), strdiapason22);
        gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage2[23]), strdiapason23);
     
     }
    Je souhaites à partir d une valeur (diapason) effectuer un calcul qui me donneras 24 résultats. Et je souhaiterais les afficher dans 24 Gtk Label.
    Sachant qu'à partir de diapason j ai encore 48 calculs à faire en plus de ce que je viens de mettre plus haut, si je fais à ma façon, je vais avoir ma fonction OnUpdate la plus longue au monde.

    Je vais essayer avec ton code.
    Merci de ton aide diogene.

    Shazad
    Hier un manchot a frappé a ma fenêtre, il a frappé si fort qui il l'a cassée; et alors la je me suis senti libre.....

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

Discussions similaires

  1. [Python 2.X] Mauvaise compréhension du partage d'attributs en héritage de classes
    Par Chello dans le forum Général Python
    Réponses: 6
    Dernier message: 19/07/2014, 14h46
  2. Mauvaise compréhension de JOIN deux tables
    Par devjcc dans le forum Requêtes
    Réponses: 6
    Dernier message: 08/09/2010, 17h25
  3. Mauvaise compréhension de CssResource
    Par Eléonore23 dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 26/07/2010, 17h00
  4. Réponses: 18
    Dernier message: 02/02/2010, 15h39
  5. mauvaise compréhension du "xor"
    Par dispa dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/11/2007, 09h07

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