![]() |
Probleme mit SearchDialog
Hallo,
habe mich durch verschiedene SearchDialog Beispiele gearbeitet und so und hab nun folgende Lösung:
Delphi-Quellcode:
Gibt auch andere aber die gehen aufs gleiche heraus.
var
x: integer; begin x:=memo1.FindText(SearchFind1.Dialog.FindText,0,memo1.GetTextLen,[stWholeWord, stMatchCase]); SendMessage(memo1.Handle,EM_SETSEL,x,x+Length(SearchFind1.Dialog.FindText)); memo1.Refresh; Das Problem: Die Textstelle wird zwar markiert, aber erst nachdem dich den SearchDialog schliesse..was ja aber nichtso sein soll, der Button heisst ja nicht umsonst WEITERsuchen. Und zweitens scrollt das Memo nicht automatisch dahin, wo der Text ist. Wisst ihr wie ich das lösen kann? |
Re: Probleme mit SearchDialog
Hallo
irgendwie haust du hier was durcheinander. Findtext gibt es nicht bei einem Memo, nur beim Richedit. Für das Richedit ist ein Beispiel in Verbindung mit Finddialog in der Hilfe. Es wäre außerdem interessant, WO dein code steht. Mfg Frank |
Re: Probleme mit SearchDialog
Naja das war vorher ne Memo, ist aber richedit heisst nur noch memo lol
das steht bei OnFind. |
Re: Probleme mit SearchDialog
Steht HideSelection auf True? Wenn ja, setz es mal auf False.
Zitat:
|
Re: Probleme mit SearchDialog
Hat sich erledigt hab das Beispiel aus der Delphi Hilfe genommen.
Delphi-Quellcode:
Aberprocedure TForm1.SearchFind1FindDialogFind(Sender: TObject); var I, J, PosReturn, SkipChars: Integer; begin for I := 0 to Memo1.Lines.Count do begin PosReturn := Pos(SearchFind1.Dialog.FindText,Memo1.Lines[I]); if PosReturn <> 0 then {found!} 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(SearchFind1.Dialog.FindText); Break; end; end;
Delphi-Quellcode:
das check ich nichtso ganz..-kanns mir jemand erklären?for J := 0 to I - 1 do SkipChars := SkipChars + Length(Memo1.Lines[J]); SkipChars := SkipChars + (I*2); SkipChars := SkipChars + PosReturn - 1; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 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 by Thomas Breitkreuz