Announcement

Collapse
No announcement yet.

Suche im Memofeld unter XP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Suche im Memofeld unter XP

    Hallo,

    meine Suchroutinen im Memofeld unter XP funktionieren nicht mehr. Das Wort wird zwar gefunden aber die Zeile wird nicht mehr angesprungen. Unter NT funktionert es problemlos.

    procedure TForm1.FindDialog1Find(Sender: TObject);
    var
    FoundAt: LongInt;
    StartPos, ToEnd: Integer;

    begin
    with memo1 do
    begin
    { Suchbeginn nach der aktuellen Markierung (falls vorhanden), }
    { andernfalls am Textanfang starten }

    if SelLength <> 0 then
    StartPos := SelStart + SelLength
    else

    StartPos := 0;

    { ToEnd ist die Länge von StartPos bis zum Ende des Textes im RTF-Eingabefeld }

    ToEnd := Length(Text) - StartPos;

    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, []);
    if FoundAt <> -1 then
    begin
    SetFocus;
    SelStart := FoundAt;
    SelLength := Length(FindDialog1.FindText);
    end;
    end;

    Kann mir jemand helfen ?

    Gruß Georg

  • #2
    Also wenn das schon einmal funktioniert hat,
    evt. steht RTF.Hideselection=true

    Comment


    • #3
      Hi,

      Du setzt doch den Scope auf Memo1!
      Ist Memo1 vom Typ Richedit oder handelt es sich um ein normales Memo-Feld?
      In normalen Memos funktioniert das mit der Beispielfunktion nicht!
      Die Funktion FindText(...) existiert in der Form nur bei RichEdits!

      Gruß
      Carste

      Comment


      • #4
        Hi,

        der Tipp mit Eigenschaft Hideselection hat zum Erfolg geführt. Scheinbar ist die Vorbelegung standardmäßig unter NT false und bei XP true.

        Gruß Geor

        Comment

        Working...
        X