Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Wie kommt man von der Richedit-Zeile auf die TextPosition (https://www.delphipraxis.net/120700-wie-kommt-man-von-der-richedit-zeile-auf-die-textposition.html)

Arina 15. Sep 2008 14:43


Wie kommt man von der Richedit-Zeile auf die TextPosition
 
Hallo,

ich hab ein Richedit, indem ein Text geladen ist. Der Text ist länger als die Höhe des Richedits.

Nun möchte ich die aktuelle Textansicht (also nicht kompletten Text) in eine andere Komponente kopieren. An die Richedit.Line.String[Start] und Richedit.Line.String[Ende] komm ich ran, aber wie komm ich von der Zeile auf die Textposition (Richedit.Text[?]).

Info: Ich kopier den Text char weise und übernehme immer die aktuelle Fonteinstellung.

Ich hab Pos benutzt, aber wenn ich in dem langen Text Zeilen habe, die sich wiederholen, dann bekomm ich natürlich den falschen Wert.

Hat jemand eine Idee? :gruebel:

mkinzler 15. Sep 2008 14:49

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
.SelStart/.SelLength

Arina 15. Sep 2008 15:07

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
Hallo,

so wie ich das verstanden habe benutze ich selstart, um etwas zu maktieren und den markierten Text dann z.B. ausgeben. Bei mir ist aber nichts markiert und wird/darf auch nicht (auf jedenfall nicht vom Anwender). Ich habe eine aktuelle Ansicht und diese Textansicht/Textausschnitt will ich kopieren. Um den Bereich, den ich kopieren will, mit selStart zu markieren, muss ich erst die Position wissen. Und wie bekomm ich die raus?

Gruß
Arina

DeddyH 15. Sep 2008 15:10

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
Den Zeilenindex der letzten sichtbaren Zeile kennst Du? Dann könntest Du Dir evtl. mit EM_LINEINDEX behelfen (sofern ich die Hilfe richtig verstanden habe).

Arina 15. Sep 2008 15:28

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
Ja, danach habe ich gesucht. Danke :-D

Arina 16. Sep 2008 13:23

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
Hallo zusammen,

ich hät da noch eine Frage. Der Text im Richedit wird mit Canvas.Textout auf eine andere Komponente kopiert. Leider kann Canvas mit dem Tabulator-Zeichen nichts anfangen.

Ich hab zuerst versucht mit MoveTo(PenPos.x + 20, PenPos.y) das Tab-Zeichen (#9) zu umgehen. Aber das hat mich natürlich nicht weit gebracht, da Tab immer unterschiedlich viele "Leerzeichen" hat.

Gibt's einen anderen Weg, wie ich den Tabulator abbilden kann?

Gruß Arina

Arina 16. Sep 2008 14:41

Re: Wie kommt man von der Richedit-Zeile auf die TextPositio
 
Liste der Anhänge anzeigen (Anzahl: 1)
Naja, das beschriebene Problem mit dem Tabulator hab ich gelöst und wiederum auch nicht!!!!

Einen normalen Tabulator (bestimmte Zeichen vorrücken, das meist standard in Word hinterlegt ist) hab ich so umgesetzt.

pro #9 rück ich immer 20 Positionen weiter => SpartPos + TabAnzahl * 20

das sieht auch sehr gut aus, aber ........ :?

In Word kann man auch selber bestimmen wie weit ein Tab-Zeichen geht (indem man oben im Meterstab angibt wo Tabulator halten soll). Siehe Worddokument.

Und das hab ich noch nicht raus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz