![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать перескок к нужному итему? [D7, WinXP]
Gnec © (2004-08-13 21:10:00)Драсьте.
Я пишу сриптовый редактор. У меня есть лист бокс с кучей команд, и мемо. Как мне сделать так что если пишеш код вручную в мемо, написал например пол команды, тогда лист бокс автоматически выбирает итем с командой подходящей под написанное??? Помогите плиз!
Gnec (2004-08-13 21:47:00) [1]ладно, прочитаю справку. может быть разберусь.
begin...end (2004-08-13 21:35:00) [2]
> [6] Gnec © (13.08.04 21:33)
> а вот чтоб он с половиной рукописной команды перескочил
> к подходящему итему
Ну тогда ищем строку в ListBox'е, начинающуюся с образца.
См. в справке описание функции Pos().
Gnec (2004-08-13 21:33:00) [3]Спасибо, ваш пример очень помог. Я разоюрался как сделать так чтобы он перепрыгивал к итему, уже полностью записанному, а вот чтоб он с половиной рукописной команды перескочил к подходящему итему.
TUser (2004-08-13 21:31:00) [4]Только не [3]. Медленно.
хотя бы while
См. про бинарный и интерпляционный поиск в книгах по алгоритмам.
begin...end (2004-08-13 21:27:00) [5]Или так:
ListBoxName.ItemIndex := ListBoxName.Items.IndexOf('образец');
begin...end (2004-08-13 21:23:00) [6]
> [2] Gnec © (13.08.04 21:17)
var
I: Integer;
begin
for I := 0 to ListBoxName.Items.Count - 1 do
if ListBoxName.Items[I] = {образец} then
ListBoxName.ItemIndex := I;
end;
Другой вопрос, как из данных в Memo сформировать образец.
В общем случае это довольно сложно, ИМХО.
Gnec (2004-08-13 21:17:00) [7]а вот как организовать этот самый поиск? Извините если вопросы тупые, но в програмировании я ещё только начинаю разбираться :(
TUser (2004-08-13 21:15:00) [8]Memo1.OnKeyPress + поиск по итемам. Думаю, что в ListBox'e лучше сортировать, тогда поиск м.б. быстрым.