problem z finddialog

0

Dałem Find Dialog i takie oto polecenie:

begin
FindDialog1.Position := Point(nota.left+100, nota.top+200);
FindDialog1.Execute;
end;

procedure TNotatnik.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: integer;
begin
with nota do
begin

if SelLength &lt&gt 0 then
  StartPos := SelStart + SelLength
else

  StartPos := 0;

ToEnd := Length(Text) - StartPos;

FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt &lt&gt -1 then
begin
  SetFocus;
  SelStart := FoundAt;
  SelLength := Length(FindDialog1.FindText);

end;

end;
end;

Jest to standartowe polecenie z Helpa - ale nie działają w nim różne opcje (np. wyszukiwanie w górę czy w dół) - działa tylko podstawowe wyszukiwanie. Jak poprawić ten błąd - czy jest jakiś lepszy algorytm do Find dialog - wykorzystujący jego wszystkie opcje?

0

finddialog1.options

i tam masz opcje

chyba jest jakis artykul o tej palecie (Dialogs) i tam sie znajduje finddialog ale nie jestem pewien, jezeli umeiesz ang to powinienes sobie sam rozwiazac ten problem ;]

[cisza]
lolek

0

FindDialog1.Options := [frDown,frFindNext,frMatchCase,frReplace,frReplaceAll,frWholeWord,frShowHelp];
--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

no dryobates ales sie postaral ;p

[cisza]
lolek

0

Próbowałem wstawić finddialog.options, ale nie moge za licho wykorzystać opcji kierunku "w góre" lub "w dół". Jak to zrobić?

0

Próbowałem wstawić finddialog.options, ale nie moge za licho wykorzystać opcji kierunku "w góre" lub "w dół". Jak to zrobić?

W dziale Kody źródłowe -> Delphi jest moduł faststrings. Jest tam funkcja podobna do Pos wyszukująca zarówno w górę jak i w dół (oprócz tego parę innych opcji).

--
Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1