Listbox i wyszukiwanie

0

Witam uprzejmie... Niewykluczone, że takie, lub podobne pytanie pojawiało się już tutaj, ale niestety nie mogę sobie pozwolić na przeszukanie całego forum, przez wzgląd na ograniczony czas, jakim dysponuję... :/ Proszę więc o pomoc. Mam listboxa i chciałbym, aby podczas wpisywania tekstu w edicie ustawiał mi pozycję listboxa na linijkę która zawiera podany w edicie ciąg znaków ale w DOWOLNYM MIEJSCU linijki... wiem, jak to zrobić żeby wyszukiwał na początku linijki, natomiast z tym mam problemy i byłbym bardzo wdzięczny za pomoc. Dzięki z góry i pozdrawiam.

0

Możesz rozjaśnić .. ? - o jakiej "LINIJCE" mowisz?

0

O właściwości Itemindex Listboxa

0
  try
    ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit1.Text);
  finally
  end;
0

Hm... niezupełnie o to chodziło... Ta procedura zaznacza linijkę, gdy jest w edicie podany identyczny ciąg znaków. Natomiast mi chodziło, zeby wyszukiwało także kiedy podany będzie fragment linijki... Mam nadzieję, ze zrozumiale to opisałem.

0

A nie mozesz w petli pobierac tekst z kazdej pozycji w listboxie i fukcja pos sprawdzac czy nie ma w niej tego co jest w edicie a jezeli jest to ustawiac ten item listboxa jakos zaznaczony ??

0
var
  i: integer;
  Found: TStrings
begin
Found := TStringList.Create;

for i := 0 to ListBox1.Items.Count - 1 do
begin
  if Pos(edit1.Text, ListBox1.Items[i]) > 0 then
    Found.Add(ListBox1.Items[i]);
end;
0
var
  i: Integer;
begin
  for i := 0 to ListBox1.Items.Count - 1 do
  begin
    if pos(Edit1.Text, ListBox1.Items[i]) > 0 then
    begin
      ListBox1.ItemIndex := i;
      Break;
    end;
  end;
end;

Może mozna to zrobić szybciej - podejrzewam, że tak. / Ludomir mnie ubiegł /

0
Ludomir napisał(a)
var
  i: integer;
  Found: TStrings
begin
Found := TStringList.Create;

for i := 0 to ListBox1.Items.Count - 1 do
begin
  if Pos(edit1.Text, ListBox1.Items[i]) > 0 then
    Found.Add(ListBox1.Items[i]);
end;

W którym miejscu należy wpisać ten kod ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1