Also ich würde mal sagen, in dem Code ist irgendwie der Wurm drin.
Du hast eine Schleife mit der Variablen i. Dann benutzt du noch eine zweite Variable x, die du, wenn ich das richtig sehe, bei jedem Schleifenaufruf erhöhst. Warum benutze du dann nicht gleich i?
Wenn das zeichen x des texts = i, das darauffolegnde m und das übernächste g ist, passiert folgendes:
Außerdem wird in jedem Durchlauf eine Stringliste erstellt, einer niemals verwendeten Variable zeile eine ebenfalls niemals verwendete Variable n zugewiesen, der Wert der Variablen position_g (dessen Ermittlung ich nicht verstehe) zu der Stringlist hinzugefügt und der Inhalt der Stringliste in Memo1 kopiert. Anschließend wird die Stringliste zerstört, x inkrementiert, der Schleifendurchlauf mittels continue abgebrochen, sodass die sinnferie anweisung writeln(i) nie zur Azsführung kommt.
Andernfalls, wird x inkrementiert, udn der Schleifendurchlauf abgebrochen.
Was soll dieser Code bezwecken, wenn man Fragen darf? Irgendwas hast du da völlig falsch verstanden...
@mkinzler (roter kasten
)
Nein, wenn schon müsste es heißen
for i := 1 to length(text) do
edit:
Ok, da ich jetzt den Zweck kenne, werde ich mal versuchen, dass auf meine Art zu lösen.
Delphi-Quellcode:
i := posex('img',text);
while i>0 do
begin
memo1.lines.add(inttostr(i));
i := posex('img',text);
end;
Ist ungetestet. Du musst die
Unit "strutils" in die uses aufnehmen, um posex bentuzen zu können!