Ich bins mal wieder...
mein Problem jetzt ist bestimmt ziemlich simpel aber ich komme nicht drauf.
Ich habe eine FOR-Schleife, die solange durchlaufen soll bis I (:=0) den Wert von der Anzahl meiner Memo-Feld-Zeilen erreicht hat.
Pro Durchlauf wird in meine Stringlist etwas geschrieben.
Wenn ich dann nach der For- Schleife eine Messagebox mit "StringList.Text" ausgeben lasse stehen da zwar zwei Werte drinne, aber immer nur der erste Wert (bei zwei Werten also der erste Eintrag doppelt usw).
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| for I := 0 to mem_Eingaben.Lines.Count - 1 do begin aufgabe := mem_Eingaben.Lines[I]; zahl1 := GetInt(Liste.Strings[0]); zahl2 := GetInt(Liste.Strings[2]); if (Liste.Strings[1] = 'plus') OR (Liste.Strings[1] = '+') then ergebnis.Add(IntToStr(zahl1 + zahl2)); if (Liste.Strings[1] = 'minus') OR (Liste.Strings[1] = '-') then ergebnis.Add(IntToStr(zahl1 - zahl2)); if (Liste.Strings[1] = 'mal') OR (Liste.Strings[1] = '*') then ergebnis.Add(IntToStr(zahl1 * zahl2)); if (Liste.Strings[1] = 'geteilt durch') OR (Liste.Strings[1] = '/') then ergebnis.Add(IntToStr(round(zahl1 / zahl2))); end; ShowMessage(ergebnis.text); |
Beispielergebnis bei zwei Rechnungen:
Die beiden Aufgaben: 2 + 3 und 2 + 5
In ergebnis.Text sollte also nun sowas stehen:
5
7
Es steht aber sowas als Text in der Stringlist:
5
5
Ich glaube das es sich um nen ziemlich kleinen, mal wieder total blöden Fehler handelt... aber ich sehe ihn einfach nicht