Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi FindDialog: Rechenfehler beim Suchen ? (https://www.delphipraxis.net/18758-finddialog-rechenfehler-beim-suchen.html)

rebugger 24. Mär 2004 12:05


FindDialog: Rechenfehler beim Suchen ?
 
Habe folgenden Delphi-Code:
Delphi-Quellcode:
procedure TfrmMain.FindDialogFind(Sender: TObject);
var
  iPos    : LongInt;
  iStart  : LongInt;
  iPattern : String;
  iText   : String;
begin
  if GetCodeMemo.SelAvail then
    iStart := GetCodeMemo.SelEnd + 1
  else
    iStart := 0;

  iPattern := LowerCase(FindDialog.FindText);
  iText   := LowerCase(Copy(GetCodeMemo.Text, iStart, Length(GetCodeMemo.Text) - iStart - 1));
  iPos    := Pos(iPattern, iText);

  if iPos > 0 then
  begin
    GetCodeMemo.SelStart := iPos + iStart - 2;
    GetCodeMemo.SelLength := Length(iPattern);
  end;
end;
Er findet zwar alle Ergebnisse, jedoch ist das 1. Ergebniss immer Falsch.
Habe ich z.B. den Text:
"Delphi-Praxis ist cool" und lasse nach "o" suchen, markiert er mir erst das "c", dann das 1. "o" und dann das 2. "o" (ich schließe ja den Dialog nicht, sondern klicke immer auf Weitersuchen).

Der Fehler muss in meiner Rechnung liegen... Findet ihn jemand ?
(GetCodeMemo ist eine Funktion, die mir die Komponente eines TMemo zurückliefert.)


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