Домашняя лаборатория мудрого KAA

Поиск по всей строке в TMRUListEh (EhLib v4.2-8.1 )

Просмотров: 978Комментарии: 0
Программирование (Programming)Delphi
Поиск по всей строке  в TMRUListEh (EhLib v4.2-8.1 )
Good news, everyone!

Дело в том, что в стандартной версии класса TMRUListEh поиск выполняется не по всей строке, а только от ее начала. Для того, чтобы поиск выполнялся по всей строке нужно немного покопаться в потрошках модуля ToolCtrlsEh.

Функция TMRUListEh.FilterItemsTo строка 3471:

//Стандартная версия. Поиск выполняется только от начала строки

if CaseSensitive
  then Accept := (AnsiCompareStr(Copy(Items[i], 1, Length(MaskText)), MaskText) = 0)
  else Accept := (AnsiCompareText(Copy(Items[i], 1, Length(MaskText)), MaskText) = 0);

//Новая версия. Поиск выполняется по всей строке

if CaseSensitive
  then Accept := (AnsiPos(MaskText, Items[i]) > 0)
  else Accept := (AnsiPos(AnsiUpperCase(MaskText), AnsiUpperCase(Items[i])) > 0);

© By Farnsworth

Оставьте комментарий!

Используйте нормальные имена

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)