Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Поиск в TList   Найти похожие ветки 

 
Чипырик ©   (2006-10-23 16:44) [0]

Доброго времени суток....
Как осуществить поиск Записи в компоненте TList.
например: в TEdit пишем слово, в TList курсор автоматически перебрасывается на нужную запись (что-то типа FindNearest)


 
Ketmar ©   (2006-10-23 16:56) [1]

а что такое "курсор в TList" и как он выглядит???


 
Чипырик ©   (2006-10-23 17:01) [2]


> Ketmar

ну не курсор, а выделенный Item так сказать. Выделенный элемент (строка)


 
Сергей М. ©   (2006-10-23 17:04) [3]


> Выделенный элемент (строка)


Какие м.б. строки в TList ?

Ты м.б. ведешь речь о TListBox, а не о TList ?


 
Джо ©   (2006-10-23 17:07) [4]

> [3] Сергей М. ©   (23.10.06 17:04)
>
> > Выделенный элемент (строка)
>
>
> Какие м.б. строки в TList ?

К тому же, еще и "выделенные". :)


 
default ©   (2006-10-23 17:09) [5]


>  в компоненте TList.

а ещё TList это компонент


 
Джо ©   (2006-10-23 17:13) [6]

В общем, сошлись, вроде, что имеется в виду TListBox. :) Автору: в событии OnChage для TEdit напиши что-то в духе:
ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit1.Text)
Дополнить в соответствии с логикой поиска.


 
Чипырик ©   (2006-10-23 17:40) [7]

ща попробую


 
Чипырик ©   (2006-10-23 17:43) [8]

Вписал в Edit1.OnChange
ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit4.Text)
Результат нулевой. На нужную строку выделение не скачет, как было на 1 строке, так там и осталось


 
Джо ©   (2006-10-23 17:46) [9]

> [8] Чипырик ©   (23.10.06 17:43)
> Вписал в Edit1.OnChange


> .IndexOf(Edit4.Text)

Как понимать тебя?


 
SpellCaster   (2006-10-23 17:46) [10]

А нужная строка-то в списке есть? ;)


 
MetalFan ©   (2006-10-23 17:49) [11]

что курил автор? ужасно вопрос поставлен %)


 
Чипырик ©   (2006-10-23 17:51) [12]

> SpellCaster
Конечно есть.
В списке
Бука
Бяка
Кака
Мака

В Edit4 набираю Кака, выделение остается на Бука (точнее ничего не выбирается)

> Джо
Тебе 4-ка не понятна или что?


 
Чипырик ©   (2006-10-23 17:56) [13]

От того что Ветку перенесли в раздел для начинающих, проблема так и не решилась


 
Джо ©   (2006-10-23 18:01) [14]

> [12] Чипырик ©   (23.10.06 17:51)
> > Джо
> Тебе 4-ка не понятна или что?

Мне 4-ка понятна. Мне непонятно, почему OnChage у тебя для Edit1, а поиск строки из Edit4. И хамить не стоит.

К слову, мой код буквально воспринимать не следовало. Надеялся, что раз изначально вопрос был задан не в "Начинающим" (где ему самое место), то приложить мозговые усилия для подгона кода к своим нуждам не составит труда. Составило. Разжевываю, тем более, уже в "Начинающим".
function FindPartial (const S: string; Items: TStrings): Integer;
var
 I: Integer;
begin
 Result := -1;
 for I := 0 to Items.Count-1 do
   if Pos (S,Items[I]) <> 0 then
   begin
     Result := I;
     Break
   end
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
 ListBox1.ItemIndex := FindPartial(Edit1.Text,ListBox1.Items)
end;

Просьба опять не перепутать Edit1 и Edit4...


 
MetalFan ©   (2006-10-23 18:06) [15]

на форме ListBox: TListBox; Edit: TEdit;
в OnChange
 ListBox.ItemIndex := ListBox.Items.IndexOf( Edit.Text );

все работает с твоей какой...


 
Чипырик ©   (2006-10-23 18:09) [16]

описался вписывал я естественно в Едит4... я не хамлю... , но все равно прошу прощения если что не так....
ща попробую 2-ой вариант


 
Джо ©   (2006-10-23 18:10) [17]

> [16] Чипырик ©   (23.10.06 18:09)
> ща попробую 2-ой вариант

Второй вариант это — поиск по вхождению в строку. Ты с этим бы разобрался :)


 
Чипырик ©   (2006-10-23 18:12) [18]


> Джо

Заработало
Пасиба большое


 
Чипырик ©   (2006-10-23 18:14) [19]


> MetalFan


ListBox1.ItemIndex := ListBox1.Items.IndexOf( Edit4.Text );
Так по прежнему не пашет...
строку ввожу ОнЧанж на Едите4 (в котором ввожу поисковую строку)... Лист бокс у меня всего один на форме.... не пашет


 
MetalFan ©   (2006-10-23 18:35) [20]

выкладывай код, так бесполезно разговаривать...


 
Ketmar ©   (2006-10-23 18:44) [21]

телепатор подсказывает, что там просто нет буквального совпадения. например, пробел где-то в конце затесался. или регистр букв не одинаковый.


 
Anatoly Podgoretsky ©   (2006-10-23 19:22) [22]

Надеялся, что раз изначально вопрос был задан не в "Начинающим" (где ему самое место),

Вообще то ему здесь не место, но другой конференции у нас нет. Это самый нижний уровень к сожалению.


 
Ketmar ©   (2006-10-23 19:30) [23]

>[22] Anatoly Podgoretsky(c) 23-Oct-2006, 19:22
>другой конференции у нас нет.
есть "Журнал" aka "бредосборник". %-))



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.044 c
11-1137337946
homm
2006-01-15 18:12
2006.11.05
Rich Edit не хочет грузить большие файлы


2-1161085507
VALUA
2006-10-17 15:45
2006.11.05
БИБЛИОТЕКА QTINF.DLL


4-1150881828
DmitryFox
2006-06-21 13:23
2006.11.05
Доступ к файлу в сжатой папке с паролем


3-1156938889
Mishenka
2006-08-30 15:54
2006.11.05
Сортировка в запросе


15-1161139835
Slider007
2006-10-18 06:50
2006.11.05
С днем рождения ! 18 октября