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 :

utiliser un tableau de pointeur


Sujet :

GTK+ avec C & C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut utiliser un tableau de pointeur
    bonjour,

    je voudrais pour enregistrer plusieurs champs utiliser un tableau de pointeur, et non pas une structure car je n'y arrive pas.
    J'ai essayer de faire ma fonction le problème c'est qu'il compile mais il n'enregistre rien pouvez vous me dire ce qui ne va pas dans ma fonction ou mes appels
    voici la connexion du bouton à la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     enregistrer[0]=entry1; 
     enregistrer[1]=textview1;
     
    g_signal_connect(G_OBJECT(button5),"clicked",G_CALLBACK(on_button5_clicked),(GtkWidget*)enregistrer);
    et voici la fonction:
    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
     
    void on_button5_clicked(GtkWidget *penregistrer,gpointer user_data[2])
     
    {
    /*déclaration des variables utiles pour récupérer la note*/
    GtkWidget *TextView;
    GtkEntry *Entry;
    GtkTextBuffer* text_buffer=0;
    GtkTextIter start;
    GtkTextIter end;
     
    GtkWidget* pconfirmation;
    gchar* buffer;
    const gchar *entrer;
    TextView=user_data[1];    
    Entry=user_data[0];
     
    /*déclaration d'un pointeur de fichier mémo*/
    FILE *memo;  
     
     
    /*On récupére ce que l'utilisateur a rentré*/                                        
    entrer=gtk_entry_get_text(GTK_ENTRY(Entry));
    //On recupere le buffer et on le met dans une variable
    text_buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(TextView));
    //On recupere l'origine du buffer
    gtk_text_buffer_get_start_iter(text_buffer,&start);
    //On recupere la fin du buffer
    gtk_text_buffer_get_end_iter(text_buffer,&end);
    /*on copie le contenu du buffer dans une variable*/
    buffer = gtk_text_buffer_get_text(text_buffer, &start, &end, TRUE);
     
     
     
    /*ouverture du fichier memo en écriture */
       memo= fopen("calend.txt","a");
       if (memo==NULL) {
           perror("erreur d'ouverture du fichier");
           exit(0);
       }
    fprintf(memo,"BEGIN:VEVENT\n"); 
    fprintf(memo,"SUMMARY:");  
    fprintf(memo,"%s\n",entrer);
    fprintf(memo,"DESCRIPTION:");
    fprintf(memo,"%s\n",buffer);
    fclose(memo);
     
    //affichage d'une fenetre de confirmation d'enregistrement
    pconfirmation = gtk_message_dialog_new (NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO ,GTK_BUTTONS_OK, "Votre memo a bien ete enregistre");
    gtk_dialog_run(GTK_DIALOG(pconfirmation));
    gtk_widget_destroy(pconfirmation);
     
    	/* On libere la memoire */
      g_free(buffer);
    }
    merci de votre aide

  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 : 47
    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 t'ai déjà je ne sais combien de fois qu'on ne passe pas des arguments de cette manière aux callback. Soit tu passes par une GList soit par une structure qui reste encore la méthode la moins pénible à mettre en place. Si tu n'y arrives pas c'est que tu fait mal quelque chose.

    Refait la structure et les passages en paramètres de celle-ci avec les utilisations etc... et envoie moi ton code par mail dans un zip que je jète un oeil sinon le mois prochain tu y sera encore

    Si tu as du mal avec les structure suit des tutoriels/cours , ce sont des notions à maîtriser impérativement en C: structures, pointeurs et liste chaînées !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    je t'ai envoyé sur ton adresse gmail tout mon fichier zippé, je continue à travailler sur les structures
    merci
    pepsister

  4. #4
    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 : 47
    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 pepsister
    je t'ai envoyé sur ton adresse gmail tout mon fichier zippé, je continue à travailler sur les structures
    merci
    pepsister
    Bin j'ai rien reçu

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    ton adresse c'est bien
    franhec at gmail dot com

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    tu l'as recu ou pas?
    je le mets ici en fichier joint
    merci

  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 : 47
    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 pepsister
    ton adresse c'est bien
    franhec at gmail dot com
    Ouais c'est ca mais rien reçu sur mon compte

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    je comprend pas pourquoi ta rien recu sur ton compte enfin je te l'ai mis en piece jointe au message précédent j'espere que tu peux l'ouvrir

  9. #9
    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 : 47
    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
    Ta structure et son passage en paramètre aux fonctions est bien fait, ton problème se situe dans l'accès au bon widget. Toi, ton but ultime était de faire apparaître les mois par rapport au jour choisi mais dans ta fonction on_comboboxentry1_changed, ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text=gtk_entry_get_text(GTK_ENTRY (GTK_BIN (p_st->comboboxentry1)->child));
    Tu avais mis en fait le widget:
    Une fois que j'ai fait ce tout ptit changement, j'ai testé et le choix des mois se déroule très bien

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    j'ai bien changer ce que tu m'as dit mais moi contrairement à toi ca ne marche pas dès que je choisis un nombre dans la combobxentry1 il m'affiche une fenêtre d'erreur.
    Je te renvoie en piece jointe mon programme et la fenetre d'erreur mais pourtant je n'ai rien changer je vois pas pourquoi toi ca marche et pas moi?
    merci
    pepsister

  11. #11
    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 : 47
    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
    Rien de tel chez moi, même pas de warnings durant l'exécution du programme ou le remplissage des combo etc... ! Désolé de ne pouvoir t'en dire d'avantage

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    pourquoi ca me ferait ca chez moi?

  13. #13
    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 : 47
    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 pepsister
    pourquoi ca me ferait ca chez moi?
    Si je le savais je te le dirais

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    surtout que ca marchait avant les structures les insertions des mois
    est ce que ca peut etre parce que j'ai une version trop vieille un truc comme ca
    enfin la jsui dans la me... car je peux plus rien faire du coup

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    fo m'expliquer jai rien fait et maintenat ca marche c geniale mais je comprend vraimen rien

  16. #16
    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 : 47
    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 sais pas trop, chez moi je suis sur GTK+ 2.10.11 mais je ne pense pas que cela joue particulièrement.

  17. #17
    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 : 47
    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 pepsister
    fo m'expliquer jai rien fait et maintenat ca marche c geniale mais je comprend vraimen rien
    Peut-être est-ce dû à une recompilation complète.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    voila j'ai continuer avancer ma fonction enregistrer, j'ai donc agrandit ma structure et comme tout a l'heure ici quand je choisit une phrase dans la comboboxentry9, je peux choisir quelque chose dans la comboboexentry10 mais des que je choisit un choix dans cette combo là il m'affiche une fenetre d'erreur. Pourtant j'ai fais exactement comme mes procedure d'avant donc je me demande si c'est pas mon ordi ou mon gtk qui ne va pas et ca marcherait ailleurs comme tout a l'heure.Par contre la fenetre d'erreur est cette fois ci différente.
    Je te l'envoie en piece jointe peux tu me dire s'il te plait
    je te remercie beaucoup de ta patience

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    désolé la piece jointe n'a pas marcher
    la voici
    merci

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 302
    Points : 54
    Points
    54
    Par défaut
    le probleme revient sur plusieurs ordi je pense qu'il y a vrament un probleme dans la programmation mais je ne vois pas ou car il me met rien a l'exécution. Le seul truc c'est quand je selectionne le choix "autre" dans la comboboxentry9, il me propose et je selectionne "W2:toutes les deux semaines" dans la comboboxentry10 et là il ne m'affiche rien dans la comboboxentry11. Le truc c'est que ces fonctions là marchaient sans les structures.et c'est la meme pour passer de la comboboxentry9 à10 que pour la comboboxentry10 à 11 pourtant la derniere ne marche pas. Les structures pourraient ils etre la cause du problème? est ce que ca pourrait etre a cause de la comboboxentry10 qui est au milieu des deux autres c'est a dire qu'elle depend a la fois de la 9 et qu'elle gere aussi la 11, je ne vois que ca comme probleme puisque ca marche pour deux comboboxentry et pas pour trois qui dépende des unes des autres.
    je ne comprend pas pourquoi les structures pourrait ne pas faire marcher mes fonctions car ya aucune raison.
    pourrais je avoir un petit eclaicissement sur ce sujet

Discussions similaires

  1. comment utiliser tableau de pointeur
    Par yonna dans le forum Débuter
    Réponses: 1
    Dernier message: 30/11/2013, 02h26
  2. Réponses: 5
    Dernier message: 15/08/2012, 10h37
  3. Réponses: 4
    Dernier message: 30/04/2010, 11h33
  4. Réponses: 4
    Dernier message: 24/08/2005, 14h09
  5. [XHTML] Utilisation de Tableau en XHTML
    Par Kerod dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/04/2005, 11h23

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