begin process at 2012 05 29 09:47:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Autre

 > 

interface graphique GTK


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

interface graphique GTK

mardi 3 avril 2007 à 17:02:53 | interface graphique GTK

ifitep84

bonjour à tous j'ai un ptit souci avec mon programme .en somme j'ai construit une interface graphique sous glade qui utilise GTK . Dans mon interface graphique j'utilise des fenetres du type textview scrollwindows il y en deux, une dans laquelle je saisie le texte et dans l'autre je veux afficher du texte.seulement au moment d'executer mon programme quand je clic sur le button 3 les erreurs suivantes apparaissent : (projetjp:11096): Gtk-CRITICAL **: gtk_text_view_get_buffer: assertion `GTK_IS_TEXT_VIEW (text_view)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_s(projetjp:11096): Gtk-CRITICAL **: gtk_text_view_get_buffer: assertion `GTK_IS_TEXT_VIEW (text_view)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_start_iter: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_end_iter: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_text: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed tart_iter: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_end_iter: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed (projetjp:11096): Gtk-CRITICAL **: gtk_text_buffer_get_text: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed. voici mon code source: #ifdef HAVE_CONFIG_H # include #endif #include #include "callbacks.h" #include "interface.h" #include "support.h" #include #include #include #include #include #include "gmp.h" void initialisation_tab(long int *bloc,long int dimension ); void affichage (long int tab[],long int ligne, long int colonne); void nombre_premier(long int *p_case); int euler(long int *p_nombre,long int nbralea,long int *p_indice); void affichage_data(long int data); void cle_privee(long int *p_indice,long int *p_clepr,long int *p_clepu,long int indicateur_euler); void cle_public(long int*p_pr,long int *p_indice,long int *p_clepu,long int nbralea); int Nombre_Alea (int max, int min); long int premier [1000]; /* tableau de nombre premier */ long int taille_premier=1000; /* taille du tableau premier doit etre ?ale premier[] au dessus*/ long int indicateur_euler=0; /* indicateur euler*/ long int NombreAleatoire=0; /* variable contenant un nbr aleatoire pour choisir P et Q*/ long int max=1000; /* variable min pour choisir case dans le tableau[premier]*/ long int min=168; /* variable max pour choisir case dans le tableau[premier]*/ long int p_q[2]; /* tableau contenant[p;q] calculer a partir de euler*/ long int clepu[2]; /* tableau contenant la clépublic pour codé les données[ne]*/ long int clepr[2]; /* tableau contenant la cléprivé*/ char texte[20000]; /* varariable ou on range le texte */ int textes[20000]; /* variable ou on met le code en code ASCII*/ int texte_code[20000]; /* textes codé*/ int texte_decode[20000]; /* texte décodé*/ void on_button4_clicked (GtkButton *button, gpointer user_data) { /****************************************************************************************************/ initialisation_tab(premier,taille_premier); /* on initialise le tableau [premier] avec des zéro */ /****************************************************************************************************/ nombre_premier(premier); /* on rempli notre tableau de nbr premier */ /****************************************************************************************************/ NombreAleatoire=Nombre_Alea( max,min); /* cacul d'un nombre aleatoire */ /****************************************************************************************************/ indicateur_euler= euler(premier,NombreAleatoire,p_q);/* calcul indicateur euler on envoie tab[premier] tab[p_q]*/ printf("\n\n"); /****************************************************************************************************/ cle_public(premier,p_q,clepu,NombreAleatoire); /* et tab[p_q] pour n*/ /****************************************************************************************************/ printf("votre clepublic est [n;e] \n"); /* calcul de la clé publique*/ affichage(clepu,1,2); /* on affiche la cle public*/ printf("\n\n"); /****************************************************************************************************/ cle_privee(p_q,clepr,clepu,indicateur_euler); /* calcule de la clé privée*/ printf("votre cleprive est [n;d] \n"); affichage(clepr,1,2); /* on affiche la cle privé*/ GtkWidget * entry = lookup_widget(GTK_WIDGET(button), "entry2"); char output[100]; sprintf(output,"N= %ld E= %ld",clepu[0],clepu[1]); gtk_entry_set_text(entry, output); GtkWidget * entrys = lookup_widget(GTK_WIDGET(button), "entry3"); char outputs[100]; sprintf(output,"N= %ld D= %ld",clepr[0],clepr[1]); gtk_entry_set_text(entrys, output); } void on_button3_clicked (GtkButton*button,gpointer user_data) { printf("r0\n"); GtkWidget *dialog; GtkTextBuffer* text_buffer=0; GtkTextIter start; GtkTextIter end; gchar* buf=0; printf("r1\n"); //On recupere le buffer text_buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW( user_data)); //On recupere l'origine du buffer printf("r2\n"); 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 buf=gtk_text_buffer_get_text(text_buffer,&start, &end,TRUE); //On affiche le texte dans une boite de dialogue. dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Votre texte est :\n%s", buf); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); //On libere la memoire g_free(buf); } void on_button2_clicked (GtkButton *button, gpointer user_data) { gtk_main_quit(); } /*-----------------------------------------*/ /*programme qui renvoie un nombre aleatoire*/ /*-----------------------------------------*/ /*************************************************************************************************************/ int Nombre_Alea (int max, int min) { time_t t1; /* on procede a l'initialisation de la graine pour utilise la fonction ran()*/ time(&t1); srand((unsigned int)t1); return min+(int)((max-min+1.)*rand()/(RAND_MAX+1.0)); /*donne 1 nbr aleatoire entre 0 et 1000 ranger ensuite dans NombreALeatoire*/ } /*************************************************************************************************************/ /*---------------------------------------------------*/ /* programme qui rempli un tableau de nombre premiers*/ /*---------------------------------------------------*/ /**************************************************************************************************************/ void nombre_premier(long int *p_case) { long int nombre_test=2; /*declartion debut recherche nbr premier*/ long int diviseur=2; while(nombre_test!=7920) /*on cherche les nombres premier entre 2 et 100 */ { while(nombre_test%diviseur!=0 && diviseur0;bloc--) /* on pointe la bonne case dans tab[premier]*/ {p_nombre++;} p=*p_nombre; /* on met contenu de point par p_nonmbre dans p*/ somme=nbralea+separation; /* on fait la sommme pour voir la condition suivante*/ if(somme>832) /* on regarde si on ne pointe pas en dehors de tab[premier]*/ { Position_Pointeur=832-nbralea;/* pour une position2 separe de n on regarde case corresponde*/ Position_Pointeur=separation-Position_Pointeur; /*on dertime la bonne csae dans tab[premier]*/ for(bloc=nbralea;bloc>0;bloc--) /* on rénitialise pointeur vers adresse dans tab[premier]*/ {p_nombre--;} } else /* sinon on ne fait rien et on passe a la suite*/ {Position_Pointeur=separation;} for(bloc=Position_Pointeur;bloc>0;bloc--)/* on va cherche contenu dans case 100 du tab[premier]*/ {p_nombre++;} q=*p_nombre++; /*on range valeur pointé par p_nombre (dans tab[premier]) dans Q*/ *p_indice=p; /* le pointeur remplit le tab[p_q] avec p*/ p_indice++; /* on incremente le pointeur*/ *p_indice=q; /* le pointeur remplit le tab[p_q] avec p*/ resultat=(p-1)*(q-1); /* on calcul l'indicateur*/ return resultat; /* on retourne le resultat */ } /**************************************************************************************************************/ /*--------------------------------*/ /* programme qui affiche un entier*/ /*--------------------------------*/ /***************************************************************************************************************/ void affichage_data(long int data) {printf("%ld",data);} /***************************************************************************************************************/ /*-------------------------------------*/ /* programme qui determine clépublique*/ /*-------------------------------------*/ /*******************************************************************************************************************/ void cle_public(long int*p_pr,long int *p_indice,long int *p_clepu,long int nbralea) { long int n=0; long int p=0; long int q=0; long int e=0; int bloc=0; p=*p_indice; /* on recupere la valeur de p dans le tableau[p_q]*/ p_indice++; /* on incremente le pointeur pour alle a la case suivante */ q=*p_indice; /* on recupere la valeur de q dans le tableau[p_q]*/ n=p*q; /* on calule le produit N=P*Q*/ *p_clepu=n; /* on range la valeur de n dans le tab[clepu]*/ for(bloc=nbralea-50;bloc>0;bloc--) /* on selectionne un nombre au hazard dans tab [premier]*/ {p_pr++;} e=*p_pr; p_clepu++; *p_clepu=e; /*puis on le range dans [clepu] comme valeur de e*/ } /************************************************************************************************************/ /*------------------------------------*/ /* programme qui calcule la cléprivé*/ /*------------------------------------*/ /********************************************************************************************************/ void cle_privee(long int *p_indice,long int *p_clepr,long int *p_clepu,long int indicateur_euler) { long int n=0; long int p=0; long int q=0; long int a=0; long int b=0; long int c=0; mpz_t d; mpz_t e; mpz_t f; mpz_init_set_str (d, "0", 10);/* on initialise la variable d*/ mpz_init_set_str (e, "0", 10);/* on initialise la variable e*/ mpz_init_set_str (f, "0", 10);/* on initialise la variable f*/ p=*p_indice; /* on calcul n et on le met dans clepr*/ p_indice++; q=*p_indice; n=p*q; *p_clepr=n; a=indicateur_euler; /* on récupere la valeur d'euler */ mpz_set_ui(f,a); /* on transforme cette valeur en un nbr GMP*/ ++p_clepu; /* on recupere e dans [clepu]*/ b=*p_clepu; mpz_set_ui(e,b); /* et on transforme cette valeur en un nbr GMP*/ mpz_invert(d,e,f); /* on dertermine tel que D= 1/(E MOD F)*/ c=mpz_get_ui(d); /* on retransforme z en integer m*/ ++p_clepr; /* on place d dans [clepr]*/ *p_clepr=c; } /*************************************************************************************************** merci de votre aide à tous
mercredi 4 avril 2007 à 11:14:50 | Re : interface graphique GTK

turnerom

Le probleme est à la ligne 16 !


Cette discussion est classée dans : buffer, text, long, int, gtk


Répondre à ce message

Sujets en rapport avec ce message

saisie de texte gtk [ par sparetime ] bonsoirj'ai trouvé cette fonction pour faire la saisie du texte inséré dans une zone de texte dans le tutoriel sur gtkvoid saisie(GtkButton *button, G PB avec de l'ASM dans VC++ 6 .... [ par Foub12 ] Bonjour...Je programme sous VC++ 6 et j'ai trouvé sur Internet, la fonction suivante mais elle ne marche pas... Il compile parfaitement mais lors de l Les pointeurs, aide SVP [ par jb60 ] Bonjour,J'ai fait une source avec plusieurs fichier *.cpp et plusieurs fichiers *.hDans un fichier main.cpp, j'ai créé un pointeur BYTE *LesOctets;Je pb avec les pointeurs [ par oudkaramla ] salut, j'ai un problème dont je ne sais l'origine: en fait j'ai définis la fonction : int EnvoyerAvecReponse(char *g_buffer, unsigned long nBytesToWri compatibilité borland microsoft visual [ par swnnos ] Bonjour je dois réutiliser un fichier d'en tête fourni par le constructeur d'une platine d'usinage. Seulement ce fichier est compatible borland mais p ptit probl with:WriteFile() et ReadFile() [ par oudkaramla ] salut tout le monde,J'ai un petit problem avec WriteFile() et ReadFile().lors de la compilation j'ai les deux suivantes erreures:********************* Comment forcer le RTS pour une liaison RS232 [ par ancat ] Bonjourje viens de faire un petit prog (grandement inspire de sources du site) mais je ne saisis pas trop le controle du RTS.Celui ci est-il traite pa lecture de flux et conversion de données [ par amin79 ] J'ai un fichier texte "donnees.txt" contenant les données suivantes :1 4 62 7 9 3 2 19 4 8 17où la première colonne désigne le n° d'une tâche, la deux Traduire long int en tableau de caracteres [ par Shyron ] Salut,Je cherche comment traduire un long int en un tableau de caracteres de même taille que le nombre de chiffres du long int en C++. probleme avec printf(%d) [ par jeani763 ] Mon probleme est assez compliqué :Je voudrais que mon programme compte le nombre de lettres que je lui donne ce qui ce fait grace a la fonction cin ;


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales