zeiger problem



  • Hallo
    Ich bin noch nicht so sattelfest in Sachen C++
    Und gehe gerade meine ersten Schritte in Sachen Gui..
    Meine Frage ist jedoch recht allgemein so das cih diese hier ins C++ Unterforum schreibe.

    Ich habe eine Gui erstellt in welcher Inerhalb eines Fensters eine Texteingabebox geöffnet wird.

    Fl_Input * Wert=new Fl_Input(200,30,100,30," ");
    

    Die Texteingabe landet in einem zeiger vom Typ Fl_Input.
    Wie bekomme ich meinem Text aus diesem Zeiger heraus, um ihn weiter zu bearbeiten.
    Mir fällt Da nur Typumwandlung ein komme an dieser Stelle jedoch nicht weiter.
    Wäre schön wenn mir jemand helfen könnte.
    Danke



  • Lies die Doku von deinem GUI-Framework.



  • Danke so weit war ich auch schon ... 😃



  • Ohne das zu kennen, ohne überhaupt die GUI zu kennen, die du verwendest:
    https://www.google.de/search?q=Fl_Input
    Erster Link.
    War ein Aufwand von höchstens 30s bis ich es wusste.



  • Ich würd ja jetzt sagen, dass du Wert->value() aufrufen musst, aber du hast die Doku ja schon gelesen und weißt das schon 🙄



  • ich moechte ja nicht undankbar wirken aber das hilft mir nicht weiter, ich habe schon mehrfach google bemueht als auch die Doku gelesen. Leider konnte ich keine Loesung finden. trotzdem danke



  • maxx333 schrieb:

    ich moechte ja nicht undankbar wirken aber das hilft mir nicht weiter, ich habe schon mehrfach google bemueht als auch die Doku gelesen. Leider konnte ich keine Loesung finden. trotzdem danke

    Das Problem ist, dass GUI mit C++ nichts zu tun hat. C++ kennt keine GUI, du brauchst also immer ein externes Toolkit für eine GUI. In diesem Forum geht es aber um Standard-C++ darum wird dir hier keine weiterhelfen können. Und ich denke auch, selbst wenn du ins richtige Forum verschoben wirst, wird dir das nichts bringen, weil du Antworten ggf. nicht verstehst, weil du C++ noch nicht wirklich kannst. Darum lern am besten erst C++. Falls du das nicht willst, ist C++ definitiv die falsche Sprache für dich.



  • was mir in diesem Forum immer wieder auffällt ist das Fragenden schnell unterstellt wird sich nicht genug selber um die Lösung ihres Problems zu kümmern.

    Aussagen wie:
    " ließ die Doku deiner Gui"
    oder
    "hab ich in Google in 30 SEkunden gefunden"
    sind wenig zielführend.
    Bei denn meisten Fragen (das unterstelle ich den Forumsteilnehmern) wurde im Vorfeld bereits Google bemüht.
    Und auch verschiedene Link Ergebnisse gelesen.
    Nur manchmal sieht man den Wald vor lauter Bäumen nicht ,bzw. hat einfach als Autodidakt Schwierigkeiten das gelesene umzusetzen.
    Dies mag für Teilnehmer welche sich täglich mit dieser Materie beschäftigen nicht nachvollziebar zu sein.
    Trotzem sollte ein Fachforum nicht ein Ort sein an dem man seine Fragen stellen kann ?
    Ohne ein schlechtes Gewissen haben zu müssen die Antwort wäre zu trivial für die "Experten"
    Es wird doch niemand genötigt zu antworten!
    In meinem konkretten Fall hätte ich mir gewünscht das irgendjemand kurz schreibt z.B:
    "Schau mal : probier das so und so " oder
    "Beschäftige dich nocheinmal mit Thema XY sonst klappt das nicht"
    Das fänd ich wesentlich besser als ein alberner Verweiß auf Google.



  • Bashar hat Dir doch die Lösung gegeben. Wenn ich die Doku, auf die mich Nathans Link führt, richtig verstehe, kannst Du den in Deinem Feld eingegebenen Text zB so:

    Fl_Input * Wert=new Fl_Input(200,30,100,30," ");
    
    ...
    
    std::string text(Wert->value());
    
    ...
    

    in einen Standard-String 'bugsieren'.



  • Danke
    jetzt sollte es klappen.
    Muß am Wochenende mal schauen das ich Zeit zum probieren finde
    Ich denke das Problem war Bashgar hatte auf die Doku von FLTK 1.1 verwiessen.
    Und bezog sich auf diesem Absatz

    "const char Fl_Input::value() const
    int Fl_Input::value(const char
    )
    int Fl_Input::value(const char*, int)

    The first form returns the current value, which is a pointer to the internal buffer and is valid only until the next event is handled"

    Ich hab es ja nicht erwähnt aber ich nutze FLTK 1.3.2
    Und habe dort unter Fl_Input keine entsprechende Aussage gefunden.
    Daei habe ich übersehen das Fl_Input ja von Fl_Input_ abgeleitet ist und hier noch einige Funktionen erbt.
    Also werd ich mir die Beschreibung der Übergeordneten Klasse am WE zu gemüte führen.

    Solche Fälle meinte ich mit Wald vor lauter Bäumen nicht finden sagte 😉



  • Bashar hat das schon ziemlich genau beschrieben:

    Bashar schrieb:

    Ich würd ja jetzt sagen, dass du Wert->value() aufrufen musst ...


Anmelden zum Antworten