Das wäre doch viel zu Einfach, wenn es ein Property gäbe, mit dem man direkt vom Edit erfahren würde, wo der Cursor/Caret gerade steht.
Ich hätte mir ja auch fast den kompletten Code von FormCreate erspart.
Man muß nur bissl aufpassen, denn SelStart ist 0-basiert und Delphi-Strings fangen bei 1 ein.
PS: Klicken+MausVerschieben, VK_UP, VK_DOWN, Strg+A, Strg+V, Strg+X, die Punkte im Edit-ContextMenü usw. = massig weitere Varianten, wie sich der Cursor verschieben kann, die alle vergessen wurde zu behandeln.