ďťż

Ładny brzuch

Witam! Mam problem. Mianowicie napisałem program, w którym można stworzyć sobie listę dowolnych rzeczy podzielonych na kategorie. Wszystkie kategorie znajdują się w jednym komponencie ListBox. Po kliknięciu na kategorię w drugim ListBox'ie wyświetlają mi się elementy. Wszystko to są elementy typu string. Teraz chcę napisać procedurę, która na podstawie podanego ciągu znaków znajdzie wszystkie stringi ze wszystkich kategorii, które zawierają podany ciąg (coś jak wyszukiwarka) i przypisać te elementy do komponentu ListView według wzoru: KATEGORIA | ELEMENT. Wiem jak znaleźć elementy, które są identyczne z podanym ciągiem, ale nie potrafię znaleźć tych, które go zawierają (np. ciąg znaków to 'cztery' i znajduje mi element 'cztery' w kategorii 'nowa', ale już elementu 'cztery pory roku' w kategorii 'stara' nie znajduje) Pomóżcie proszę



kod na znalezienie tekstuw richedicie... przerob to ;)
var  FoundAt: LongInt;  StartPos, ToEnd: Integer; begin  with RichEdit do  begin      if SelLength <> 0 then      StartPos := SelStart + SelLength    else      StartPos := 0;      ToEnd := Length(Text) - StartPos;    FoundAt := FindText(    'Tekst', StartPos, ToEnd, [stMatchCase]);    if FoundAt <> -1 then    begin      SetFocus;      SelStart := FoundAt;      SelLength := Length('Tekst');    end;  end; end;
Użytkownik migajek edytował ten post 02 kwiecień 2006, 21:02
petla od 0 do ListBox1.Items.Count - 1 i sprawdzasz czy pos('slowo', listBox1.Items[i]) > 0 ...

migajek dzięki działa. Tylko teraz mam nowy problem.
1. Chcę, żeby za jednym zamachem znajdował mi podane słowo napisane z małej litery i z dużej (jednocześnie), bo gdy podaję np. słowo "ja" to program znajduje mi tylko elementy które zawierają dokładnie słowo "ja" a już elemetów "Ja" i "JA" nie widać.
2. Wszystkie zna;lezione elementy są wypisywane w ListView. Po kliknięciu na dany element ma się w Listbox'ach zanzaczyć kategoria do jakiej on należy i w drugim znaleziony element. Jak to zrobić żeby nie uzyskać błędu??




1. pos('ja', lowercase(listBox1.Items[i])) > 0 ? :)



1. pos('ja', lowercase(listBox1.Items[i])) > 0 ? :)

Działa!!! Pozostaje jeszcze drugi problem.

Już nieważne. wszystko działa :D
Użytkownik salat25 edytował ten post 06 kwiecień 2006, 14:49
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •