(gelöst) Cursorposition ermitteln

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: (gelöst) Cursorposition ermitteln

(gelöst) Cursorposition ermitteln

von LokutusvB » Di, 10.11.2009 09:53

Hallo :),

und wieder einmal ein kleines Problem. Ich möchte die aktuelle Cursorposition ermitteln und dort Text anfügen, da ja leider über Zelle.setString der Zelleninhalt überschrieben wird.

So habe ich mir eine Funktion erstellt, die den viewCursor ermitteln soll und dann an den Textcurso übergeben soll. Soweit zur Theorie

Code: Alles auswählen

function GetCursor: Variant;
var
  viewCursor, textCursor: Variant;
begin
  viewCursor := Document.getCurrentController.ViewCursor;
  textCursor := Document.text.createTextCursor;
  textCursor.gotoRange(viewCursor, False); // Runtime Exception
  // viewCursor.gotoRange(textCursor, False); // falsche Pos
  Result := textCursor;
end;
Wie in der Star Basic FAQ http://www.dannenhoefer.de/faqstarbasic/cursor2.html beschrieben, habe ich das ausprobiert. Allerdings funktioniert das nicht. Entweder kommt eine Fehlermeldung, oder der Cursor ist an der falschen Position (siehe Code). Wo liegt hier noch der Fehler?

Zusatz:
Warum auch immer dieser Ansatz fehlerhaft ist (man findet ihn sehr oft im Net), habe ich eine Lösung gefunden, die funktioniert.

Code: Alles auswählen

...
viewCursor := Document.getCurrentController.ViewCursor;
txt := viewCursor.getText;
textCursor := txt.createTextCursorByRange(viewCursor);
...

Nach oben