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 :

Effacer une zone de text par l'intermediaire d'un bouton


Sujet :

GTK+ avec C & C++

  1. #21
    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
    Tu utilises quelle version de GTK+/GLIB ? La fonction g_file_set_contents n'est disponible que depuis la version 2.8 !
    Le second message est simplement dû au premier car il arrête la compilation !

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    jai réussi a régler le probleme!!

    Il me reste juste un truc, je dois charger un fichier dans une combo box: ce que j'arrive à faire. Par contre je ne dois pas prendre tous les caractères de mon fichier: Voici mon fichier: cat:travail; cat:réunion; .............................................................
    ...cat:vacances; et je dois afficher dans ma liste déroulante que travail, réunion... vacances et je ne sais pas comment faire!! voici mon programme

    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
    Combo = gtk_combo_box_new_text ();
    gtk_box_pack_start(GTK_BOX(pVBox3), Combo, TRUE, TRUE, 0); 
     
    // Affichage et démarrage de la boucle even.
    gtk_widget_show_all(pWindow);
     
    /*Chargement de la combobox*/
    GIOChannel * p_file = NULL;
    GError * p_err = NULL;
    gchar * p_buf = NULL;
    p_file = g_io_channel_new_file ("memocat.txt", "r", & p_err);
    if (p_file != NULL)
    {
    p_buf = g_malloc (20); // Taille de buffer suffisante. //
    if (p_buf != NULL)
    {
    // Lecture ligne par ligne. //
    while (g_io_channel_read_line (p_file, & p_buf, NULL, NULL, NULL) ==
    G_IO_STATUS_NORMAL)
    {
     
    gchar * p = strchr (p_buf, '\n');
    if (p != NULL)
    {
    *p = 0;
    }
    //Chargement de la ligne du fichier text p_buf dans le combo box
    gtk_combo_box_append_text (GTK_COMBO_BOX(Combo), p_buf); 
    g_printf ("%s\n", p_buf);
    }
    }
    }
    else
    {
    // Erreur d'ouverture du fichier. //
    g_printf ("%s\n", p_err->message);
    g_error_free (p_err);
    }
    gtk_main();
    merci

  3. #23
    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
    Ce sujet a déjà été abordé dans ce forum il n'y a pas si longtemps. Si les catégories sont enregistrées les unes à la suite des autres (et non les unes en dessous des autres ce qui aurait été sans mieux) le mieux est encore je pense de faire une lecture du fichier caractère par caractère.

    Tu parcours le fichier jusqu'à trouver un caractère ':' puis tu range les caractères suivants dans une chaîne tant que tu ne tombe pas sur par exemple le caractère ';' qui est apparement ton caractère de séparation.

  4. #24
    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 cassa
    voici mon programme

    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
    Combo = gtk_combo_box_new_text ();
    gtk_box_pack_start(GTK_BOX(pVBox3), Combo, TRUE, TRUE, 0); 
     
    // Affichage et démarrage de la boucle even.
    gtk_widget_show_all(pWindow);
     
    /*Chargement de la combobox*/
    GIOChannel * p_file = NULL;
    GError * p_err = NULL;
    gchar * p_buf = NULL;
    p_file = g_io_channel_new_file ("memocat.txt", "r", & p_err);
    if (p_file != NULL)
    {
    p_buf = g_malloc (20); // Taille de buffer suffisante. //
    if (p_buf != NULL)
    {
    // Lecture ligne par ligne. //
    while (g_io_channel_read_line (p_file, & p_buf, NULL, NULL, NULL) ==
    G_IO_STATUS_NORMAL)
    {
     
    gchar * p = strchr (p_buf, '\n');
    if (p != NULL)
    {
    *p = 0;
    }
    //Chargement de la ligne du fichier text p_buf dans le combo box
    gtk_combo_box_append_text (GTK_COMBO_BOX(Combo), p_buf); 
    g_printf ("%s\n", p_buf);
    }
    }
    }
    else
    {
    // Erreur d'ouverture du fichier. //
    g_printf ("%s\n", p_err->message);
    g_error_free (p_err);
    }
    gtk_main();
    Ca c'est un fragment de programme, dans l'état actuel il ne permet pas aux autres comme moi de le tester donc la prochaine fois, fournit le tout, avec le main et les inclusion et l'initialisation du programme, fenêtre, etc... !

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut combobox
    ok jai fait autrement. Comment fait on, lorsqu'on a selectionné un élément de la combox, pour enregistrer cet élément dans un fichier? merci

  6. #26
    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 cassa
    ok jai fait autrement. Comment fait on, lorsqu'on a selectionné un élément de la combox, pour enregistrer cet élément dans un fichier? merci
    Bin il te faut récupérer le texte de l'élément sélectionné, ce que tu peux faire avec gtk_combo_box_get_active_text si bien sûr, ton GtkComboBox a été créé avec la fonction gtk_combo_box_new_text. Je pense que l'écriture dans un fichier tu sais quand même faire, cela fait parti des bases élémentaires du C

    Dans ma signature (je pense que c'est assez visible), il y'a un lien sur un tutoriel visant à bien maîtriser ce widget et son petit frère GtkComboBoxEntry !

Discussions similaires

  1. [XL-2003] insertion de lien hypertexte dans une zone de texte par un bouton parcourir
    Par csophie49 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 22/02/2012, 17h55
  2. [AC-2003] Nom d'une zone de texte par variable
    Par Chico_Latino dans le forum IHM
    Réponses: 6
    Dernier message: 19/03/2010, 15h59
  3. Réponses: 5
    Dernier message: 23/01/2010, 20h57
  4. Réponses: 3
    Dernier message: 03/08/2007, 17h34
  5. Remplir une zone de texte par rapport à une checkbox
    Par beegees dans le forum Général JavaScript
    Réponses: 43
    Dernier message: 04/09/2006, 17h01

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