Einzelnen Beitrag anzeigen

UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Zeilen in einem String zählen

  Alt 9. Mai 2012, 09:07
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 ...
  Mit Zitat antworten Zitat