Habbo....ach ne, sry Macht der Gewohnheit |
|
Habbo....ach ne, sry Macht der Gewohnheit |
|
Tag, ich habe zur abwechslung mal KEINE (in worten ka e i en e) frage zu habbos, sondern zu so sachen wie programmieren, wenn man sowas hier überhaupt noch ansprechen darf...
Also es geht sich um folgendes:
Ich habe vor geraumer Zeit (über n 3/4 Jahr) mal n projekt angefangen. es handelt sich hierbei um eine "inventur"/"kassen"/"artikellisten"/wasweisich software. d.h man kann listen mit artikeln anlegen (nach dem prinzip artikelname/preis/kommentar/verfügbarkeit etc) diese abspeichern, ändern, noch n paar lustige sachen damit machen, bestellungen aufgeben, rechnungen schreiben lassen etc.
Das ganze ist zZ noch rein Konsolengesteuert, und Linuxbasiert. Jetzt ist es bald soweit, das von der Konsolenversion eine erste (wirklich) stabile version fertig wird. Jetzt bekam ich schon vor langer Zeit (
) von vielen Leuten zu hören....GUI ALLA GUI!!!!!1111
Da dacht ich mir, machmer dochma ne GUI^^
Hab mich jetzt seit einigen Wochen in die Programmierung mit GTK+ eingearbeitet, mir n Buch durchgelesen zum mit dem schönen Titel "C und Linux" und hab mir mal gedanken gemacht über ne GUI umsetzung.
Meine Idee ist folgende:
Ich muss das ganze ja nicht komplett Konsolenbasiert neu aufziehen, sondern ich behalte meine Konsolenversion bei, schreibe ne GUI dazu, und verknüpf beides. Und jetzt kommt ne Sache ins Spiel, die sich Interprozesskommunikation nennt. d.h, die beiden Prozesse komminuzieren miteinander (stichwort "pipe" "FIFO" "shared memory"). Ich dachte mir das etwa so: Die Konsolenanwendung übernimmt weiterhin die Grundfunktionen, d.h. Listen laden, listen erstellen, speicher verwalten, werte ändern etc, und die GUI hat mehr oder weniger nur die Aufgabe die Ausgaben der Konsole zu empfangen(interprozesskommunikation) zu verarbeiten und der GUI angepasst auszugeben. Eingabe halt genauso, nur anderstrum. Meine Favorierte methode wäre shared memory gewesen, da ich mich damit am besten auseinander gesetzt hab. Bsp: der User macht an die GUI die Anfrage "Neue Liste", die GUI schriebt das um in eine für die konsolenanwendung verständliche form (d.h. zB "1" ), speichert das im gem. speicher, die konsole kommt, nimmt die 1, und weiss dann "aha, menüpunkt 1". so in etwa dachte ich mir das, quasi ein client/server prinzip.
Ich wollte mal fragen was ihr von der idee und der umsetzung haltet, ergänzungsvorschläge etc.
desweiteren eine praktische frage:
Ich benutzte zum einlesen des Dateinamens die funktion fgets(puffer, größe, stdin);
jedoch bekomm ich den puffer string nach einmaliger benutzung ncihtmehr leer, d.h. ruf ich diese funktion in einer schleife auf, kann ich beim ersten mal ne eingabe machen und ab dann nimmt er bei jedem neuen aufruf den wert der bereits im string ist...ich denke mal ich muss den string leeren, um dieses problem zu lösen...
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
06.08.2008 18:51 |
|
|
|
... und es fällt ein fflush(...) vom himmel ...
__________________ Gräten auf dem Sofakissen wird man wohl entfernen müssen.
|
|
06.08.2008 19:17 |
|
|
|
mhh lala, also, das mit dem fflush() hatte ich schon versucht, nur das kann halt nicht die lösung sein, wenn das problem wie sich rausstellt an anderer stelle seinen ursprung hat^^ ich hatte scanf() nicht mit dem schönen do{scanf()}while(getchar()!='\n'); zusatz benutzt...aber jetzt zu der gui methode..
__________________ Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
|
|
06.08.2008 20:03 |
|
|
|