Langweiliger Fehler... *gähn*
Hier der kottigierte Code:
Delphi-Quellcode:
for i := 1 to Length(s) do begin
for j := 1 to High(ABC) do begin
// letzten (oder pos) buchstaben ersetzen
s[(Length(s)-pos)] := ABC[j];
// neuen string in memo eintragen
Memo1.Lines.Add(s);
Application.ProcessMessages;
// wenn letzter buchstabe höchster string in array index erhöhen
if s[Length(s)-pos] = ABC[High(ABC)] then inc(pos);
end;
end;
Erklärung:
Punkt 1 Length(s):
Nicht die länge vom ABC ist ausschlaggebend sondern die Länge vom String "s". hier also 3
Punkt 2 application.ProcessMessages:
Processmessages damit das memo während der Schlefe aktualisiert wird, muss aber nicht sein
Punkt 3 if s[Length(s)
-pos]:
Ohne das "-pos" prüfst du ja immer nur den letzten Buchstaben. Deswegen war auch nach dem ersten durchgang Schluss!
Viel Spass damit, was du auch imemr damit vor hast