Delphi-Quellcode:
function CountLines(const aString: string): Integer;
var
i: Integer;
begin
if aString <> '' then begin
Result := 1;
i := 1;
while i <= Length(aString) do
if aString[i] = #13 then begin
Inc(Result);
if (i < Length(aString)) and (aString[i + 1] = #10) then
Inc(i);
end else if aString[i] = #10 then
Inc(Result);
end else
Result := 0;
end;
Ist das korrekt, dass mit #13 die Zeilenzahl inkrementiert wird? Das Carriage Return springt doch nur wieder an den Anfang derselben Zeile, ist also logisch keine neue Zeile.
Wäre es nicht ausreichend, anhand eines gefundenen Linefeeds hochzuzählen?
Delphi-Quellcode:
function CountLines(const aString: string): Integer;
var
i: Integer;
begin
if aString <> '' then begin
Result := 1;
i := 1;
while i <= Length(aString) do
if aString[i] = #10 then
Inc(Result);
end else
Result := 0;
end;
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...