Eventuell wird es einfacher/übersichtlicher, wenn du das letzte Inc(P), also das der Schleife, mit in die IFs aufnimmst
Delphi-Quellcode:
while P^ <> #0 do
if P^ = #13 then begin
Inc(Result);
if (P + 1)^ = #10 then
Inc(P);
Inc(P); {<<<} //warum hier dieses zweite Inc(P)?
end else if P^ = #10 then begin
Inc(Result);
Inc(P); {<<<}
end else
Inc(P); {<<<}
und dann noch etwas an der Reihenfolge veränderst.
Delphi-Quellcode:
while P^ <> #0 do
if P^ = #13 then begin
Inc(Result);
Inc(P); {<<<}
if P^ = #10 then {<<<}
Inc(P);
end else if P^ = #10 then begin
Inc(Result);
Inc(P);
end else
Inc(P);
Ich verstehe das 2. Inc(p) nicht.
Delphi-Quellcode:
if (P + 1)^ = #10 then
Inc(P);
Inc(P); {<<<} /hier!!!
nach dem ersten Inc(p) steht doch der Stringzeiger bereits auf dem ersten Zeichen der neuen Zeile.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.