Listbox i wyszukiwanie

  • Rejestracja: dni
  • Ostatnio: dni
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.

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

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

  • Rejestracja: dni
  • Ostatnio: dni
0

O właściwości Itemindex Listboxa

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
  try
    ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit1.Text);
  finally
  end;
  • Rejestracja: dni
  • Ostatnio: dni
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.

aZgon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
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 ??

Ludomir
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
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;
Deti
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
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ł /

  • Rejestracja: dni
  • Ostatnio: dni
0
Ludomir napisał(a)
Kopiuj
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 ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.