Zitat von
warefare:
Delphi-Quellcode:
for i:= 0 to length(text) do
begin
if (text[i] = 'i') and (text[i+1] = 'm') and (text[i+2] = 'g') then begin
position_g := PosEx('img', text, i);
ShowMessage('Gefunden an Stelle: ' + inttostr(position_g) );
Lass mich raten: i ist immer gleich position_g. Warum noch PoSex? Die position hast du mit dem i doch schon!
Ausserdem sehe ich das nicht so, dass das ganz suppi funzt:
text :='i';
Wenn du jetzt deinen Algo darauf anwendest, sieht das beim ersten Zeichen so aus:
if (text[1] = 'i') and (text[2] = 'm') and (text[3] = 'g') then begin
--> AccessViolation!
ultimativ wäre wohl:
Delphi-Quellcode:
i := pos('img',text);
while i>0 do
begin
memo1.lines.add(inttostr(i));
i := posex('img',text,i+1);
end;
Also fast genau so wie NamenLozer bereits sagte. Das ist ausserdem deutlich schneller als deine Variante, da die Borlandentwickler die pos(ex) Funktionen direkt in Assembler gecodet haben und sich dabei sehr viele Gedanken gemacht haben, wie das ganze am schnellsten ist
.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.
Have a lot of fun!