Главная страница
    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.047 c
15-1161095946
Игорь ЖАКО
2006-10-17 18:39
2006.11.05
Ehlib 3.6 требует запуска IDE


2-1161240821
Helen
2006-10-19 10:53
2006.11.05
Как скопировать все файлы из каталога


2-1161337013
svt
2006-10-20 13:36
2006.11.05
access 2.0


6-1150401090
XeON
2006-06-15 23:51
2006.11.05
Посчет DialUp траффика


3-1157633650
MsGuns
2006-09-07 16:54
2006.11.05
Остановить запрос в потоке





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский