AnsiString zeichenweise in andere Variablen
-
hiho,
mal wieder ne klitze kleines problem und zwar hab ich nen ansistring wo ich vorher nie weiß wieviel drin steht d.h. 5-16 zeichen, wobei ich jedes Zeichen einzeln brauche und damit weiterarbeite.
mein lösungs ansatz war der:AnsiString abc;
int laenge;abc=Edit1->Text;
laenge = abc.Length();for(int i=1;i<=laenge;i++)
{
//ja und jetzt bin ich am Straucheln
ja ich denk das geht mit einem array aber mit sowas habe ich mich noch nie befasst und kapiers ehrlich gesagt auch nicht ganz

habts ihr eine idee?mfg
-
haha endlich darf ich das mal sagen:
das steht in der faq
unter ansiString -> zeichen für zeichen auslesen
-
Hmm
entweder mit der Methode SubString( i, 1 )
oder in ein char* String casten.edit: oder einfach mit operator[] *schäm*
-
Hallo
AnsiString abc; int laenge; abc=Edit1->Text; laenge = abc.Length(); for(int i=1;i<=laenge;i++) { abc[i] ... // mit dem Zeichen an Position i arbeiten }Hier ein Tutorial zu Arrays allgemein.
Allerdings ist AnsiString kein C-Array, verhält sich aber dank []-Operator so.bis bald
akari
-
1310-Logik schrieb:
...
oder in ein char* String casten. ...Darüber solltest du nochmal gründlich nachdenken. Das geht nämlich daneben. Du kannst schließlich nicht eine Klasse einfach so in ein char* casten und erwarten, dass da was vernünftiges rauskommt.
-
Braunstein schrieb:
1310-Logik schrieb:
...
oder in ein char* String casten. ...Darüber solltest du nochmal gründlich nachdenken. Das geht nämlich daneben. Du kannst schließlich nicht eine Klasse einfach so in ein char* casten und erwarten, dass da was vernünftiges rauskommt.
öööhm ja ne is klar..mit c_str() latürnich..konvertieren meint ich..haut mich
-
int a=[20]; for(int i=1;i<=laenge;i++) { a[z] = abc.SubString(i,1).ToInt(); z++; }habs jetzte so jemacht! Danggeschön.