Вниз
Скачать: 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.022 c
10-1029843910
Гость (незванный)
2002-10-15 03:28
2004.08.29
Что за чудо PortableServer_POA::AdapterNonExistent


1-1092656987
Diman
2004-08-16 15:49
2004.08.29
RichEdit


1-1092298514
Vss
2004-08-12 12:15
2004.08.29
Найти курсор не кликая


3-1091627006
leonon
2004-08-04 17:43
2004.08.29
Многопоточность при работе с базой


10-1034587645
Alex N
2002-10-14 13:27
2004.08.29
Corba - клиент




   Наверх