Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

Поиск в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.045 c
15-1160522565
Германн
2006-10-11 03:22
2006.11.05
Пусть на меня посыпятся ещё куча кирпичей,


4-1150704205
_Вован
2006-06-19 12:03
2006.11.05
Не могу скопировать/удалить файл на диске Novell 4.2


2-1161553712
nporaMep
2006-10-23 01:48
2006.11.05
Как получить путь к программе?


4-1150644667
Aragon
2006-06-18 19:31
2006.11.05
Фильтрация процессов от системных


15-1160902603
Verg
2006-10-15 12:56
2006.11.05
Клиент форума под Symbian ни кто не пишет?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский