Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Text makieren! (https://www.delphipraxis.net/2005-text-makieren.html)

[MORD]Locutus 2. Jan 2003 17:40


Text makieren!
 
Hi!

Ich bin grad dran einen Texteditor zu programmieren.
Natürlich darf da die Suchfunktion nicht fehlen.
Hab folgenden Code:

Code:
procedure TForm1.Suchen1Click(Sender: TObject);
var
suchwort:string;
begin
FindDialog1.Execute;
suchwort:=FindDialog1.FindText;
if Memo1.Lines.IndexOf(Suchwort)<>-1
then Memo1.Lines
else ShowMessage(Suchwort+'nicht gefunden !');
end;
Nur wie kann ich jetzt das gefundene Wort makieren (blau hinterlegen)?

Bye

Locutus

Gast 2. Jan 2003 22:59

Hi,

bei der Memo.Kompo gibt es die Eigenschaften SelLength, SelStart, SelText

SelLength : Die Eigenschaft SelLength gibt die Anzahl der markierten Zeichen (Bytes) an.

SelStart : Die Eigenschaft SelStart gibt die Position des ersten markierten Zeichens im Text an.

SelText : Die Eigenschaft SelText gibt den markierten Textbereich des Eingabefeldes an.

Das sind alles aus der Delphi Hilfe mit einem Beispiel, was sogar eine Suche beschreibt.

Daniel B 2. Jan 2003 23:44

Moin,

ich schliesse mich dem Vorredner an.
Ein kleinen Tip habe ich allerdings noch.

In der Button-Prozedur, schreib nur FindDialog.Execute; rein.
Und für den restlichen Code zum Markieren, die OnFind-Prozedur des Dialogs.
Ein bisschen was zum Thema SelStart usw. gibt es hier: Klick!

Grüsse, Daniel :hi:

Christian Seehase 3. Jan 2003 15:36

Moin Locutus,

erst einmal herzlich willkommen.

Wenn Du Dir das Suchen etwas erleichtern willst, dann kannst Du statt des TMemo mal ein TRichEdit nehmen.
Das kennt die Methode FindText.

BTW: Assimilieren is' nicht ;-)

[MORD]Locutus 5. Jan 2003 21:12

Danke
 
Danke sehr!
Ihr habt mir sehr geholfen.
Übrigens is das für die Schule und da darf ich nur eine Memokomponente benutzen!
Und das mit dem assimilieren überleg ich mir noch :twisted:

Bye
Locutus


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