Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 03:17   #1
Миледи
 
Регистрация: 18.04.2012
Сообщений: 7
По умолчанию поиск в ListBox

помогите доработать программу она ищет значение в listbox но только когда находит дальше невозможно продолжить поиск поиск аналогичных значений.. я не понимаю как сделать это
Вложения
Тип файла: zip Search_text_in_ListBox.zip (444.6 Кб, 29 просмотров)
Миледи вне форума Ответить с цитированием
Старый 20.05.2012, 09:20   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Исправил, пользуйтесь:
Search_text_in_ListBox_FIXED.rar
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 20.05.2012, 16:41   #3
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

Я бы сделал так
Код:
procedure TMainForm.Edit1Change(Sender: TObject);
begin
ListBox1.Selected[ListBox1.ItemIndex]:= false;
if ListBox1.Items.IndexOf(Edit1.text)  <> -1 then
ListBox1.Selected[ListBox1.Items.IndexOf(Edit1.text)]:= true
end;
Просто и быстро....
antikiler_ вне форума Ответить с цитированием
Старый 20.05.2012, 16:57   #4
Умагаджи
Пользователь
 
Регистрация: 05.02.2011
Сообщений: 49
По умолчанию

Цитата:
Сообщение от antikiler_ Посмотреть сообщение
Я бы сделал так
Код:
procedure TMainForm.Edit1Change(Sender: TObject);
begin
ListBox1.Selected[ListBox1.ItemIndex]:= false;
if ListBox1.Items.IndexOf(Edit1.text)  <> -1 then
ListBox1.Selected[ListBox1.Items.IndexOf(Edit1.text)]:= true
end;
Просто и быстро....
Так как Вы сделали не то.. он не отличается от исходного варианта. А девушке нужно чтобы все варианты находились
Умагаджи вне форума Ответить с цитированием
Старый 20.05.2012, 17:08   #5
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

antikiler_, честно, бесят такие люди как вы. Хотите показаться умнее? Вы внимательно прочли заголовок темы и поняли что конкретно нужно автору топика? А то прочтут по диагонали и предлагают решение совершенно не в тему.
Тот вариант, что вы написали, не снимает выделение с остальных строк, если они были выделены.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 20.05.2012, 17:11   #6
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

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

Последний раз редактировалось antikiler_; 20.05.2012 в 17:49.
antikiler_ вне форума Ответить с цитированием
Старый 20.05.2012, 19:08   #7
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Хорошо, давайте разберемся до конца Вчитаемся во фразу ТС в первом посте. Видим, что проблема возникла в том, что после нахождения ПЕРВОГО совпадения поиск аналогичных значений не идет дальше. Т.е. всегда выделяется не более одной строчки в ListBox'е. ТС нужен результат поиска, состоящий из нескольких найденных совпадений, если таковые есть. А в приложенном примере такие совпадения есть. Для этого, как минимум, нужно поставить свойство MultiSelect:=True.
Цитата:
А Вы проверьте...
Т.е. вы утверждаете, что ваш код будет снимать выделение со всех выделенных строк в ListBox'е перед новым поиском? Проверил, не работает Этот код вообще ничего не находит по маске ввода.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 20.05.2012, 20:28   #8
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
Хорошо, давайте разберемся до конца Вчитаемся во фразу ТС в первом посте. Видим, что проблема возникла в том, что после нахождения ПЕРВОГО совпадения поиск аналогичных значений не идет дальше. Т.е. всегда выделяется не более одной строчки в ListBox'е. ТС нужен результат поиска, состоящий из нескольких найденных совпадений, если таковые есть. А в приложенном примере такие совпадения есть. Для этого, как минимум, нужно поставить свойство MultiSelect:=True.
Еще раз внимательно перечитал пост ТС, понял где моя ошибка. Приношу по этому поводу свои извинения.
Цитата:
Этот код вообще ничего не находит по маске ввода.
А вот это - неправда. Я таким кодом часто пользуюсь. Возможно теперь Вы неправильно что-то делаете...
antikiler_ вне форума Ответить с цитированием
Старый 20.05.2012, 20:42   #9
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Он работает, но не так, как нужно автору темы. А так да, работает, только находит в случае полного совпадения, а не вхождения.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 20.05.2012, 20:52   #10
antikiler_
 
Регистрация: 14.01.2012
Сообщений: 9
По умолчанию

Скачал.Сделал.Работает.
Search_text_in_ListBox_FIXED_2.rar
Цитата:
Он работает, но не так, как нужно автору темы. А так да, работает, только находит в случае полного совпадения, а не вхождения.
Я это уже понял....
antikiler_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в listbox (delphi) L3zh1Y Помощь студентам 1 10.05.2011 16:20
Поиск текста в Listbox-е Молоток Компоненты Delphi 4 16.03.2011 12:45
поиск по Listbox leonw Общие вопросы Delphi 9 07.06.2010 17:57
Поиск в ListBox Spectre Компоненты Delphi 9 14.01.2008 20:04
Поиск в ListBox kodov Компоненты Delphi 2 19.03.2007 20:58