Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Элементарный поиск слова в ListBox1


Автор: stat007 9.10.2008, 23:16
На форме есть: ComboBox1, ListBox1 и кнопка (Я точно не знаю, может для этого дела больше подойдёт Memo1)

ComboBox1 заполнен в Itrms допустим такими словами:
Чай
Кофе
Вода

ListBox1 заполнен с помощью Items такими строками:

Я люблю горячий чай
Я люблю холодную воду
Я не люблю кофе
Я иногда люблю холодный чай


Надо сделать так, что бы при выборе в ComboBox1 "Чай" выводило в ЛистБоксе те строчки, в которых встречаются слово "Чай". т.е. должно вывести при нажатии на кнопку в ListBox1 1 и 4 строку:

Я люблю горячий чай
Я иногда люблю холодный чай

т.е. должен выполняться элементарный поиск.


Автор: Comm 10.10.2008, 05:18
Цитата

 т.е. должно вывести при нажатии на кнопку в ListBox1 1 и 4 строку:

Не пойму,как вывести в ListBox1 этистрочки если там уже есть:
Я люблю горячий чай
Я люблю холодную воду
Я не люблю кофе
Я иногда люблю холодный чай



Или ты имеешь в виду затереть старое и заполнить найденым ?
Или просто выделить найденные строки не стирая того что до этого находилось ?

если первое,то :
Код

void __fastcall TForm1::Button2Click(TObject *Sender)
{for(int i=0;i<ListBox1->Count;i++)
 {if(!ListBox1->Items->Strings[i].Pos(ComboBox1->Items->Strings[ComboBox1->ItemIndex]))
  {ListBox1->Items->Delete(i--);
  }
 }
}//---------------------------------------------------------------------------


Автор: stat007 10.10.2008, 11:31
Списибо большое!
Именно так, нужно было затереть старые и оставить только те, в которых эти слова совпвдают!!

Да, и ещё подскажите пожалуйста, дапустим есть ещё одна кнопка и при нажатии на неё, что бы выводился снова исходно заполненый ListBox.

Автор: stat007 10.10.2008, 15:08
а всё ок! я сам понял!!!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)