Autor Beitrag
cyclone
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 18.08.02 16:04 
Ich möchte in meiner RichEdit einige Schlüsselworter unterbringen die dann anders fomatiert dargestellt werden...

Im moment mach ich das sehr umständlich und ich finde so nur das erste schlüsselwort:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
text: string;
i: integer;
begin
text := RichEdit1.Lines.Text;
i := pos('hallo', text); //sucht im text nach dem wort hallo und übermittelt die position
RichEdit1.SelStart := i;
RichEdit1.SelLength := 5;
RichEdit1.SelAttributes.Color := clBlue;
end;


Mein Problem ist, dass diese methode extrem umständlich ist und ich nie mehr als ein wort finde... gibt es eine bessere möglichkeit???

Hoffe auf antworten ;)
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: So 18.08.02 19:22 
Versuchs mal mit FindText.

Zitat:
type
TSearchType = (stWholeWord, stMatchCase);

TSearchTypes = set of TSearchType;

function FindText(const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer;


Damit kannste ab einer bestimmten Position suchen. Wenn das Wort gefunden wurde, übergibt die Funktion die Anfangsposition des gefunden Wortes. Wenn du jetzt alle Wörter herausfinden willst, musst du halt nur die Startpos auf die zu letzt gefundene Position +1 stellen.

Allerdings ist dieses Verfahren relativ umständlich und dauert. Ich würde dir daher die Komponente SynEdit empfehlen.

_________________
Viele Grüße
Jakob
MathiasH
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 699

WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
BeitragVerfasst: So 18.08.02 20:41 
kann man in Richedit eigentlich was formatiern, ohne den text kurzzeitig markieren zu müssen?, oder führt kein weg an SelStart... vorbei?

MathiasH

_________________
"Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
cyclone Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 18.08.02 21:38 
THX...

@MathiasH: Hab scon alles ausprobiert und keine andere lösung gefunden!

Wo find ich die komponente synEdit??? Ist die Standartgemäß bei delphi installiert?
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: So 18.08.02 21:44 
Zitat:
Wo find ich die komponente synEdit??? Ist die Standartgemäß bei delphi installiert?


Nein, die Komponente ist nicht standardmäßig installiert. Ich glaube, die bekommt man bei www.torry.net .

@MathiasH: Nein, man muss den Text für eine kurze Zeit markieren, damit man ihn formatieren kann. Auf jeden Fall wüstte ich nicht, wie man es anders machen sollte :wink:

_________________
Viele Grüße
Jakob
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 18.08.02 22:18 
Hier der direkte Link auf die Site von SynEdit:

synedit.sourceforge.net/

Gruß
TINO