![]() |
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:
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.
Zeilen := SynMemo1.SelLength;
I:=0; if Key=9 then begin while I <> Zeilen do I := I + 1; SynMemo1.SelText := #9 + SynMemo1.SelText; end; 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 |
Re: Memo - Markierter Text mit Tab einrücken
Delphi-Quellcode:
Jedes Vorkommen von Carriage-Return wird durch Carriage-Return + Tabulator ersetzt.
SynMemo1.SelText := StringReplace(SynMemo1.SelText, #13#10, #13#10#9, [rfReplaceAll]);
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; |
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 |
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 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz