2 Fragen
-
Da ich eigentlich noch C++ Noob bin, hab ich mal 2 Fragen:
WritePrivateProfileString("Daten","test1",edit1->Text,"test.ini"); WritePrivateProfileString("Daten","test2",edit2->Text,"test.ini"); WritePrivateProfileString("Daten","test3",edit3->Text,"test.ini");Folgende(r) Fehler kommt
BCB 6 schrieb:
[C++ Fehler] speedymaker.cpp(175): E2034 Konvertierung von 'AnsiString' nach 'const char *' nicht möglich
[C++ Fehler] speedymaker.cpp(175): E2342 Keine Übereinstimmung des Typs beim Parameter 'lpString' ('const char *' erwartet, 'AnsiString' erhalten)Also meine Frage: Wie konvertiere ich ein TEdit auf const char *?
Wie verbinde ich text uns variablen, also z.B.
char test[10]; test = "du"; Label1->Caption = "Hallo " & test;(Bin VisualBasic verseucht, also & geht nicht, . auch nicht und + auch ned.)
-
Hallo,
1. Die Eigenschaft Text von TEdit ist ein Objekt der Klasse AnsiString und daher zu C-Strings eigentlich inkompatibel. Sie hat aber eine Methode die einen Zeiger auf einen C-String liefert:
edit1->Text.c_str()2. Zunächst mal musst du strcpy() verwenden, um einen String in ein char-array zu kopieren. Desweiteren kannst du char-array nicht einfach mit "+" oder "&" verketten. Das geht nur mit AnsiStrings oder anderen String-Klassen mit entsprechend überladenen Operatoren. Für C-Strings gibts die Funktion strcat(). In deinem Fall könntest du den C-String auch nach AnsiString casten und dann verketten:
char test[10]; strcpy(test, "du"); Label1->Caption = "Hallo " + (AnsiString) test;MfG
tuküe
-
danke, luppt prima, wär ich nie drauf gekommen
