![]() |
BBcode und TMemo
Hallo!
Es sollte eigentlich ganz einfach sein, aber ich bekomm es einfach nicht hin. Folgendes soll passieren: Ich markiere einen Text in einem TMemo und klicke auf einen Button, z.B. "Fett". Jetzt soll Delphi vor und nach dem Text eine bestimmte Zeichenfolge ausgeben (davor und danach unterscheiden sich!)... Ist eben wie der allseits beliebte BBCode... Aber ich bekomm ich einfach net hin :( Kann mir jemand helfen, wie ich das auf die Beine stelle? MCXSC |
Re: BBcode und TMemo
Delphi-Quellcode:
Für die Richtigkeit übernehme ich keine Haftung. ;)
Memo1.Text := StringReplace(Memo1.Text, Memo1.SelText, '[b]' + Memo1.SelText + '[/b]', []);
MfG freak |
Re: BBcode und TMemo
da gibt's so'ne Eigenschaft, die sich Selected, oder so nennt ... die kann man nicht nur auslesen :zwinker:
Delphi-Quellcode:
Dat Selected wird bestimmt etwas anders heißen (hab's gard nicht im Kopf), aber es fängt zumindestens (hoff ich ma) mit "sel" an.
Memo1.Selected := '[b]' + Memo1.Selected + '[/b]';
[add] @freak4fun: von sowas würde ich abraten... rate mal, was passiert, wenn das auf diesen Text angewendet wird :zwinker:
Code:
vknm aaa fdasf [color=#ff0000][b]aaa[/b][/color]
|
Re: BBcode und TMemo
@Freak4fun:
Folgender Memotext: Hallo! Hallo auch! Jetzt markierst du in Zeile 1 "Hallo" und klickst auf "Fett". Dann kommt raus: Hallo! Hallo auch! Eigentlich sollte aber rauskommen: Hallo! Hallo auch! |
Re: BBcode und TMemo
Zitat:
Zitat:
Hab ihr es auprobiert? :gruebel: Wenn ihr natürlich alle erstzen wollt müsst ihr rfReplaceAll nehmen. :zwinker: MfG freak |
Re: BBcode und TMemo
OK, stimmt. Und wenn du das zweite auswählst? Naaa?
|
Re: BBcode und TMemo
StringReplace erstetzt nur das Erste (ohne rfReplaceAll) .. woher soll es denn wissen was man markiert hat :zwinker:
|
Re: BBcode und TMemo
Selbst wenn es funktionieren würde, StringReplace ist unglaublich langsam und total unnötig, wenn man die Position des Substrings sowieso schon kennt.
|
Re: BBcode und TMemo
Ok, 2:1 überstimmt. :mrgreen:
MfG freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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