czosnek17 Temat założony przez niniejszego użytkownika  | 
» 2012-09-21 18:47:07 Działa. CZŁOWIEKU, DZIĘKI! Jprdl... otwieram... W czasie problemu przestałem ogarniać kod mojego programu (nic tam nie pisałem) i przez pomyłkę pomyślałem, że po poprawieniu błędów, o których napisałeś już działa tak, jak powinien ._.  Zauważyłem,że tak nie jest jak chciałem dalej pisać. To co napisałeś z tymi tablicami już poprawiłem (jak widać w kodzie "z buta"), ale program nie wyświetla false/true(nawet nie zauważyłem zmian w działaniu), a tak miało być. Ale ja jestem mądry.. Kod: #include <gtk/gtk.h> using namespace std; struct struktura {     GtkWidget * sokno;     GtkWidget * svbox;          GtkWidget * start;     GtkWidget * zasady;     GtkWidget * statystyki;     GtkWidget * ogrze;     GtkWidget * wwyjdz;               GtkWidget * hbox;     GtkWidget * trudny;     GtkWidget * latwy;          GtkWidget * fixed2;     GtkWidget * poletxt;          GtkWidget * etgr;     GtkWidget * wprowadz;     GtkWidget * etwyb;     GtkWidget * sep;     GtkWidget * ramka;     GtkWidget * wyniklab;     GtkWidget * powrot;     GtkWidget * wynik;          GtkWidget * etykieta;     GtkWidget * kontenerx;     GtkWidget * fixlab;     GtkWidget * graj;          int kont;          int czystart;     const gchar * wczyt;          int liczbazm;     bool sprawdzdane;      }; void rysujmenu( GtkWidget * przycisk, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;     gtk_widget_set_size_request( sss->svbox, 245, 245 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->start, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->zasady, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->statystyki, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->ogrze, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->wwyjdz, TRUE, TRUE, 2 );     gtk_widget_show_all( sss->svbox ); } void pokazmenu( GtkWidget * przycisk, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;     gtk_widget_hide( sss->fixed2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->start, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->zasady, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->statystyki, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->ogrze, TRUE, TRUE, 2 );     gtk_box_pack_start( GTK_BOX( sss->svbox ), sss->wwyjdz, TRUE, TRUE, 2 );     gtk_widget_show_all( sss->svbox ); } void wybierzpoziom( GtkWidget * przycisk, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;          gtk_widget_hide( sss->svbox );     sss->czystart = 1;     gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->etwyb, 10, 35 );     gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->trudny, 10, 100 );     gtk_fixed_put( GTK_FIXED( sss->hbox ), sss->latwy, 150, 100 );     gtk_widget_show_all( sss->hbox ); } void rysujgra( GtkWidget * widget, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;     gtk_widget_hide( sss->hbox );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wprowadz, 174, 10 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->powrot, 2, 210 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->etgr, 10, 10 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wynik, 213, 214 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wyniklab, 113, 214 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->poletxt, 125, 10 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->sep, 0, 30 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->ramka, 0, 65 );     gtk_fixed_put( GTK_FIXED( sss->fixed2 ), sss->wprowadz, 174, 10 );     gtk_fixed_put( GTK_FIXED( sss->fixlab ), sss->etykieta, 10, 10 );     gtk_fixed_put( GTK_FIXED( sss->fixlab ), sss->graj, 4, 2 );     gtk_widget_show_all( sss->fixed2 );           }
  void pobierz( GtkWidget * przycisk, gpointer dane ) {     struct struktura * sss;     sss =( struct struktura * ) dane;     gtk_widget_hide( sss->graj );     const gchar * zzz = "";          const gchar * nic = "nic";     const gchar * zle = "zle";          sss->wczyt = gtk_entry_get_text( GTK_ENTRY( sss->poletxt ) );          const gchar * tab1 = "1";     const gchar * tab2 = "2";     const gchar * tab3 = "3";     const gchar * tab4 = "4";     const gchar * tab5 = "5";     const gchar * tab6 = "6";     const gchar * tab7 = "7";     const gchar * tab8 = "8";     const gchar * tab9 = "9";     const gchar * tab10 = "10";          if( !g_strcmp0( sss->wczyt, tab1 ) ||     !g_strcmp0( sss->wczyt, tab2 ) ||     !g_strcmp0( sss->wczyt, tab3 ) ||     !g_strcmp0( sss->wczyt, tab4 ) ||     !g_strcmp0( sss->wczyt, tab5 ) ||     !g_strcmp0( sss->wczyt, tab6 ) ||     !g_strcmp0( sss->wczyt, tab7 ) ||     !g_strcmp0( sss->wczyt, tab8 ) ||     !g_strcmp0( sss->wczyt, tab9 ) ||     !g_strcmp0( sss->wczyt, tab10 ) ||     !g_strcmp0( sss->wczyt, zzz ) )     {                           if( !g_strcmp0( sss->wczyt, tab1 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab1 );             sss->liczbazm = 1;         }                  if( !g_strcmp0( sss->wczyt, tab2 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab2 );             sss->liczbazm = 2;         }                  if( !g_strcmp0( sss->wczyt, tab3 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab3 );             sss->liczbazm = 3;         }                  if( !g_strcmp0( sss->wczyt, tab4 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab4 );             sss->liczbazm = 4;         }                  if( !g_strcmp0( sss->wczyt, tab5 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab5 );             sss->liczbazm = 5;         }                  if( !g_strcmp0( sss->wczyt, tab6 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab6 );             sss->liczbazm = 6;         }                  if( !g_strcmp0( sss->wczyt, tab7 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab7 );             sss->liczbazm = 7;         }                  if( !g_strcmp0( sss->wczyt, tab8 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab8 );             sss->liczbazm = 8;         }                  if( !g_strcmp0( sss->wczyt, tab9 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab9 );             sss->liczbazm = 9;         }                  if( !g_strcmp0( sss->wczyt, tab10 ) )         {             gtk_label_set_text( GTK_LABEL( sss->etykieta ), tab10 );             sss->liczbazm = 10;         }                  sss->sprawdzdane = true;              }      else     {         gtk_label_set_text( GTK_LABEL( sss->etykieta ), zle );         sss->sprawdzdane = false;     }          gtk_entry_set_text( GTK_ENTRY( sss->poletxt ), zzz );                }
  void gtrudny( GtkWidget * przycisk, gpointer dane ) {          struct struktura * sss;     sss =( struct struktura * ) dane;     const gchar * tr = "true";     const gchar * fa = "false";          gtk_widget_hide( sss->graj );     g_signal_connect( G_OBJECT( sss->wprowadz ), "clicked", G_CALLBACK( pobierz ), sss );                               if( sss->sprawdzdane == true )     {         gtk_label_set_text( GTK_LABEL( sss->etykieta ), tr );         g_print( "aaWartość %d\n", sss->sprawdzdane );     }     else     {         gtk_label_set_text( GTK_LABEL( sss->etykieta ), fa );         g_print( "bbWartość %d\n", sss->sprawdzdane );     }           }
  int main( int argc, char * argv[] ) {     struct struktura sss;          GtkWidget * okno;     GtkWidget * vbox;          GtkWidget * pstart;     GtkWidget * pzasady;     GtkWidget * pstatystyki;     GtkWidget * pogrze;     GtkWidget * wyjdz;          GtkWidget * pokaz;           GtkWidget * phboxwp;     GtkWidget * ptrudny;     GtkWidget * platwy;     GtkWidget * kontener2;     GtkWidget * kontener;     GtkWidget * etwybx;     GtkWidget * kontener3;          GtkWidget * etgrx;     GtkWidget * ramkax;     GtkWidget * sepx;     GtkWidget * wyniklabx;     GtkWidget * entryx;     GtkWidget * etx;     GtkWidget * wynikx;     GtkWidget * fix2;     GtkWidget * wprowx;     GtkWidget * fixlabx;     GtkWidget * grajx;               gtk_init( & argc, & argv );     sss.sokno = gtk_window_new( GTK_WINDOW_TOPLEVEL );     gtk_window_set_position( GTK_WINDOW( sss.sokno ), GTK_WIN_POS_CENTER );     gtk_window_set_default_size( GTK_WINDOW( sss.sokno ), 250, 250 );     gtk_window_set_title( GTK_WINDOW( sss.sokno ), "Gra 1.0" );     gtk_container_set_border_width( GTK_CONTAINER( sss.sokno ), 5 );     gtk_window_set_opacity( GTK_WINDOW( sss.sokno ), 1 );                    ptrudny = gtk_button_new_with_label( "Trudny" );     platwy = gtk_button_new_with_label( "Łatwy" );     sss.trudny = ptrudny;     sss.latwy = platwy;          sss.powrot = gtk_button_new_with_label( "Powrót do menu" );     sss.czystart = 0;          pstart = gtk_button_new_with_label( "Start" );     pzasady = gtk_button_new_with_label( "Zasady" );     pstatystyki = gtk_button_new_with_label( "Statystyki" );     pogrze = gtk_button_new_with_label( "O grze" );     wyjdz = gtk_button_new_with_label( "Wyjdź" );          sss.start = pstart;     sss.zasady = pzasady;     sss.statystyki = pstatystyki;     sss.ogrze = pogrze;     sss.wwyjdz = wyjdz;          sss.sprawdzdane = false;               kontener = gtk_fixed_new();     gtk_container_add( GTK_CONTAINER( sss.sokno ), kontener );     sss.kontenerx = kontener;     gtk_widget_set_size_request( sss.kontenerx, 245, 245 );          kontener2 = gtk_vbox_new( FALSE, 1 );     gtk_container_add( GTK_CONTAINER( kontener ), kontener2 );     sss.svbox = kontener2;          fix2 = gtk_fixed_new();     gtk_container_add( GTK_CONTAINER( sss.kontenerx ), fix2 );     sss.fixed2 = fix2;     char * txt = "<span fgcolor='#6666CC'><span font='14'>Wybierz poziom trudności:</span></span>";     etwybx = gtk_label_new( txt );     gtk_label_set_markup( GTK_LABEL( etwybx ), txt );     sss.etwyb = etwybx;          kontener3 = gtk_fixed_new();     gtk_container_add( GTK_CONTAINER( sss.kontenerx ), kontener3 );     sss.hbox = kontener3;     gtk_widget_set_size_request( sss.trudny, 85, 35 );     gtk_widget_set_size_request( sss.latwy, 85, 35 );               char * txt22 = "<span fgcolor='#6666CC'><span font='14'>Podaj liczbę:</span></span>";     char * txt2 = "<span fgcolor='#191970'><span font='11'>Aktualny wynik:</span></span>";     char * txt4 = "teezstthhhh                                 ";     char * txt3 = "<span fgcolor='#191970'><span font='11'>100</span></span>";     etgrx = gtk_label_new( txt22 );     gtk_label_set_markup( GTK_LABEL( etgrx ), txt22 );     sss.etgr = etgrx;          wynikx = gtk_label_new( txt3 );     gtk_label_set_markup( GTK_LABEL( wynikx ), txt3 );     sss.wynik = wynikx;               wyniklabx = gtk_label_new( txt2 );     gtk_label_set_markup( GTK_LABEL( wyniklabx ), txt2 );     sss.wyniklab = wyniklabx;          entryx = gtk_entry_new();     gtk_widget_set_size_request( entryx, 40, 25 );     sss.poletxt = entryx;          sepx = gtk_hseparator_new();     gtk_widget_set_size_request( sepx, 237, 42.5 );     sss.sep = sepx;          ramkax = gtk_frame_new( "Stan rywalizacji:" );     gtk_frame_set_shadow_type( GTK_FRAME( ramkax ), GTK_SHADOW_ETCHED_OUT );          gtk_widget_set_size_request( ramkax, 237, 135 );     sss.ramka = ramkax;          wprowx = gtk_button_new_with_label( "OK" );     gtk_widget_set_size_request( wprowx, 55, 26.9 );     sss.wprowadz = wprowx;          fixlabx = gtk_fixed_new();     gtk_container_add( GTK_CONTAINER( sss.ramka ), fixlabx );     sss.fixlab = fixlabx;          etx = gtk_label_new( txt4 );     sss.etykieta = etx;          grajx = gtk_button_new_with_label( "Kliknij, aby zacząć!" );     gtk_widget_set_size_request( grajx, 226, 112 );     sss.graj = grajx;          if( sss.czystart == 0 )     {         rysujmenu( NULL, & sss );     }          g_signal_connect( G_OBJECT( sss.graj ), "clicked", G_CALLBACK( gtrudny ), & sss );     g_signal_connect( G_OBJECT( sss.powrot ), "clicked", G_CALLBACK( pokazmenu ), & sss );     g_signal_connect( G_OBJECT( sss.trudny ), "clicked", G_CALLBACK( rysujgra ), & sss );     g_signal_connect( G_OBJECT( sss.start ), "clicked", G_CALLBACK( wybierzpoziom ), & sss );     g_signal_connect( G_OBJECT( wyjdz ), "clicked", G_CALLBACK( gtk_main_quit ), NULL );     g_signal_connect( G_OBJECT( sss.sokno ), "destroy", G_CALLBACK( gtk_main_quit ), NULL );          gtk_widget_show_all( sss.sokno );     gtk_main();     return 0; }  |