PDA

Vollständige Version anzeigen : Problem mit Variablen


Nomis
13.10.2007, 14:39
hallo

Bin mir nicht ganz sicher ob dieses Thema hier rein gehört.
Benutzte Visual Studio 2005.
Ich habe mich jetzt mal an C++ ran getraut und bin auch gleich auf ein Problem gestoßen:
Ich will in einer Textbox den inhalt einer Variablen auf Knopfdruck anzeigen.
So sieht das es bis jetzt aus:

int test;
test = "1";
tb_test->text = test;

Die fehler sehen wie folgt aus:
error C2248: 'System::Windows::Forms::Control::text' : cannot access private member declared in class 'System::Windows::Forms::Control'
error C2440: '=' : cannot convert from 'int' to 'System::String ^'
error C2440: '=' : cannot convert from 'const char [2]' to 'int'

Hab jetzt schon nen weilchen gesucht aber keine lösung gefunden vieleicht ist mein ansatz ja auch falsch. Wie gesagt ist heute das erste mal mit C++

Schon mal danke
Nomis

rayek
16.10.2007, 11:30
hallöchen, nomis.
also das erste, was mir auffällt ist die nicht korrekte zuweisung an die variable test.
eine stringzuweisung (test = "1") erfolgt immer mit "gänsefüssen" (") bzw mit "gänsefuß" (') - je nach sprache und kontext - daher kann die variable test den wert nicht aufnehmen, da diese variable als integer deklariert wurde...
pobier mal

int test;
test = 1;
tb_test->text = test;

weiss grad nicht, ob die eigenschaft text des textfeldes generell einen string erwartet, aber dann könntest du noch folgendes pobieren:

#include "hier_öffnende_eckige_klammer"sstream"hier_Bitte_schließende_eckige_klammer";

int test = 1;
string str;
stringstream out;
out << t;
str = out.str();
tb_test->text = str;

(wieso kann ich hier keine eckigen klammern setzen? macht ihr sogar innerhalb des code-tags strip_tags() und dann auch noch auf &lt und &gt, oder bin ich wieder mal schlicht zu blööööd? ;) )
oder , wenn du keine berechnungen mit test durchführst:

#include string //bitte auch hier in eckige klammern setzen
string test;
test = "1";
tb_test->text = test;

achso, scheint ganz nützlich zu sein: http://notfaq.wordpress.com/2006/08/30/c-convert-int-to-string/
da gibt´s dann auch die "generische version" obigen schnipsels, aber ich denke der hier genügt deinen ansprüchen ersteinmal...
alternativ noch, wenn test nie mehr als einen buchstaben erhält...

char test;
test = '1';
tb_test->text = test;


liebe grüsse,
rayek
:)

Still_Here
06.12.2007, 11:00
also ich denke mal das der ganz einfach nen string oder zumindest nen char erwartet
kann mich aber auch irren^^ der c++ kenner binsch auch nciht^^