String, AnsiString problem
-
hallo leute,
irgendwie treiben mich die Strings noch langsam in den wahnsinn, ich hab ne Funktion, die gibt einen string zurück (aus der STL). Und ich will den eigentlich nur mit ner kleinen Notiz in nen Memo Feld einfügen. hab mir das erst mal so gedacht:Memo1->Lines->Add("Notiz" + Funktion()); //Fehler Konvertierung von String nach AnsiString nicht möglich //Also nach viel Suchfunktion dann: Memo1->Lines->Add("Notiz" + Funktion().c_str()); //Fehler Unzulässige Zeigeraddition und Verwendung //So dann hab ich alles mögliche rumprobiert und bin jetzt so weit und das geht auch AnsiString Text="Notiz"; Text.Insert(Funktion().c_str(),9999); Memo1->Lines->Add(Text);
Das ganze kommt mir nur irgendwie richtig umständlich vor für so etwas simples. Könnt ihr mich vieleicht auf den rechten Weg bringen und mir zeigen wies richtig geht?
Diese Strings bringen mich ncoh mal ins Grab
Danke
-
Mit c_str() kann es nicht funktionieren, weil die Funktion einen char* Pointer zurückgibt. Deswegen auch ungültige Zeigeraddition.
Könntest du mal ein paar genauere Infos zu deiner Funktion() posten?
Oder versuch es mal mit AnsiString(...).
-
Mehr als das die Funktion als Rückgabewert string hat kann ich dir leider nicht verraten, weil sie nicht von mir ist. Aber eigentlich müsste die information ja auch ausreichen, oder?
Aber dein Hinweis mit dem AnsiString() hat mir sehr geholfen, ich machs jetzt so:
Memo1->Lines->Add("Notiz"+AnsiString(Funktion().c_str()));
Das sieht doch schon viel einfacher aus.
Vielen Dank für die Hilfe!!!