Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi RichEdit Wort finden, Farbig und Fett markieren (https://www.delphipraxis.net/57843-richedit-wort-finden-farbig-und-fett-markieren.html)

Nils_13 27. Nov 2005 16:35

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Zitat:

Zitat von Ultimator
Bist du so beschränkt oder tust du nur so?

Wenn du FindText in deine Unit schreibst und F1 drückst, kommen da 4 Möglichkeiten:

FINDTEXT
FindText
FindText (Eigenschaft von TFindDialog) (VCL-Referenz)
FindText (Eigenschaft von TCustomRichEdit) (VCL-Referenz)

Welche passt wohl? :roll:

Ich krieg da:
(C++ Beispiel)
(Delphi-Beispiel)
TCustomRichEdit
TFindDialog

TCustomRichEdit trifft wohl am ehsten zu. Und welchen COde kriege ich da ? Den oben !!

Die Beschimpfung ignoriere ich jetzt mal einfach.

Ultimator 27. Nov 2005 16:39

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Zitat:

Zitat von Nils_13
Die Beschimpfung ignoriere ich jetzt mal einfach. Danke, dass du mir eine lustige Minute gegönnt hast.

Hm. Wenn du das, was du als Beschimpfung empfindest, ignorierst, wieso sollte dann mein ansonsten sachliches Posting lustig sein? :roll:

Ich habe Delphi 7 Personal mit keinen zusätzlich installierten Komponenten, also müsste das bei dir auch vorhanden sein.

//edit: Oha, da hat jemand oben editiert.

jim_raynor 27. Nov 2005 16:39

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Zitat:

Zitat von Nils_13
TCustomRichEdit trifft wohl am ehsten zu. Und welchen COde kriege ich da ? Den oben !!

Das ist ein Beispiel mit dem FindDialog. Aber du kannst sehr wohl auch FindText ohne FindDialog einsetzen. Einfach statt FindDialog1.FindText deinen eigenen Text nehmen ...

Nils_13 27. Nov 2005 16:41

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Zitat:

Zitat von Ultimator
Zitat:

Zitat von Nils_13
Die Beschimpfung ignoriere ich jetzt mal einfach. Danke, dass du mir eine lustige Minute gegönnt hast.

Hm. Wenn du das, was du als Beschimpfung empfindest, ignorierst, wieso sollte dann mein ansonsten sachliches Posting lustig sein? :roll:

Ich habe Delphi 7 Personal mit keinen zusätzlich installierten Komponenten, also müsste das bei dir auch vorhanden sein.

//edit: Oha, da hat jemand oben editiert.

Ich benutze weil alle anderen Delphi-Versionen zu langsam sind auf einfach Delphi 7 Personal. Ist aber irgendwie nicht das selbe :gruebel:

Zitat:

Zitat von jim_raynor
Zitat:

Zitat von Nils_13
Die Beschimpfung ignoriere ich jetzt mal einfach.

Das ist ein Beispiel mit dem FindDialog. Aber du kannst sehr wohl auch FindText ohne FindDialog einsetzen. Einfach statt FindDialog1.FindText deinen eigenen Text nehmen ...

Also in etwa so ?
Delphi-Quellcode:
  if FindDialog1.FindText = 'START' then
  begin
    with Memo1.SelAttributes do
    begin
      Color := clRed;
      Height := Height + 5;
    end;
  end;
oder so ?
Delphi-Quellcode:
procedure TForm1.FindDialog1Find(Sender: TObject);
begin
    with Memo1.SelAttributes do
    begin
      Color := clRed;
      Height := Height + 5;
    end;
end;

mare_crisium 27. Nov 2005 16:48

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Nils,

Du hast was übersehen:

Die Stelle, an der in dem Beispiel der Text nach dem Suchwort durchsucht wird heisst:

Delphi-Quellcode:
    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
FindDialog1.FindText bedeutet nur, dass in diesem Beispiel das Suchwort über einen Dialog, nämlich "FindDialog1" einegeben wurde. Du kannst an derselben Stelle aber auch Deinen Suchstring direkt oder als string-Variable einstellen. Etwa so:

Delphi-Quellcode:
    FoundAt := FindText('suchmal', StartPos, ToEnd, [stMatchCase]);
oder
Delphi-Quellcode:
    suchString:='suchmal';
    FoundAt := FindText(suchString, StartPos, ToEnd, [stMatchCase]);
FindText ist eine Methode der Klasse TCustomRichEdit. Wenn Du in Deinem Programm folgende Variablen einführst:

Delphi-Quellcode:
  meinTextDocument : TcustomRichEdit
  fundStelle      : integer;
dann kannst Du anschliessend in diesem Dokument z.B. mit folgender Anweisung die Suche durchführen:

Delphi-Quellcode:
  fundStelle:=meinTextDokument.findText('suchmal',StartPos,ToEnd,[stMatchCase]);
Näheres findest Du in der Delphi-Hilfe unter TcustomRichEdit.

Alles klar?

mare_crisium

Sharky 27. Nov 2005 16:56

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Zitat:

Zitat von Ultimator
Bist du so beschränkt oder tust du nur so?

:warn: So etwas möchte ich von Dir nicht noch einmal lesen müssen :warn:
Egal wie schwer sich jemand mit den Tips gibt ist dies kein Grund für persönliche Anfeindungen.

Betrachte dies bitte als sehr ernsthafte Ermahnung :!:

Ultimator 27. Nov 2005 17:16

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Ich konnte nicht nachvollziehen, dass er das nicht findet. Zumal er ja auch noch die gleiche Delphi-Version verwendet und ich sozusagen eine Step-by-Step-Anleitung gepostet hab.

Mag sein, dass das mit knappen 40 anders ist. Man wird ja auch ruhiger.

Ich überlege gerade, ob man wirklich alles, was man schreibt in erhöhtem Grade mit Smilies übersäen muss, damit man auch ganz bestimmt erkennt, wie was gemeint ist. Ich kann hier im Forum mittlerweile eigentlich alle recht gut leiden. Und meinst du allen Ernstes, ich beleidige jemanden ernsthaft, den ich recht gut leiden kann?

Dieser Text wurde vorsätzlich ohne jegliche Emoticons verfasst, damit sich jeder die Sinnrichtung rauspicken kann, die ihm gerade passt

Nils_13 27. Nov 2005 18:41

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var StartPos, ToEnd, foundAt: integer;
    suchText: String;
begin
    suchText:='START';
    foundAt := Memo1.findText(suchText,0,length(Memo1.text),[stMatchCase]);
    if FoundAt <> -1 then
    begin
      Memo1.SetFocus;
      Memo1.SelStart := FoundAt;
      Memo1.SelLength := Length(suchText);
    end;
end;
Dieser Code von mare_crisium markiert das gesuchte Wort schwarz. Aber wie kriege ich es jetzt noch hin, so dass es fett und grün dargestellt wird ?

Khabarakh 27. Nov 2005 18:45

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Öhm...
Zitat:

Zitat von Nils_13
Mit SelAttributes markiere ich das gesuchte Wort zwar, aber wie finde ich es überhaupt ?

:gruebel:

faux 27. Nov 2005 18:49

Re: RichEdit Wort finden, Farbig und Fett markieren
 
Hallo!

Also wirklich, ich hab diese Funktion noch nie gebraucht und hab sie sogar ohne Delphi-Hilfe ausfündig gemacht. Da gibt es so eine coole Funktion namens Codevervollständigung. ;)
Etwas mehr Engagement deinerseits würde nicht schaden. :zwinker:

Delphi-Quellcode:
MyRichEdit.SelAttributes.Color := clGreen;
MyRichEdit.SelAttributes.Style := [fsBold];
Grüße
Faux


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.
Seite 2 von 3     12 3      

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