Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi BBcode und TMemo (https://www.delphipraxis.net/71674-bbcode-und-tmemo.html)

MCXSC 19. Jun 2006 12:59


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

freak4fun 19. Jun 2006 13:11

Re: BBcode und TMemo
 
Delphi-Quellcode:
Memo1.Text := StringReplace(Memo1.Text, Memo1.SelText, '[b]' + Memo1.SelText + '[/b]', []);
Für die Richtigkeit übernehme ich keine Haftung. ;)

MfG
freak

himitsu 19. Jun 2006 13:11

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:
Memo1.Selected := '[b]' + Memo1.Selected + '[/b]';
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.


[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]

3_of_8 19. Jun 2006 13:15

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!

freak4fun 19. Jun 2006 13:21

Re: BBcode und TMemo
 
Zitat:

Zitat von himitsu
@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]

Dann wird nur das erste aaa mit BBCode umschlossen, bzw. das selektierte. :roll:

Zitat:

Zitat von 3_of_8
@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!

Dann wird nur das erste Hallo mit BBCode umschlossen, bzw. das selektierte. :roll:

Hab ihr es auprobiert? :gruebel: Wenn ihr natürlich alle erstzen wollt müsst ihr rfReplaceAll nehmen. :zwinker:

MfG
freak

3_of_8 19. Jun 2006 13:24

Re: BBcode und TMemo
 
OK, stimmt. Und wenn du das zweite auswählst? Naaa?

himitsu 19. Jun 2006 13:28

Re: BBcode und TMemo
 
StringReplace erstetzt nur das Erste (ohne rfReplaceAll) .. woher soll es denn wissen was man markiert hat :zwinker:

3_of_8 19. Jun 2006 13:31

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.

freak4fun 19. Jun 2006 13:45

Re: BBcode und TMemo
 
Ok, 2:1 überstimmt. :mrgreen:

MfG
freak


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