Gefunden habe ich erstmal das:
http://www.delphipraxis.net/51285-ze...trahieren.html
Das ist so schon ganz fein, allerdings Blick ich den Code noch nicht 100%ig.
Ich habe es so umgemodelt:
Delphi-Quellcode:
function CountStringLines(const S: AnsiString): Integer;
var i, i2, i3, i4: Integer;
begin;
Result := 0;
i := 1; i2 := 1; i3 := 1;
while i <= Length(S) do begin
if i2 <= i then begin i2 := PosEx(#13, S, i); if i2 = 0 then i2 := Length(S) + 1; end;
if i3 <= i then begin i3 := PosEx(#10, S, i); if i3 = 0 then i3 := Length(S) + 1; end;
if i2 < i3 then i4 := i2 else i4 := i3;
i := i4;
if (i <= Length(S)) and (S[i] = #13) Then Inc(i);
if (i <= Length(S)) and (S[i] = #10) Then Inc(i);
Inc(Result);
end;
end;
Das scheint erstmal so zu funktionieren, wie es soll.
Nun ist mein Problem eigenltich nur, ob man es so machen kann wie ich es Umgebaut hab. Nicht das in bestimmten Fällen irgendwas unvorhergesehenes passiert, da ich nicht wirklich weis, was ich da getan hab muss ich zugeben
Vllt kann himitsu ja dazu was genaueres sagen