﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / Delphi  / Поиск в ListBox / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sun, 23 Nov 2008 00:49:50 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Поиск в ListBox</title><link>http://www.relib.com/forums/Topic891198-8-1.aspx</link><description>ну, почти то, что надо, дальше сам[code]procedure TForm1.Edit1Change(Sender: TObject);var  Ndx: Word;begin  with (Sender as TEdit) do  begin    Ndx := ListBox1.Items.Add(Text);    ListBox1.Items.Delete(Ndx);    if CompareText(Text, Copy(ListBox1.Items[Ndx], 1, Length(Text))) = 0 then      ListBox1.ItemIndex := Ndx    else      ListBox1.ItemIndex := -1;  end;end; [/code] </description><pubDate>Sat, 01 Apr 2006 01:17:00 GMT</pubDate><dc:creator>Leliksan Floyd</dc:creator></item><item><title>Поиск в ListBox</title><link>http://www.relib.com/forums/Topic891198-8-1.aspx</link><description>Такой вопрос: как организовать поиск в ListBox? Нужно также, как и в Блокноте - Найти и Найти далее. На форме кнопка Найти, Edit1, в котором я ввожу, то что надо найти, и сам ListBox1. И когда я жму Найти, должна выделиться строка, в которой присутствуют слова, введенные Edit1. Мне нужно частичное совпадение.Мне подсказали вот что:varForm1: TForm1;n : byte;...............procedure TForm1.BtnFindClick(Sender: TObject);vari: byte;flag: boolean;begini:=0;flag:=false;repeatif Pos(LowerCase(Edit1.Text),LowerCase(ListBox1.Items.Strings[i]))&lt;&gt;0 thenbeginListbox1.Selected[i]:=true;n:=i;flag:=true;end;inc(i);until (i=ListBox1.Count-1) or (flag=true);end;procedure TForm1.BtnFindNextClick(Sender: TObject);vari : byte;beginfor i:=n+1 to ListBox1.Count-1 dobeginif Pos(LowerCase(Edit1.Text),LowerCase(ListBox1.Items.Strings[i]))&lt;&gt;0 thenbeginListbox1.Selected[i]:=true;n:=i;break;end;end;end;Но если в ListBox более 300 элементов, программа просто зависает, при попытке найти, к примеру - последний элемент.Как с этим бороться? И какие еще у вас есть идеи по поводу поиска в ListBox? Заранее спасибо.</description><pubDate>Sun, 19 Feb 2006 20:05:00 GMT</pubDate><dc:creator>Kodov</dc:creator></item></channel></rss>