Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/02/2008, à 20:13

ptitcois

Probleme en C sous Glade ( valeurs éronées)

Bonjour, j'ai découvert Glade il y a peu de temps et je l'ai trouvé génial.
Mais j'ai un très gros probleme:
Quand je récupere une valeur entrée par l'utilisateur (avec un spin button) en la fprintfant la valeur est totalement differente et, elle ne change pas quand change la valeur
ex:
j'execute mon programme, je met la valeur du spinbutton à 8, je vais chercher le fichier ou je l'ai fprintfé et je trouve une valeur.

je recommence (j'ai supprimé le fichier ou j'avais fprintfé la 1ere valeur), je met la valeur à 99 et la valeur fprintfé est la même que la premiere.

Si cela n'est pas tres claire, je met le "interface.c":


/* 
* DO NOT EDIT THIS FILE - it is generated by Glade. 
*/

#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <sys/types.h>
#include <sys/stat.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <string.h>
#include <stdio.h>

#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>

#include "callbacks.h"
#include "interface.h"
#include "support.h"

#define GLADE_HOOKUP_OBJECT(component,widget,name) \
  g_object_set_data_full (G_OBJECT (component), name, \
    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)

#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
  g_object_set_data (G_OBJECT (component), name, widget)

GtkWidget*
create_window1 (void)
{
  FILE *fichier = NULL;
  fichier = fopen("test.txt", "a+" );
  GtkWidget *window1;
  GtkWidget *vbox1;
  GtkObject *spinbutton1_adj;
  GtkWidget *spinbutton1;
  GtkWidget *bouton;

  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window1), _("window1" ));

  vbox1 = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (vbox1);
  gtk_container_add (GTK_CONTAINER (window1), vbox1);

  spinbutton1_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0);
  gtk_widget_show (spinbutton1);
  gtk_box_pack_start (GTK_BOX (vbox1), spinbutton1, FALSE, FALSE, 0);
//en dessous je met la valeur de spinbutton1 et spinbutton1_adj 
  fprintf(fichier,"%d\n%d\n%d\n%d", spinbutton1, spinbutton1_adj, &spinbutton1, &spinbutton1_adj);

  bouton = gtk_check_button_new_with_mnemonic (_("checkbutton1" ));
  gtk_widget_show (bouton);
  gtk_box_pack_start (GTK_BOX (vbox1), bouton, FALSE, FALSE, 0);
  //pareil pour bouton 
  fprintf(fichier,"%d\n%d", bouton, &bouton);
 

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1" );
  GLADE_HOOKUP_OBJECT (window1, vbox1, "vbox1" );
  GLADE_HOOKUP_OBJECT (window1, spinbutton1, "spinbutton1" );
  GLADE_HOOKUP_OBJECT (window1, bouton, "bouton" );

  return window1;
}

j'ai juste rajouté les fprintfs et les commentaires (l 53-54 et 59-60)
Sinon le projet en entier, vous pouvez le tester svp (on sait jamais ça peut fonctionner autre part )
http://ptitcois35.free.fr/project2.zip

Voila, merci de vos futur réponses

Hors ligne

#2 Le 12/02/2008, à 18:20

ptitcois

Re : Probleme en C sous Glade ( valeurs éronées)

ça ne vous ai jamais arrivé ça non ?

Hors ligne

#3 Le 13/02/2008, à 11:01

telliam

Re : Probleme en C sous Glade ( valeurs éronées)

ptitcois a écrit :

ça ne vous ai jamais arrivé ça non ?

Je ne connais pas glade mais avec cette ligne suivante tu ne vas avoir que des adresses mémoires d'afficher car spinbutton1 et spinbutton1_adj sont des pointeurs.

Est ce bien cela que tu vx faire?

 fprintf(fichier,"%d\n%d\n%d\n%d", spinbutton1, spinbutton1_adj, &spinbutton1, &spinbutton1_adj);

"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#4 Le 13/02/2008, à 11:06

telliam

Re : Probleme en C sous Glade ( valeurs éronées)

si j'en crois

http://library.gnome.org/devel/gtk/stable/GtkSpinButton.html

il faudrait que tu utilises  gtk_spin_button_get_value_as_int  pour afficher la valeur du bouton non??


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#5 Le 13/02/2008, à 13:51

ptitcois

Re : Probleme en C sous Glade ( valeurs éronées)

Ah merci, euh vous ne conaitriez pas des cours/tuto pour GTK+ mais trop dur ? big_smile

Hors ligne

#6 Le 13/02/2008, à 14:09

telliam

Re : Probleme en C sous Glade ( valeurs éronées)

Google ??? wink


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#7 Le 13/02/2008, à 15:53

ptitcois

Re : Probleme en C sous Glade ( valeurs éronées)

oui, j'ai déja cherché mais ils sont tous en anglais...

Hors ligne

#8 Le 13/02/2008, à 21:14

telliam

Re : Probleme en C sous Glade ( valeurs éronées)

c'est la langue scientifique de référence.


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#9 Le 13/02/2008, à 22:25

human enemy

Re : Probleme en C sous Glade ( valeurs éronées)

Il y a des tutoriels en Français sur www.developpez.com  rubrique C sous-rubrique gtk+

Sinon tu peux aussi télécharger les paquets doc glib et/ou gtk+ avec synaptic.

Ensuite tu installes devhelp et tu auras les doc de développement.

EDIT :  Sinon telliam a tout bon sur l'origine de ton pb et sur la solution wink

Dernière modification par human enemy (Le 13/02/2008, à 22:30)


<linux user>463160</linux user>
str = g_strdup_printf ("ubuntu user : %d",20328);

Hors ligne

#10 Le 14/02/2008, à 06:32

YokoUno

Re : Probleme en C sous Glade ( valeurs éronées)

Ce que tu peux faire aussi, c'est récupérer les sources d'une appli faite en gtk, et regarder comment c'est fait.
Une appli minuscule, hein, va pas essayer ça avec gimp lol

A part ça, telliam a raison au sujet de l'anglais. Dans ce cas, pourquoi ne pas essayer de faire d'une pierre deux coups: tu apprends gtk et tu en profites pour te remettre à  niveau en anglais. L'anglais informatique est bien moins difficile que l'anglais conversationnel: déjà  t'as pas besoin de le parler, et d'autre part beaucoup de termes sont récurrents. à‡a te ferait une remise à  niveau pas cher, à  ton rythme, et sans prof sur le dos wink

#11 Le 14/02/2008, à 07:47

ptitcois

Re : Probleme en C sous Glade ( valeurs éronées)

ok merci a vous 3 alors je vais (re)apprendre l'anglais, et vérifier si me traduction n'ont pas aucun sens !

Hors ligne