Daten auslesen mit GetDlgItemTextA


  • Mod

    _matze schrieb:

    Martin Richter schrieb:

    Damm [...] ein3en [...]absoltuer [...]

    Tss, Martin, deine Flüchtigkeits-Tippfehler werden immer schlimmer... 😃

    Jo. 100% ACK 😞 dann stelle ich mich mal in die Ecke und schämem mich



  • Danke Martin, hat funktioniert. Ich wusste das ich mit Zeigern arbeite. Ich war verwirrt das z.b die Funktion MessageBoxA LPCTSTR erwartet (Long Pointer to Constant String) oder so. Also Pointer ist doch Zeiger. Und Zeiger auf Maschinensprachebene ist die Speicheradresse.

    D.h MessageBoxA erwartet die Speicheradresse.

    Du hast Variablentyp CHAR vorgeschlagen. Variablentyp CHAR ist nicht die Speicheradresse, sondern Speicherinhalt. Und somit auch das falsche Variablentyp für die Funktion MessageBoxA. Hier habe ich sicher irgendwo ein Denkfehler 😕

    Habe bis jetzt mit Assembler gearbeitet.

    Wo kann über Variablentypen etwas ausführlicher nachlesen?

    Gibt es Möglichkeit char Variable so zu deklarieren, dass man nicht die feste Länge angeben muss, sondern dynamische?


  • Mod

    SeaMan0 schrieb:

    D.h MessageBoxA erwartet die Speicheradresse.

    Wo kann über Variablentypen etwas ausführlicher nachlesen?

    Gibt es Möglichkeit char Variable so zu deklarieren, dass man nicht die feste Länge angeben muss, sondern dynamische?

    Lies mal ein C++ Tutorial.
    Ich habe für solche Erklärungen keinerlei Geduld und Lust, weil die sich jeder einfach im Netz und mich Büchern erarbeiten kann. 🕶



  • Martin hat Recht, trotzdem ganz kurz...

    SeaMan0 schrieb:

    Du hast Variablentyp CHAR vorgeschlagen. Variablentyp CHAR ist nicht die Speicheradresse, sondern Speicherinhalt. Und somit auch das falsche Variablentyp für die Funktion MessageBoxA. Hier habe ich sicher irgendwo ein Denkfehler 😕

    In C (und WinAPI ist nunmal C) gibt es keinen richtigen String-Datentyp. Ein String ist ein Zeiger auf ein char-Array.

    SeaMan0 schrieb:

    Wo kann über Variablentypen etwas ausführlicher nachlesen?

    Überall im Internet, z.B. hier: http://www.c-plusplus.net/cms/modules.php?op=modload&name=Downloads&file=index&req=viewsdownload&sid=3

    Ein Buch wäre auch eine Möglichkeit.

    SeaMan0 schrieb:

    Gibt es Möglichkeit char Variable so zu deklarieren, dass man nicht die feste Länge angeben muss, sondern dynamische?

    Du meinst char* (also ein char-Array, einen String), nicht char. Das kannst du mit malloc/free (C) oder in C++ mit new/delete bzw. besser mit einer Klasse wie std::string (da brauchst du dich nicht selbst um die Länge zu kümmern) machen.


  • Mod

    SeaMan0 schrieb:

    D.h MessageBoxA erwartet die Speicheradresse.

    Wo kann über Variablentypen etwas ausführlicher nachlesen?

    Gibt es Möglichkeit char Variable so zu deklarieren, dass man nicht die feste Länge angeben muss, sondern dynamische?

    Lies mal ein C++ Tutorial.
    Ich habe für solche Erklärungen keinerlei Geduld und Lust, weil die sich jeder einfach im Netz und mich Büchern erarbeiten kann. 🕶



  • Soll ich meinen jetzt auch noch mal wiederholen? Das könnten wir ewig so weiterspinnen... 😉



  • _matze schrieb:

    (und WinAPI ist nunmal C)

    Lies auch mal ein Tutorial.



  • Danke an alle!

    Tutorials für programmieren brauche ich nicht, weil "Hello World" im Konsolenmodus beantwortet meine Fragen nicht.

    Ich bin doch im Forum WinApi, also habe ich auch die passende Frage gestellt und mein Problem gelöst. Und ich habe mein Programm nicht nach Tutorial erstellt, also nehme ich an das ich sowas wie "Wie lerne ich Programmiersprache" eher weniger brauche. Ich habe blos irgendwo ein Denkfehler, weil ich überwiegend mich mit Assembler und Debug unter windows beschäftige. Ich sehe die Windowsfunktionen in Assemblersprache und kann die Speicherstellen laufend auslesen und verändern.

    Nun bin ich durcheinander gekommen mit verschiedenen Datentypen die in Windowsfunktionen verwendet werden.

    In Maschinencode sehe ich es nicht ob LPCTSTR oder was anderes verwendet wird.

    Da sehe ich z.B nur

    00404000 mov eax, [00405000]
    

    Ich hab ein Fremdes Programm untersucht (genaugenommen war es ein übungsprogramm) und wollte es nachahmen. Ich hab gesehen welche Funktionen es verwendet und da war die Frage wie kann ich dasselbe in C++ umsetzen und ähnliche Maschinencode rauskriegen.


  • Mod

    SeaMan0 schrieb:

    Tutorials für programmieren brauche ich nicht, weil "Hello World" im Konsolenmodus beantwortet meine Fragen nicht.

    Deine Antwort ist ignorant.
    Du hast nicht verstanden was Zeiger sind auf auf was Zeiger zeigen müssen damit man sie korrekt verwendet.
    Dies zu lernen ist sicherlich Bestandteil eines C/C++ Tutorials und gehört in keiner Weise in dieses WinApi Forum, weil Du bereits an den Grundlagen der Sprache scheiterst.



  • Naja, ich sehe schon hier wird es nichts. Wenn selbst moderator die neulinge zum Tutoriallesen wegjagt, dann frage ich mich wozu das ganze hier überhaupt ist. Baut doch ne Webseite wo draufsteht "Alle Antworten findet ihr in Tutorials und Büchern, fragt uns nichts" - wäre viel einfacher. Und die Aussage "du hast die zeiger nicht verstanden" oder ".. an Grundlagen gescheitert" - weist du überhaupt wie lange ich mich schon mit Programmierung beschäftige um solche Äußerungen hier zu posten? Wenn du kein Bock hast auf die Fragen konstruktive Antworten zu posten weil sie für dich zu einfach sind, dann lass es doch einfach sein.

    Deine Einstellung ist feindlich mir gegenüber, also lösche doch den kompletten Thread. Du hast grad eben dazu beigetragen das ich meine Meinung über solche Foren beibehalte und meine Probleme selbst löse.



  • niemand jagt dich weg, er hat dich nur darauf hingewiesen das du zeiger in c nicht richtig verstanden hast. Sonst hättest du auch nicht solch einen billigen fehler gemacht. Du solltest dich erst mal mit dem kapitel zeiger auseinandersetzen, dann dürfte sich auch deine frage klären. Und falls du dann was immer noch nicht verstehst hilft man dir hier.


Anmelden zum Antworten