Показать сообщение отдельно
  #5  
Старый 28.04.2020, 21:08
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от pikabu
За пример спасибо вам огромное, работает. Потестил, имеется небольшой глюк. Если искомые совпадения есть в последней строке то, значение в 3 листвью не добавляется. А вот если добавить ниже простую строку, без совпадений, то все норм. В целом не критично, но не понятно откуда ноги растут.

Да, там очепятка во внутреннем цикле.
Поправь "Count-2" на "Count-1" и все будет работать.

С регистром тоже все просто. В If надо сравнивать без его учета.

Короче, вот эти строчки поправить:
Код:
      For J := 0 To List2.Items.Count-1 Do
        If (List1.Items[i].SubItems[0] = List2.Items[J].SubItems[0]) And
           (List1.Items[i].SubItems[1] = List2.Items[J].SubItems[1]) And
           (AnsiCompareText(List2.Items[J].SubItems[2],KeyWord)=0) Then
Ответить с цитированием