Ganze Zeilen Einlesen *HILFE*
-
ich probiere es mal

-
darauf komm ich voll nicht klar
und wie gebe ich die stringliste denn aus?
oder wie kann ich sie überprüfen?
da bringt die hilfe auch nicht viel
-
einlesen mit LoadFromFile
Zugriff
String text=liste->Strings[i];
Greift auf die Zeile i zu
int Anzahl= liste->Count;
ergibt die Anzahl der Zeilen
Daraus folgt:
for(x=0;x<list->Count;x++)
text=liste->Strings[x];um alle durchzugehen
-
TStringList *log; log = new TStringList; log->LoadFromFile(LogPfad); String text; int Anzahl= log->Count; for(int i=0; i<Anzahl ; i++) { text=log->Strings[i]; Ausgabe->Lines->AddStrings(text); }das geht ja net
wo ist denn der fehler?Ausgabe->Lines->AddStrings(log->Strings[i]);geht auch net

-
text=log->Strings[i];
Ausgabe->Lines->Add(text);so ist es richtig

wie greife ich jetzt auf das 20. zeichen zu?
if(text[20] == " ") geht net

-
String zeichen =text.SubString(20,1);
Mal in die Hilfe schauen
-
so langsam kriege ich den dreh raus
supi^^
-
Christian211 schrieb:
String zeichen =text.SubString(20,1);
Mal in die Hilfe schauen
wieso nicht einfach
char zeichen = text[20];ist doch wesentlich schöner
und wieso einen ganzen String anlegen für 1 char?mfg
BigNeal
-
Warum?
Unterschied zwischen
if(test[4]=="w") -> Fehler
und
if(test[4]=='w')Ein einzelnes Zeichen aus eine String wird als char angesehen und kann nur so auch verglichen werden '' statt ""
Vielleicht will er dann noch was mit machen und hat, da es ebenfalls String ist, dann keine Probleme
So hat er den Befehl Substring kenengelernt.
-
Ist warscheinlich ansichtssache, aber von den beiden Beispielen:
String zeichen =text.SubString(20,1); if(zeichen == "A") { }char zeichen = text[20]; if(zeichen == 'A') { }gefällt mir das 2 wesentlich besser
1. resourcenfreundlicher
2. man weiss sofort, dass man nur 1 zeichen hat(was ja bei String nicht der fall sein muss)
3. man kann einfacher/schönere if/switch abfragen machenchar zeichen = text[20]; if(zeichen == 0x40) { } switch(zeichen) { case 'A': ... break; case 'B': ... break; case 0x03: ... break; ... }mfg
BigNeal