Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Memo - Markierter Text mit Tab einrücken (https://www.delphipraxis.net/26747-memo-markierter-text-mit-tab-einruecken.html)

shAd 28. Jul 2004 16:17


Memo - Markierter Text mit Tab einrücken
 
Hallo,

Ich möchte wenn im Memo Feld Text markiert ist den mit einem Druck auf Tab komplett einrücken.

Meine Überlegung ging soweit:

Delphi-Quellcode:
Zeilen := SynMemo1.SelLength;
I:=0;
if Key=9 then begin
while I <> Zeilen do I := I + 1;
SynMemo1.SelText := #9 + SynMemo1.SelText;
end;
Eine Schleife die je nachdem wieviel Zeilen marktiert sind aufgerufen wird. Nun fehlt logischerweise der Teil, der mir die nächste Zeile markiert und einrückt. Bei meinem Beispiel wird natürlich nur eine Zeile eingerückt.

Ich habe im Delphi Manual geblättert, doch es ist etwas schwer, das das richtige zu finden, wenn man nicht genau weis wonnach man sucht.

Daher frag ich euch mal ganz dreist um nen Tipp! :gruebel:

gruß,
shAd

shmia 28. Jul 2004 16:25

Re: Memo - Markierter Text mit Tab einrücken
 
Delphi-Quellcode:
SynMemo1.SelText := StringReplace(SynMemo1.SelText, #13#10, #13#10#9, [rfReplaceAll]);
Jedes Vorkommen von Carriage-Return wird durch Carriage-Return + Tabulator ersetzt.
Kleines Problem dabei:
nach der letzten selektierten Zeile wird ebenfalls ein Tab eingefügt.
Dann evtl. so:
Delphi-Quellcode:
tmp := StringReplace(SynMemo1.SelText, #13#10, #13#10#9, [rfReplaceAll]);
Delete(tmp, Length(tmp), 1); // letztes TAB wech
SynMemo1.SelText := #9 + tmp;

shAd 28. Jul 2004 16:52

Re: Memo - Markierter Text mit Tab einrücken
 
Funktioniert, danke.

Es wird nur kein Tab nach der letzen Zeile eingefügt. Somit ist bei deinem unteren Code immer das letze Zeichen der letzen markierung verschwunden.

Gibts vielleicht noch die Möglichkeit das die Markierung auf dem Text nach dem drücken von Tab bleibt?

gruß,
shAd

shAd 30. Jul 2004 23:35

Re: Memo - Markierter Text mit Tab einrücken
 
weis keiner nen Rat? Muss nicht die Lösung sein, nur weis ich nich wo ich suchen soll. ;)
Für jeden Suchbegriff, Tipp bin ich dankbar.

gruß,
shAd


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 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