AnsiStirng nach char convertieren
-
Emin Problem ist folgendes: Ich möchte aus einer TStringList einen Wert auslesen und dann das Laufwerk von der DriveListBox ändern.
Dazu habe ich folgenden Code verwendet:char Drive = Commands->Strings[1]; DriveComboBox1->Drive = Drive;
jetzt bekomme ich aber die meldunge ausgespuckt:
Konvertierung von char nach Ansistring nicht möglich.Wie kann ich das ändern?
Warscheinlich bin ich einfach zu müde um den Fehler zu finden, denn ich leg mich jetzt pennen.J0
PS: Ich möchte nicht in char* umwandeln.
-
Na wenn du ausdrücklich nicht in char* umwandeln willst, in was denn dann frag ich mich? Was genau erwartest du denn? Wie genau stellst du dir vor einen
-
Soviel ich weiss, besitzt AnsiString einen Konstruktor, dem man char übergeben kann? Also wärs AnsiString(yourCHARvalue);
-junix
-
junix schrieb:
Soviel ich weiss, besitzt AnsiString einen Konstruktor, dem man char übergeben kann? Also wärs AnsiString(yourCHARvalue);
-junix
ich denke AnsiString nach char heißt nicht Char nach AnsiString ? ...
schau dir sprintf an ...
sprintf(charArray,"%s",AnsiString.c_str());
-
J0 schrieb:
jetzt bekomme ich aber die meldunge ausgespuckt:
Konvertierung von char nach Ansistring nicht möglich.? char nach AnsiString....?
-junix
-
char nach AnsiString geht wie weiter oben unix beschrieben hat .. z.B. mit
AnsiString(irgendeinchar);
-
unix hat gar nichts geschrieben.. aber was junix geschrieben hat bedarf eigentlich doch nicht einer Wiederholung oder? (o;
-junix
-
scheinbar schon ?
-
Jetzt bin ich aber verwirrt, worum gehts nun? Im Titel steht von AnsiString zu char, im Text steht von char zu AnsiString, was will er nun? wo hat er sich evtl. verschrieben? -Im Titel oder im Text?
-
Offensichtlich hat er sich im Text verschrieben, wie man spätestens beim Ausprobieren seines Beispielcodes bemerken sollte.
char Drive = Commands->Strings[x][1];
Auf den ersten (einzigen?) Buchstaben des xten Strings der Commands-Liste zugreifen.
-
Ah ja, natürlich... hatte wohl Tomaten auf den Augen (o:
-junix
-
na dann mach das doch so hier:
// [...] vector<char>CharArray(2); // [...] CharArray.resize(Str.Length()); for (i=0;i<Str.Length();i++) CharArray[i]=char(Str.SubString(i,1)); /* SubString deshalb, weil er sich bei mir aufregt, wen ich das hier mache: for (i=1;i<=Str.Length();i++) CharArray[i]=char(Str[i]); Es kommt natürlich drauf an: Brauchst du unbedingt ein char-Array, oder kannst du das auc so machen: */ // Anderer Quelltext: Funktion(Str.c_str()); /* In der Funktion muss ein char* übergeben werden, was hiermit gemacht wird. */
-
Spieleprogrammierer:
Bist du sicher, dass du dich nicht im Thread geirrt hast? Irgendwie kann ich keinen Zusammenhang zum bislang hier diskutierten Problem erkennen.
-
Besten Dank an Alle die mir geholfen haben!
Mit disem Code gings jetzt:char Drive = Commands->Strings[1][1];
Und sorry dass ich durch meinen Tippfehler soviel verwirrung gestiftet habe.
J0