Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#2

AW: RichEdit markiert nicht mehrere unterschiedliche Einträge.

  Alt 30. Jun 2014, 21:12
Was sagt denn der Debugger?
* Geht der Code mehrmals in if APos > 0 then rein?
* Wenn ja, was passiert da drin? (die Variablen/Positionen)

Soll wirklich immer nur das erste jeweilige Wort pro Zeile behandelt werden?
Wenn nicht, dann ist es erst Recht einfacher über den gesamten Text zu suchen (PosEx und Co.)

Zitat:
// 2 = Zeilenumbruch;
Wer behauptet das?

Und ich bezieh mich nichmal auf iOS/Android, wo auch noch sows wie APos > 0 falsch wäre, da Strings nicht mehr mit Index 1 beginnen.
Ich weiß nicht mehr genau seit wann, aber spätestens in D2009 wurde das Richedit auf eine neuerere API-Version umgestellt und seitdem sind intern die Zeilenumbrüche auf #13 (Mac), seitens der WinAPI und auch im SelStart/SelLength, auch wenn man blöder Weise nur im .Text das durch sLineBreak (#13#10 im Windows) ersetzt wird, was dann falsche Positionen erzeugt, wenn man die Position im String 1:1 auf SelStart anwendet. :doppel-wall:

Wenn du die anhand der Zeilenposition die gesamtposition haben willst, dann solltest du die WinAPI fragen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Jun 2014 um 21:15 Uhr)
  Mit Zitat antworten Zitat