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

GTK+ avec C & C++ Discussion :

Probleme affichage dans entry a partir d'un fichier texte


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Probleme affichage dans entry a partir d'un fichier texte
    Dans le cadre de la realisation d'un client mail, j'ai mis au point un widget permettant à l'utilisateur de configurer rapidement ses options de connexions.
    De ce fait, je lui permet de saisir son login, son mot de passe, et deux choix de configuration du client mail.

    Le probleme est le suivant, j'arrive a lire le contenu du fichier et a le stocker dans un tableau de char et a afficher correctement le contenu du fichier texte dans une console.
    Le code est le suivant pour la lecture du fichier en mode console :
    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
     
    #include <stdio.h>
    #include <string.h>
     
    int main(int argc, char *argv[])
    {
     
        FILE* fichier = NULL;
        char chaine[128] = "";
        char mail[50] = "";
        char password[50] = "";
        char receiv[3] = "";
        char send[3] = "";
        int n = 0;
     
        fichier = fopen("usr.txt", "r");
     
        if (fichier != NULL)
        {
         if(n==0){
           fgets(mail,128, fichier);
           n++;
           }
     
         if(n==1){
           fgets(password,128, fichier);
           n++;
           }
     
         if(n==2){
           fgets(receiv,128, fichier);
           n++;
           }
     
         if(n==3){
           fgets(send,128, fichier);
           n++;
           }
     
            fclose(fichier);
        }
        char *pointeur;
        pointeur = &mail[0];
     
        printf("%s", pointeur);
        pointeur = &password[0];
        printf("%s", pointeur);
        pointeur = &receiv[0];
        printf("%s", pointeur);
        pointeur = &send[0];
        printf("%s\n\n", pointeur);
     
        printf("%d", n);
     
        system("pause");
        return 0;
    }
    L'utilisation d'un pointeur vient du fait que GTK ne gere pas les tableaus pour stocker les chaines de caractere comme le C, donc j'ai preferer avoir recours a ce pointeur. Le probleme dans GTK, est le suivant : impossibilité d'afficher une adresse complete.
    Si je rentre une adresse complete sa affiche un resultat incomprehensible.
    Je suis obliger d'ommetre volontairement le .com ou autre, pour avoir un affichage comprehensif pour l'homme du style : guill@hotmail

    Voici mon code source apres incorporation de la recuperation des donnés du fichier texte :
    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
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
     
    void save(GtkWidget *data1, gpointer data)
    {
        GSList *List;
        const gchar *bufferReceiv;
        const gchar *bufferSend;
     
        /* Recuperation de la liste des boutons */
        List = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioOnConnect_yes));
     
        /* Parcours de la liste */
        while(List)
        {
            /* Le bouton est il selectionne */
            if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radioOnConnect_yes)))
            {
                /* OUI -> on copie le label du bouton */
                bufferReceiv = gtk_button_get_label(GTK_BUTTON(radioOnConnect_yes));
                /* On met la liste a NULL pour sortir de la boucle */
                List = NULL;
            }
            else
            {
                /* NON -> on passe au bouton suivant */
                List = g_slist_next(List);
            }
        }
     
        /* Recuperation de la liste des boutons */
        List = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioOnConnect_yes_));
     
        /* Parcours de la liste */
        while(List)
        {
            /* Le bouton est il selectionne */
            if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radioOnConnect_yes_)))
            {
                /* OUI -> on copie le label du bouton */
                bufferSend = gtk_button_get_label(GTK_BUTTON(radioOnConnect_yes_));
                /* On met la liste a NULL pour sortir de la boucle */
                List = NULL;
            }
            else
            {
                /* NON -> on passe au bouton suivant */
                List = g_slist_next(List);
            }
        }
     
     
        FILE *f;
        char filename[255]="usr.txt";
        f = fopen(filename,"w");
        if (f != NULL){
           fprintf(f,"%s\n",recup_mail);
           fprintf(f,"%s\n",recup_password);
           fprintf(f,"%s\n",bufferReceiv);
           fprintf(f,"%s\n",bufferSend);
           }
        fclose(f);
     
        gtk_statusbar_pop(GTK_STATUSBAR(pStatusBar), GPOINTER_TO_INT(iContextId1));    
        gtk_widget_destroy(data);
    }
     
    void quit(GtkWidget *data1, gpointer data)
    {
        gtk_statusbar_pop(GTK_STATUSBAR(pStatusBar), GPOINTER_TO_INT(iContextId1));
        gtk_widget_destroy(data);
    }
     
     
    void FastConfig(void)
    {
        /* Recuperation des données du fichier cfg */    
        FILE* fichier = NULL;
        char chaine[128] = ""; // Chaîne vide de taille TAILLE_MAX
        char mail[50] = "";
        char password[50] = "";
        char receiv[3] = "";
        char send[3] = "";
        int n = 0;
     
        fichier = fopen("usr.txt", "r");
     
        if (fichier != NULL)
        {
         if(n==0){
           fgets(mail,128, fichier);
           n++;
           }
     
         if(n==1){
           fgets(password,128, fichier);
           n++;
           }
     
         if(n==2){
           fgets(receiv,128, fichier);
           n++;
           }
     
         if(n==3){
           fgets(send,128, fichier);
           n++;
           }
     
            fclose(fichier);
        }
        char *pointeur;
        pointeur = &mail[0];
     
        GtkWidget* BoiteFastConfig;
        GtkWidget* Titre;
        GtkWidget* frameTitre;
        GtkWidget* labelMail;
        GtkWidget* saisieMail;
        GtkWidget* labelPassword;
        GtkWidget* saisiePassword;
        GtkWidget* labelRecupOnConnect;
        GtkWidget* radioOnConnect_no;
        GtkWidget* labelSendOnConnect;
        GtkWidget* radioOnConnect_no_;
     
     
        /* Creation de la boite de dialogue */
        BoiteFastConfig = gtk_dialog_new_with_buttons("Configuration rapide",
            GTK_WINDOW(window),
            GTK_DIALOG_NO_SEPARATOR,
            NULL);        
        gtk_widget_set_usize(BoiteFastConfig,400,330);
     
     
        /* Creation des box de positionnement */
        GtkWidget* vTitleBox;
        GtkWidget* vInFrameBox;
        GtkWidget* hInFrameMail;
        GtkWidget* hInFramePassword;
        GtkWidget* hInFrameRecupMailOnConnect;
        GtkWidget* vInFrameRecupMailOnConnectText;
        GtkWidget* vInFrameRecupMailOnConnectRadio;
        GtkWidget* vFillBox;
        GtkWidget* vFillBox2;
        GtkWidget* vFillBox_;
        GtkWidget* vFillBox2_;
        GtkWidget* hInFrameSendMailOnConnect;
        GtkWidget* vInFrameSendMailOnConnectText;
        GtkWidget* vInFrameSendMailOnConnectRadio;
        GtkWidget* hInFrameButtonValue;
        vTitleBox = gtk_vbox_new(FALSE, 0);
        vInFrameBox = gtk_vbox_new(FALSE, 0);
        hInFrameMail = gtk_hbox_new(FALSE, 0);
        hInFramePassword = gtk_hbox_new(FALSE, 0);
        hInFrameRecupMailOnConnect = gtk_hbox_new(FALSE, 0);
        vInFrameRecupMailOnConnectText = gtk_vbox_new(FALSE, 0);
        vInFrameRecupMailOnConnectRadio = gtk_vbox_new(FALSE, 0);
        vFillBox = gtk_vbox_new(FALSE, 0);
        vFillBox2 = gtk_vbox_new(FALSE, 0);
        vFillBox_ = gtk_vbox_new(FALSE, 0);
        vFillBox2_ = gtk_vbox_new(FALSE, 0);
        hInFrameSendMailOnConnect = gtk_hbox_new(FALSE, 0);
        vInFrameSendMailOnConnectText = gtk_vbox_new(FALSE, 0);
        vInFrameSendMailOnConnectRadio = gtk_vbox_new(FALSE, 0);
        hInFrameButtonValue = gtk_hbox_new(FALSE, 0);
     
     
        /* Creation de la frame */
        gtk_box_pack_start(GTK_BOX(GTK_DIALOG(BoiteFastConfig)->vbox), vTitleBox, FALSE, FALSE, 0);
        frameTitre = gtk_frame_new("Veuillez renseignez les champs suivants :");
        gtk_frame_set_shadow_type(GTK_FRAME (frameTitre), GTK_SHADOW_ETCHED_OUT);
        gtk_container_add(GTK_CONTAINER(vTitleBox), frameTitre);
        gtk_container_set_border_width(GTK_CONTAINER (frameTitre), 5);
        gtk_widget_set_usize(frameTitre,380,325);
     
        /* Creation du label Mail d'envoie */
        gtk_container_add(GTK_CONTAINER(frameTitre), vInFrameBox);
        gtk_box_pack_start(GTK_BOX(vInFrameBox), hInFrameMail, FALSE, FALSE, 0);
        labelMail = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelMail),"<span font_desc=\"Times New Roman 10\" foreground=\"#000000\"><b><u>Votre adresse e-mail :</u></b></span>");
        gtk_box_pack_start(GTK_BOX (hInFrameMail), labelMail, FALSE, FALSE, 10);
        gtk_widget_set_usize(labelMail,130,80);
     
        /* Creation de l'entree de saisie du Mail d'envoie */
        saisieMail = gtk_entry_new();
        gtk_entry_set_max_length(GTK_ENTRY (saisieMail), 50);
        gtk_entry_set_text(GTK_ENTRY(saisieMail), pointeur);
        gtk_box_pack_start(GTK_BOX(hInFrameMail), saisieMail, FALSE, FALSE, 10);
        recup_mail = gtk_entry_get_text(GTK_ENTRY(saisieMail));
     
     
        /* Creation du label Password lié au mail */
        labelPassword = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelPassword),"<span font_desc=\"Times New Roman 10\" foreground=\"#000000\"><b><u>Votre mot de passe :</u></b></span>");
        gtk_box_pack_start(GTK_BOX(vInFrameBox), hInFramePassword, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX (hInFramePassword), labelPassword, FALSE, FALSE, 10);
        gtk_widget_set_usize(labelPassword,125,0);
     
        /* Creation du champ de saisie du password lié au mail */
        saisiePassword = gtk_entry_new();
        gtk_entry_set_max_length(GTK_ENTRY(saisiePassword), 15);
        gtk_entry_set_visibility(GTK_ENTRY(saisiePassword), FALSE);
        recup_password = gtk_entry_get_text(GTK_ENTRY(saisiePassword));
        pointeur = &password[0];
        gtk_entry_set_text(GTK_ENTRY(saisiePassword), pointeur);
        gtk_box_pack_start(GTK_BOX (hInFramePassword), saisiePassword, FALSE, FALSE, 15);
     
     
        /* Creation du label de Recuperation des mails au lancement du programme */
        labelRecupOnConnect = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelRecupOnConnect),"<span font_desc=\"Times New Roman 10\" foreground=\"#000000\"><b><u>Recuperer les e-mails au lancement du programme :</u></b></span>");
        gtk_box_pack_start(GTK_BOX(vInFrameBox), hInFrameRecupMailOnConnect, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX (hInFrameRecupMailOnConnect), vInFrameRecupMailOnConnectText, FALSE, FALSE, 10);    
        gtk_box_pack_start(GTK_BOX (vInFrameRecupMailOnConnectText), labelRecupOnConnect, FALSE, FALSE, 10);
        gtk_widget_set_usize(labelRecupOnConnect,300,80);
     
        /* Creation des radios box de selection de Recuperation */
        gtk_box_pack_start(GTK_BOX (hInFrameRecupMailOnConnect), vFillBox, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX (vFillBox), vFillBox2, FALSE, FALSE, 15);
        gtk_box_pack_start(GTK_BOX (vFillBox), vInFrameRecupMailOnConnectRadio, FALSE, FALSE, 10);
        radioOnConnect_yes = gtk_radio_button_new_with_label(NULL, "Oui");
        gtk_box_pack_start(GTK_BOX (vInFrameRecupMailOnConnectRadio), radioOnConnect_yes, FALSE, FALSE, 0);
        radioOnConnect_no = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (radioOnConnect_yes), "Non");
        gtk_box_pack_start(GTK_BOX (vInFrameRecupMailOnConnectRadio), radioOnConnect_no, FALSE, FALSE, 0);
     
     
        /* Creation du label d'envoie des E-mails en attente au lancement du programme */
        labelSendOnConnect = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelSendOnConnect),"<span font_desc=\"Times New Roman 10\" foreground=\"#000000\"><b><u>Envoyer les e-mails en attente au demarrage :</u></b></span>");
        gtk_box_pack_start(GTK_BOX(vInFrameBox), hInFrameSendMailOnConnect, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX (hInFrameSendMailOnConnect), vInFrameSendMailOnConnectText, FALSE, FALSE, 10);    
        gtk_box_pack_start(GTK_BOX (vInFrameSendMailOnConnectText), labelSendOnConnect, FALSE, FALSE, 10);
        gtk_widget_set_usize(labelSendOnConnect,260,0);
     
        /* Creation des radios box de selection d'envoie */
        gtk_box_pack_start(GTK_BOX (hInFrameSendMailOnConnect), vFillBox_, FALSE, FALSE, 40);
        gtk_box_pack_start(GTK_BOX (vFillBox_), vFillBox2_, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX (vFillBox_), vInFrameSendMailOnConnectRadio, FALSE, FALSE, 10);
        radioOnConnect_yes_ = gtk_radio_button_new_with_label(NULL, "Oui");
        gtk_box_pack_start(GTK_BOX (vInFrameSendMailOnConnectRadio), radioOnConnect_yes_, FALSE, FALSE, 0);
        radioOnConnect_no_ = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (radioOnConnect_yes_), "Non");
        gtk_box_pack_start(GTK_BOX (vInFrameSendMailOnConnectRadio), radioOnConnect_no_, FALSE, FALSE, 0);
     
     
        /* Creation des boites de posiotionnements des bouttons */
        GtkWidget* contenu_validate;
        contenu_validate = gtk_hbox_new(FALSE, 0);
        GtkWidget* contenu_cancel;
        contenu_cancel = gtk_hbox_new(FALSE, 0);
        GtkWidget* hFillBox;
        hFillBox = gtk_hbox_new(FALSE, 0);
        /* Creation des boutons, des labels et des images */
        GtkWidget* acceptBtn;
        GtkWidget* declineBtn;
        GtkWidget* btnImg;
        GtkWidget* btn_Img;
        GtkWidget* labelValidate;
        GtkWidget* labelCancel;
     
        /* Creation du bouton Accepter */
        acceptBtn = gtk_button_new_with_label(NULL);
        gtk_container_add(GTK_CONTAINER(acceptBtn), contenu_validate);
     
        btnImg = gtk_image_new_from_file("./Images/validate.bmp");
        gtk_box_pack_start(GTK_BOX (contenu_validate), btnImg, FALSE, FALSE, 0);
     
        labelValidate = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelValidate),"<span font_desc=\"Times New Roman 8\" foreground=\"#0000FF\"><b><u>A</u>ppliquer</b></span>");
        gtk_box_pack_start(GTK_BOX (contenu_validate), labelValidate, TRUE, TRUE, 0);
        gtk_box_pack_start(GTK_BOX(vInFrameBox), hInFrameButtonValue, FALSE, FALSE, 0);
        gtk_box_pack_start(GTK_BOX(hInFrameButtonValue), hFillBox, FALSE, FALSE, 200);
        gtk_box_pack_start(GTK_BOX(hFillBox), acceptBtn, FALSE, FALSE, 10);
       	g_signal_connect(G_OBJECT(acceptBtn), "clicked", G_CALLBACK(save), (GtkWidget*) BoiteFastConfig);    // Affectation du signal lié au bouton accepter
        g_signal_connect(G_OBJECT(acceptBtn), "enter", G_CALLBACK(OnBtnAccept), GINT_TO_POINTER(iContextId1));
        g_signal_connect(G_OBJECT(acceptBtn), "leave", G_CALLBACK(ClearStatus), GINT_TO_POINTER(iContextId1));
     
        /* Creation du bouton Annuler */
        declineBtn = gtk_button_new_with_label(NULL);
        gtk_container_add(GTK_CONTAINER(declineBtn), contenu_cancel);
     
        btn_Img = gtk_image_new_from_file("./Images/cancel.bmp");
        gtk_box_pack_start(GTK_BOX (contenu_cancel), btn_Img, FALSE, FALSE, 0);
     
        labelCancel = gtk_label_new(NULL);
        gtk_label_set_markup(GTK_LABEL(labelCancel),"<span font_desc=\"Times New Roman 8\" foreground=\"#0000FF\"><b><u>A</u>nnuler</b></span>");
        gtk_box_pack_start(GTK_BOX (contenu_cancel), labelCancel, TRUE, TRUE, 0);
        gtk_box_pack_start(GTK_BOX(hFillBox), declineBtn, FALSE, FALSE, 0);
       	g_signal_connect(G_OBJECT(declineBtn), "clicked", G_CALLBACK(quit), (GtkWidget*) BoiteFastConfig);    // Affectation du signal lié au bouton annuler
        g_signal_connect(G_OBJECT(declineBtn), "enter", G_CALLBACK(OnBtnDecline), GINT_TO_POINTER(iContextId2));
        g_signal_connect(G_OBJECT(declineBtn), "leave", G_CALLBACK(ClearStatus), GINT_TO_POINTER(iContextId2));
     
     
        /* Affichage des elements de la boite de dialogue */
        gtk_widget_show_all(GTK_DIALOG(BoiteFastConfig)->vbox);
     
     
        /* On lance la boite de dialogue et on recupere la reponse */
        gtk_dialog_run(GTK_DIALOG(BoiteFastConfig));
     
     
        /* Destruction de la boite de dialogue */
        gtk_widget_destroy(BoiteFastConfig);
     
    }

    Je desire simplement pouvoir afficher une addresse complete tout simplement.
    MErci d'avance..

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Je ne sais pas trop où tu entreprend les différentes actions que tu cites, si tu pouvais éclaircir la voie Par contre pour ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        char *pointeur;
        pointeur = &mail[0];
    il est mieux de faire ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char * pointeur = mail;
    donner simplement le nom du tableau fait pointer sur son premier élément
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par HaaRt
    L'utilisation d'un pointeur vient du fait que GTK ne gere pas les tableaus pour stocker les chaines de caractere comme le C, donc j'ai preferer avoir recours a ce pointeur. Le probleme dans GTK, est le suivant : impossibilité d'afficher une adresse complete.
    Bin quoi, si tu as une chaîne de caractères dans un tableau statique, tu peux également le passer en argument aux fonctions de GTK+ prennant en paramètre une chaîne, je vois pas où se situ le problème !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Quands je saisie mon addresse :
    Pièce jointe 11647

    et que je relance le widget gerant la configuration de l'utilisateur, j'obtiens :
    Pièce jointe 11648


    Cependant quands je saisie juste HaaRt01@hotmail et que je ré ouvre la fenetre, sa affiche correctement ce que j'ai demandé.

    MErci de m'aider, car j'ai besoin d'afficher l'adresse complete de l'utilisateur.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Le mieux serait que tu fasses un zip avec ton projet au complet que je puisse tester chez moi, j'y verrais plus clair
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    voici le code source de mon projet,
    merci de m'y apporter de l'aide.

    Copie de PS1 Client Mail.rar

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    T'es bon .... enfin pour revoir tout ton projet car là c'est le bordel immense

    As-tu appris la programmation modulaire ? Je pose la question car faire de la définition de fonctions dans un header (*.h) comme dans les fichiers FastConfig.h, ProfilConfig.h, ... et j'en passe c'est vraiment pas bien ! Les fichiers d'en-tête (headers) ne sont pas là pour du code mais uniquement pour des définitions de structures, énumérations, entre autres et des déclarations de fonctions donc ici des prototype uniquement non pas l'implémentation même des fonctions !

    De plus, tu utilises winsock32 et moi je suis sous Linux alors je ne peut même pas tester (faut je passe sur ma session windows, si j'arrive à compiler avec toutes tes erreurs comme citées plus haut), si tu règles bien ton compilateur, tu n'arriverais même pas à compiler et d'ailleurs, cela m'étonne hautement qui tu ais réussi à compiler ton projet

    Bref, pour le moment je n'en sais pas plus sur ton problème mais au vu de ton projet cela pourrais venir de n'importe où, une variable mal utilisée, mal initialisé (donc également mal remplie), un pointeur mal initialisé ou qui pointe sur un endroit qu'il ne faut pas ... bref y'a du travail

    Si tu n'as pas étudié la programmation modulaire (ce qui m'étonnerais quand même) jetes au moins un bon coup d'oeil sur ce petit cours de C ou bien ouvre à nouveau ton livre de C !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/01/2013, 14h41
  2. Insertion dans une table à partir d'un fichier texte
    Par romfauch63 dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/05/2008, 09h37
  3. Réponses: 1
    Dernier message: 15/12/2006, 14h04
  4. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44

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