Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RichEdit und FindDialog (https://www.delphipraxis.net/171962-richedit-und-finddialog.html)

Davidlocke13 4. Dez 2012 15:41

RichEdit und FindDialog
 
Und wieder habe ich ein Problem !

Ich möchte in meinem RichEdit über einen FindDialog suchen und dafür habe ich folgende Prozedur:

Delphi-Quellcode:
procedure TForm1.FindDialog1Find(Sender: TObject);
var
    Donde:integer;
 begin
   with RichEdit1 do
   begin
     Donde:=FindText(FindDialog1.FindText,
                     SelStart+1,
                     GetTextLen,
                     [stWholeWord]-[stWholeWord]);
     if Donde=-1
       then ShowMessage(FindDialog1.FindText + ' nicht gefunden!')
       else begin
              SetFocus;
              SelStart:=Donde;
              SelLength:=Length(FindDialog1.FindText);
            end;
   end;
end;
Nur mein Programm meint es kann nichts finden !
Wo ist da mein Fehler ?

LG

himitsu 4. Dez 2012 15:49

AW: RichEdit und FindDialog
 
Was willst du suchen?
Und das ist auch wirklich enthalten?


PS:
Delphi-Quellcode:
[stWholeWord]-[stWholeWord]
kann man auch einfach als
Delphi-Quellcode:
[]
schreiben. :angle:

Davidlocke13 4. Dez 2012 15:52

AW: RichEdit und FindDialog
 
das Richedit will ich durchsuchen und das gefunden Wort soll er mir markieren

DeddyH 4. Dez 2012 15:53

AW: RichEdit und FindDialog
 
Worauf steht denn SelStart im Moment des Dialogaufrufs?

himitsu 4. Dez 2012 15:56

AW: RichEdit und FindDialog
 
Stimmt, das gab's ja auch noch.
(hätte nicht davon ausgehen sollen, daß jeder dieses vorher selber prüft)

Zitat:

und das gefunden Wort soll er mir markieren
Und was für ein "Wort" willst du suchen?

DeddyH 4. Dez 2012 15:58

AW: RichEdit und FindDialog
 
FindDialog1.FindText nehme ich mal an.

Davidlocke13 4. Dez 2012 16:02

AW: RichEdit und FindDialog
 
SelStart wir bei mir erst verändert wenn SelStart + 1 kommt

Standardwert müsste also 0 sein

himitsu 4. Dez 2012 16:03

AW: RichEdit und FindDialog
 
Müsste oder ist?
Tipp: Schau doch mal mit dem Debugger nach,
bzw. wo steht denn der Cursor im Richedit?

Zitat:

Zitat von DeddyH (Beitrag 1194297)
FindDialog1.FindText nehme ich mal an.

OK, und was wurde in den Dialog eingegeben? :angle2:

DeddyH 4. Dez 2012 16:04

AW: RichEdit und FindDialog
 
"Müsste" oder "ist"? Bei mir war der bei einem schnellen Test nämlich initial am Textende. Einfach mal mit TAB ins RichEdit wechseln und schauen, wo der Cursor blinkt ;)

Davidlocke13 4. Dez 2012 16:05

AW: RichEdit und FindDialog
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anhang 38193

himitsu 4. Dez 2012 16:08

AW: RichEdit und FindDialog
 
Du hast die "123" doch bestimmt selber eingegeben und den Cursor dahinter stehen lassen?
Also steht SelStart auch am Ende des Textes ... genau da, wo der Cursor stand. :zwinker:

OK, "123" sollte harmlos sein, aber wenn man ausversehn/absichtlich Steuerzeichen, wie Tabs oder Zeilenumbrüche mit drin hat, dann kann das auch mal nicht gefunden werden, weil genau dieser Test dann eventuell nicht vorkommt.

p80286 4. Dez 2012 16:12

AW: RichEdit und FindDialog
 
Da der Cursor nicht zu sehen ist (?) ist das wohl das Problem.
"müsste" und "ist"
(Wunsch und Wirklichkeit)

Gruß
K-H

Davidlocke13 4. Dez 2012 16:23

AW: RichEdit und FindDialog
 
bin gerade auch schon ziemlich fertig habe gerade aus versehe Sachen aus meinem Quellcode gelöscht und musste da einiges neu schreiben :wink:


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