AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Memo - Markierter Text mit Tab einrücken
Thema durchsuchen
Ansicht
Themen-Optionen

Memo - Markierter Text mit Tab einrücken

Ein Thema von shAd · begonnen am 28. Jul 2004 · letzter Beitrag vom 30. Jul 2004
Antwort Antwort
shAd

Registriert seit: 26. Jul 2004
Ort: Stuttgart
19 Beiträge
 
Delphi 7 Professional
 
#1

Memo - Markierter Text mit Tab einrücken

  Alt 28. Jul 2004, 16:17
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!

gruß,
shAd
Er erreichte einen Speisesaal. Wenn man an dem dort stehenden langen Tisch Platz nahm, so konnte man ziemlich sicher sein, daß die Leute am gegenüberliegenden Ende in einer anderen Zeitzone saßen.
- Terry Pratchett in Wachen! Wachen!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Memo - Markierter Text mit Tab einrücken

  Alt 28. Jul 2004, 16:25
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;
Andreas
  Mit Zitat antworten Zitat
shAd

Registriert seit: 26. Jul 2004
Ort: Stuttgart
19 Beiträge
 
Delphi 7 Professional
 
#3

Re: Memo - Markierter Text mit Tab einrücken

  Alt 28. Jul 2004, 16:52
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
Er erreichte einen Speisesaal. Wenn man an dem dort stehenden langen Tisch Platz nahm, so konnte man ziemlich sicher sein, daß die Leute am gegenüberliegenden Ende in einer anderen Zeitzone saßen.
- Terry Pratchett in Wachen! Wachen!
  Mit Zitat antworten Zitat
shAd

Registriert seit: 26. Jul 2004
Ort: Stuttgart
19 Beiträge
 
Delphi 7 Professional
 
#4

Re: Memo - Markierter Text mit Tab einrücken

  Alt 30. Jul 2004, 23:35
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
Er erreichte einen Speisesaal. Wenn man an dem dort stehenden langen Tisch Platz nahm, so konnte man ziemlich sicher sein, daß die Leute am gegenüberliegenden Ende in einer anderen Zeitzone saßen.
- Terry Pratchett in Wachen! Wachen!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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