Einzelnen Beitrag anzeigen

Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeilen in einem String zählen

  Alt 8. Mai 2012, 15:25
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
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat