Guten Tag ich bin Volto,
ich habe ein kleines Problem mit dem nach folgendem teil meines Programmes.
Das Problemm ist ich gebe in der Oberfläche die 1 für Weiblich oder die 2 für Männlich ein nur wird diese Abfrage nicht durchgeführ und mir fällt keine anderen möglichkeiten mehr ein wie ich diesen Fehler beheben kann.
Dieses Programm ist für Linux Programmiert worden mit hilfe der GTK libs.
Hier der komplette Code meines Programmes fals der Fehler an anderer Stelle zu suchen ist.
Die Möglichkeit zu Speichern wurde noch nicht eingefügt und daher auch nicht im Code vorhanden.
Ich danke schon für jede hilfe die Ihr mir entgegen bring.
Mit freundlichen Grüßen
Volto
ich habe ein kleines Problem mit dem nach folgendem teil meines Programmes.
Code:
if((int)gtk_entry_get_text(GTK_ENTRY(entry)) == 1){
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Weiblich", -1);
}else if((int)gtk_entry_get_text(GTK_ENTRY(entry)) == 2){
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Maennlich", -1);
}
Dieses Programm ist für Linux Programmiert worden mit hilfe der GTK libs.
Hier der komplette Code meines Programmes fals der Fehler an anderer Stelle zu suchen ist.
Code:
header.h
#include <iostream>
#include <fstream>
#include <string>
#include <gtk/gtk.h>
struct player
{
char *name;
int gender;
int kapitel;
};
struct kapitel
{
int kapitel1;
int kapitel2;
int kapitel3;
};
source.cpp
#include "header.h"
using namespace std;
int savegame = 0;
player playerset;
GtkWidget *fenster;
GtkWidget *textframe, *entry;
GtkWidget *masterbox, *vbox;
GtkWidget *button;
void gamestart(){
if(!playerset.name){
playerset.name = gtk_entry_get_text(GTK_ENTRY(entry));
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, playerset.name, -1);
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "\nBitte Waehle ein Geschlecht:\n <1> Weiblich\n <2> Maennlich\nAntwort: ", -1);
gtk_entry_set_text(GTK_ENTRY(entry),"");
}else if(((bool)playerset.name == TRUE)&&((bool)playerset.gender == FALSE)){
if((int)gtk_entry_get_text(GTK_ENTRY(entry)) == 1){
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Weiblich", -1);
}else if((int)gtk_entry_get_text(GTK_ENTRY(entry)) == 2){
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Maennlich", -1);
}
gtk_entry_set_text(GTK_ENTRY(entry),"");
playerset.kapitel = 1;
}else{
cout << playerset.name << endl;
cout << playerset.gender << endl;
cout << playerset.kapitel << endl;
switch((int)playerset.kapitel){
case 1:
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Kapitel: Das Erwachen\n", -1);
break;
}
}
}
int main(int argc, char **argv)
{
system("clear");
gtk_init(&argc, &argv);
fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
masterbox = gtk_vbox_new(FALSE,2);
textframe = gtk_text_new(NULL, NULL);
vbox = gtk_hbox_new(FALSE,2);
button = gtk_button_new_with_label(" Weiter ");
entry = gtk_entry_new_with_max_length(12);
ifstream loaddata;
loaddata.open(".madigtos.sav", ios_base::in /*| ios_base::binary*/);
cout << "Spielsystem geladen..." << endl;
if(!loaddata){
cout << "Daten nicht geladen..."<< endl;
loaddata.close();
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Willkommen im Spiel Madigtos\nBitte geben sie ihren Namen ein: ", -1);
}
else{
loaddata.read((char*)&playerset, sizeof(playerset));
loaddata.close();
cout << "Spielspeicher wurde geladen..." << endl;
gtk_text_insert(GTK_TEXT(textframe), NULL, NULL, NULL, "Madigtos\n", -1);
}
gtk_signal_connect(GTK_OBJECT(fenster), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit),NULL);
gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gamestart), NULL);
gtk_widget_set_uposition(fenster,150,200);
gtk_window_set_default_size(GTK_WINDOW(fenster),400,300);
gtk_text_set_editable(GTK_TEXT(textframe), FALSE);
gtk_text_set_word_wrap(GTK_TEXT(textframe), TRUE);
gtk_text_set_line_wrap(GTK_TEXT(textframe), false);
gtk_box_pack_start(GTK_BOX(masterbox), textframe, TRUE, TRUE, 2);
gtk_box_pack_start(GTK_BOX(vbox), entry, TRUE, TRUE, 1);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 1);
gtk_box_pack_start(GTK_BOX(masterbox), vbox, FALSE, FALSE, 2);
gtk_container_add(GTK_CONTAINER(fenster),masterbox);
gtk_widget_show_all(fenster);
gtk_main();
return 0;
}
Die Möglichkeit zu Speichern wurde noch nicht eingefügt und daher auch nicht im Code vorhanden.
Ich danke schon für jede hilfe die Ihr mir entgegen bring.
Mit freundlichen Grüßen
Volto