Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: RichEdit markiert nicht mehrere unterschiedliche Einträge.

  Alt 30. Jun 2014, 22: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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