Hallo cRayZo,
Zitat:
Ich habde den Fehler mal im COde abgefangen.
Es stimmt, du hast einen Fehler abgefangen. Leider ist es einer, den du erst durch die Fehlerbehandlung eingebaut hast. Wenn man den Quelltext etwas umformatiert, wird es deutlich:
Delphi-Quellcode:
for i := Low(numbers) to High(numbers) do
try
s.Add(IntToStr(numbers[i])); // Zugriff auf StringListe
showmessage(s.Text);
s.Free; // Freigabe der Stringliste
Zahl1count:=0;
Zahl2count:=1;
Zahl3count:=2;
except
begin
showmessage('Fehler im ersten Bereich');
break;
end;
end;
Beim zweiten Durchlauf wird auf eine Stringliste zugegriffen, die im vorangegangenen Durchlauf freigegeben wurde.
Zitat:
ich habe das mit dem pos rückgängig gemacht, weil es mir im mom zu aufwändig ist, exakt jeden buchstaben in der richtigen reihenfolge in einen string zu schreiben, weil vorher buchstaben vertauscht wurden etc.
Hast du vielleicht versehentlich die Korrektur des Schleifenendwertes (Beitrag #17) ebenfalls rückgängig gemacht?
Zitat:
aber diese lange if then else-tabelle kann der Fehler ja nicht sein..
Möglich, aber sie ist unübersichtlich und somit ein ideales Versteck für weitere Fehler. Bei jeder Änderung deiner Codetabelle mußt du zwei dieser Ungetüme synchronisieren. Das wäre mir auf Dauer zuviel Aufwand...
Gruß Hawkeye