Советы по Delphi

       

Инкрементальный поиск в ListBox I


Предположим, что ListBox сортируется, это не трудно. Вы должны разместить компонент Edit выше ListBox и создать следующий обработчик его случая OnChange:

procedure TForm1.Edit1Change(Sender: TObject);
VAR Ndx : Word;
begin
WITH
Sender AS TEdit DOBEGINNdx := ListBox1.Items.Add(Text);ListBox1.Items.Delete(Ndx);IF CompareText(Text, Copy(ListBox1.Items[Ndx],1,Length(Text)))=0 THENListBox1.ItemIndex := NdxELSE ListBox1.ItemIndex := -1;END;end;

Пытаясь вставить часть текста, вы просто просматриваете список на предмет его наличия. Если актуальный элемент в этой позиции содержит "частичный" текст, мы выводим его, в противном случае делаем так, чтобы ListBox не имел выделенного (ItemIndex) элемента. [000422]



Содержание раздела