Вниз
Скачать: CL | DM;

Как сделать перескок к нужному итему?   Найти похожие ветки 

 
Gnec ©   (2004-08-13 21:10) [0]

Драсьте.
Я пишу сриптовый редактор. У меня есть лист бокс с кучей команд, и мемо. Как мне сделать так что если пишеш код вручную в мемо, написал например пол команды, тогда лист бокс автоматически выбирает итем с командой подходящей под написанное??? Помогите плиз!


 
TUser ©   (2004-08-13 21:15) [1]

Memo1.OnKeyPress + поиск по итемам. Думаю, что в ListBox"e лучше сортировать, тогда поиск м.б. быстрым.


 
Gnec ©   (2004-08-13 21:17) [2]

а вот как организовать этот самый поиск? Извините если вопросы тупые, но в програмировании я ещё только начинаю разбираться :(


 
begin...end ©   (2004-08-13 21:23) [3]


> [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 сформировать образец.
В общем случае это довольно сложно, ИМХО.


 
begin...end ©   (2004-08-13 21:27) [4]

Или так:
ListBoxName.ItemIndex := ListBoxName.Items.IndexOf("образец");


 
TUser ©   (2004-08-13 21:31) [5]

Только не [3]. Медленно.
хотя бы while
См. про бинарный и интерпляционный поиск в книгах по алгоритмам.


 
Gnec ©   (2004-08-13 21:33) [6]

Спасибо, ваш пример очень помог. Я разоюрался как сделать так чтобы он перепрыгивал к итему, уже полностью записанному, а вот чтоб он с половиной рукописной команды перескочил к подходящему итему.


 
begin...end ©   (2004-08-13 21:35) [7]


> [6] Gnec ©   (13.08.04 21:33)


> а вот чтоб он с половиной рукописной команды перескочил
> к подходящему итему

Ну тогда ищем строку в ListBox"е, начинающуюся с образца.
См. в справке описание функции Pos().


 
Gnec ©   (2004-08-13 21:47) [8]

ладно, прочитаю справку. может быть разберусь.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.976 c
4-1089830351
Sliski Slimak
2004-07-14 22:39
2004.08.29
Модальная форма в DLL


4-1089994372
Dir
2004-07-16 20:12
2004.08.29
OpenDir


1-1092299878
Fynjy
2004-08-12 12:37
2004.08.29
Манифест и ListBox


1-1092312239
Maxximusss
2004-08-12 16:03
2004.08.29
MDI Childs


1-1092643707
an-na2002
2004-08-16 12:08
2004.08.29
Возврат к проверке




   Наверх