Variablen verbinden?
-
1. Zeige mal, in welcher Zeile dein Fehler auftritt.
2. Wenn du nicht einen driftigen Grund dazu hast, würde ich dir auf jeden Fall raten, die stringstreams von C++ zu benutzen, ähnlich wie "operator void" es zeigte:#include <sstream> ... std::string lbl = "Label" int x = 5; std::string var1 = "asd"; std::ostringstream stream; stream << lbl << ' ' << x << " = " << var1; // sogar mit Leerzeichen! std::string ergebnis = stream.str();
-
Till schrieb:
1. Zeige mal, in welcher Zeile dein Fehler auftritt.
2. Wenn du nicht einen driftigen Grund dazu hast, würde ich dir auf jeden Fall raten, die stringstreams von C++ zu benutzen, ähnlich wie "operator void" es zeigte:#include <sstream> ... std::string lbl = "Label" int x = 5; std::string var1 = "asd"; std::ostringstream stream; stream << lbl << ' ' << x << " = " << var1; // sogar mit Leerzeichen! std::string ergebnis = stream.str();
Also ich habs jetzt so gemacht wie du und void gesagt haben, doch dann kommt bei folgendem code
std::string lbl = "Label"; // Entweder mit C-"Strings"... int x = 5; std::string var1 = "asd"; // ...oder gleich mit C++-Strings. std::ostringstream stream; stream << lbl << ' ' << x << " = " << var1; std::string ergebnis = stream.str(); Label1->Caption = ergebnis;
der Fehler:
[C++ Fehler] Unit1.cpp(29): E2034 Konvertierung von '_STL::string' nach 'AnsiString' nicht möglich
-
Woooo? Wo ist bei dir Zeile 29?
-
Till schrieb:
Woooo? Wo ist bei dir Zeile 29?
Oh sorry, das is die zeile "Label1->Caption = ergebnis;"
-
Ich arbeite nicht mit Borland C++ Builder, aber ich schätze, dass einfach ein C-String erwartet wird. Also schreibst du einfach
Label1->Caption = ergebnis.c_str(); // macht aus einem std::string ein char[]
Klappt's jetzt?
-
Aaaaaaaaalso das klappt jetzt so, doch nun mochte ich es ja so haben:
std::string lbl = "Label"; // Entweder mit C-"Strings"... int x = 5; std::string var1 = "asd"; // ...oder gleich mit C++-Strings. std::ostringstream stream; stream << lbl << x; std::string ergebnis = stream.str(); std::string ergebnis2 = ergebnis.c_str(); ergebnis2->Caption = var1;
da kommt der fehler:
[C++ Fehler] Unit1.cpp(30): E2288 Zeiger auf Struktur auf linker Seite von -> oder von ->* erforderlich*
und der is in der zeile "ergebnis2->Caption = var1;"
Ich hoffe Ihr verliert die gedult mit ir nicht
-
Hallo
du hast ein grundsätzliches Verständnissproblem. Du willst unter C++Builder dynamisch Labels mit einem von dir zusammengestellten Namen erzeugen. Das geht schon, und wie das findest du in der FAQ des BCB-Forums.
bis bald
akari
-
jaaaaaaaaa genau das will ich.
doch wonach muss ich in der bcb hilfe suchen?
-
Hallo
ich meinte die FAQ
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39305.html
insbesondere den Abschnitt "Komponenten benutzen"bis bald
akari
-
Hi Zsammn
Tolles Forum!
Hab im Google nach der Möglichkeit gesucht, eine Textzeile (Pfad) in einer Schlaufe zu alternieren.
_Till_ hat mir die Lösung gebracht....Danke nochmal für das sauber dokumetierte (und damit suchbare!) Forum, Ihr seid Helden....
Gruss
Roric
-
Danke danke ... nicht gleich übertreiben, man hilft halt wo man kann ...