Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FindText springt nicht zur gefundenen Zeile! (https://www.delphipraxis.net/78450-findtext-springt-nicht-zur-gefundenen-zeile.html)

smart 5. Okt 2006 09:42


FindText springt nicht zur gefundenen Zeile!
 
Hallo Alle!

Ich habe hier einen FindText Code aus der Hilfe von Delphi. An sich arbeitet der Code einwandfrei. Aber wenn ich ein TRichEdit anstatt ein TMemo nehme findet der Code zwar den gesuchten Text, springt aber nicht dort hin. Mit ein TMemo klappt das einwandfrei. Was muss ich ändern damit es auch mit einer TRichEdit klappt?

Delphi-Quellcode:
Var
  I, J, PosReturn, SkipChars: Integer;
begin
  for I := 0 to Memo1.Lines.Count do
  begin
    PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);
    if PosReturn <> 0 then {gefunden!}
    begin
      Skipchars := 0;
      for J := 0 to I - 1 do
        Skipchars := Skipchars + Length(Memo1.Lines[J]);
      SkipChars := SkipChars + (I*2);
      SkipChars := SkipChars + PosReturn - 1;

      Memo1.SetFocus;
      Memo1.SelStart := SkipChars;
      Memo1.SelLength := Length(FindDialog1.FindText);
      Break;
    end;
  end;
Gruß
Heike

fwsp 5. Okt 2006 09:45

Re: FindText springt nicht zur gefundenen Zeile!
 
Delphi-Quellcode:
for I := 0 to Memo1.Lines.Count do
muss der teil nicht

Delphi-Quellcode:
for I := 0 to Memo1.Lines.Count - 1 do
heißen? macht er da nicht sonst eine zeile zu viel?

smart 5. Okt 2006 09:54

Re: FindText springt nicht zur gefundenen Zeile!
 
Zitat:

Zitat von fwsp
heißen? macht er da nicht sonst eine zeile zu viel?

Da hast Du Recht, es würde die falsche Zeile angezeigt werden. Vielen Dank. Klappt aber trozdem nicht.

Gruß
Heike

uwewo 5. Okt 2006 10:16

Re: FindText springt nicht zur gefundenen Zeile!
 
Habe Deinen Quellcode gerade anstatt mit FindDialog.FindText mit einem Edit ausprobiert
und es funktioniert einwandfrei!

smart 5. Okt 2006 10:19

Re: FindText springt nicht zur gefundenen Zeile!
 
Zitat:

Zitat von uwewo
Habe Deinen Quellcode gerade anstatt mit FindDialog.FindText mit einem Edit ausprobiert
und es funktioniert einwandfrei!

Hallo!

Mit einem TRichEdit?

Gruß
Heike

uwewo 5. Okt 2006 10:23

Re: FindText springt nicht zur gefundenen Zeile!
 
EDIT.TEXT anstatt FindDialog.FindText

leddl 5. Okt 2006 10:26

Re: FindText springt nicht zur gefundenen Zeile!
 
Zitat:

Zitat von uwewo
EDIT.TEXT anstatt FindDialog.FindText

Aber wahrscheinlich mit einem Memo, oder? ;) Da funktioniert es bei ihr ja, sie möchte es aber in einem RichEdit zum laufen bekommen ;)

smart 5. Okt 2006 10:27

Re: FindText springt nicht zur gefundenen Zeile!
 
Zitat:

Zitat von leddl
Zitat:

Zitat von uwewo
EDIT.TEXT anstatt FindDialog.FindText

Aber wahrscheinlich mit einem Memo, oder? ;) Da funktioniert es bei ihr ja, sie möchte es aber in einem RichEdit zum laufen bekommen ;)

Ja, richtig!

Gruß
Heike

uwewo 5. Okt 2006 10:49

Re: FindText springt nicht zur gefundenen Zeile!
 
OK, sorry Hatte mit Memo und Edit probiert!

Nun aber mit Richedit + Edit und es funktioniert auch.

Habe nur Memo gelöscht und RichEdit in Memo1 umbenannt es funktioniert.

smart 5. Okt 2006 11:00

Re: FindText springt nicht zur gefundenen Zeile!
 
Zitat:

Zitat von uwewo
OK, sorry Hatte mit Memo und Edit probiert!

Nun aber mit Richedit + Edit und es funktioniert auch.

Habe nur Memo gelöscht und RichEdit in Memo1 umbenannt es funktioniert.

Das kann schon sein, aber wenn der Text länger ist, so das die Scrollbalken an sind und man den Text aus diesen Grund nicht sehen kann, dann wird bei einem TRichedit nicht dort hin gesprungen? Dass kann auch bei Dir nicht klappen. Zu mindest bei Delphi 7 nicht ;-) Siehe meine Anfrage ganz oben!

Gruß
Heike


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Seite 1 von 2  1 2      

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