Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: 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 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1091891267
bender
2004-08-07 19:07
2004.08.29
gprs


3-1091612556
сергей1
2004-08-04 13:42
2004.08.29
изменение текста в dbGrid


14-1092175825
Baron
2004-08-11 02:10
2004.08.29
Средство от простуды и насморка


6-1087963813
Furyous
2004-06-23 08:10
2004.08.29
Проблема с разрывом socket соединения


1-1092682678
Seldon
2004-08-16 22:57
2004.08.29
Как задать папку для генерации DCU и EXE