Hallo,
ich hab' Deinen Quelltext mal etwas vereinfacht und in Form gebracht (das kann ja keiner lesen
).
Ich vermute, Du hast eine Endlosschleife, da Du, wenn
zwar eine Eins, aber kein Datum keine Eins gefunden wird, immer wieder die gleiche Stelle untersuchst. Ein Break wirkt da Wunder.
Außerdem ist jetzt eine Abfrage drin, dass Du nicht über das Stringende hinaus liest. Versuch' mal, ob das so funktioniert:
Delphi-Quellcode:
var
L: Integer;
a, i: Integer;
IsDatum: Boolean;
...
L := Length(htmlbuffer);
while i < L do
begin
IsDatum := True;
Index := PosEx('1', htmlbuffer, i);
if (Index > 0) and (Index <= L - 3) then
begin
Datum := '1 ';
for a := 1 to 3 do
if htmlbuffer[Index + a] in ['0'..'9'] then
Datum[a + 1] := htmlbuffer[Index + a]
else
IsDatum := False;
if IsDatum then
Liste := Liste + Datum;
i := Index + 1;
end else
Break;
end;
memo1.text := Liste;
Gruß
xaromz