سلام.
من برای جستجوی متن در WebBrowser از تابع زیر استفاده میکنم:
function WBFindText (Browser: TWebBrowser; const Direction: Boolean; const FText: String;
const SearchScope, Flags: Integer) : Boolean;
var
Doc: IHTMLDocument2;
SelObj: IHTMLSelectionObject;
SelRange: IHtmlTxtRange;
begin
Doc := Browser.Document as IHTMLDocument2;
SelObj := Doc.Selection;
SelRange := SelObj.CreateRange as IHTMLTxtRange;
SelRange.Collapse(Direction);
if SelRange.FindText (FText, SearchScope, Flags) then
begin
SelRange.Select;
SelRange.ScrollIntoView (True);
Result := True;
end
else
Result := False;
end;
طبق چیزی که در راهنمای WebBrowser اومده، فراخوانی این تابع برای جستجو به سمت پایین و بالا باید به شکل زیر باشه:
جستجو به سمت پایین:
WBFindText(MyBrowser, False, TextSearch, 1, 0)
جستجو به سمت بالا:
WBFindText(MyBrowser, True, TextSearch, -1, 1)
که در هر دو TextSearch همون متنیه که میخوایم جستجوش کنیم.
حالا مساله اینه که جستجو به سمت پایین کاملا درست کار می کنه ولی جستجو به سمت بالا یا چیزی پیدا نمی کنه و یا اشتباهی پیدا و سلکت می کنه.
لطفا اساتید کمک کنن، هر چی می گردم دلیلش رو پیدا نمی کنم.