szukałem, ale nie znalazłem... ma ktoś jakiś pomysł?
pozdro.
szukałem, ale nie znalazłem... ma ktoś jakiś pomysł?
pozdro.
a napisać tak trudno?wystarczy lecieć po itemach (liniowo) i sprawdzać z podanym parametrem. proste? wykonać!
dobra... wyskrobalem cos takiego:
var
i: Integer;
begin
for i:= TreeView.Selected.Level + 1 to TreeView.Items.Count - 1 do
if Pos(UpperCase(EditFind.Text),UpperCase(TreeView.Items[i].Text)) > 0 then
begin
TreeView.SetFocus;
TreeView.Items.Item[i].Selected := True;
Break;
end;
end;
jednak bez sensu byloby zecie jakby cos jak zwykle sie nie spier***
postaram sie przedstawic problem -
w TreeView mam taka liste
i teraz tak, petelka ktora przedstawilem wyzej wyszukuje tylko w pierwszym czlonie tej listy, czyli w
1. aaaaa
1.1 dddd
1.2 dsdd
1.3 dddd
tak wiec jezeli chce wyszukac z CALEJ listy slowo/znak np. "1" to procedura zaznacza mi pozycje 1. aaaaa i po nastepnym kliknieciu kolejne czyli: 1.1 dddd itd... i to jest ok. ale nie wiem jakim cudem w konsekwencji klikania znajduje mi tylko w tym pierwszym bloku?? znajduje mi 1.1 dddd, 1.2 dddd, 1.3 dddd, a powinno brac pod uwage jeszcze kolejne wiersze np.: 2.1 ddd, 2.1 asas itd...
probowalem nie stosowac procedury Break, i wtedy wyszukiwana byla cala lista ale niestety wszystko bylo robione praktycznie naraz i zaznaczany byl ostatni wers listy ktory zawiera szukane slowo/znak.
staram sie naknajdokladniej opisac moj problem. nie wiem dlaczego tak sie dzieje. logicznie patrzac na ta procedure wszystko jest OK. ale dlaczego efekt jest przeciwny?? i dlaczego bez break wyszukuje w calej liscie a z break tylko w pierwszym czlonie? to wyglada tak jakby procedura wyszukiwala tylko do momentu napotkania kolejnego punktu rozwiniecia listy. odpalcie delphi i sami zobaczcie jakie cuda sie dzieja
[glowa]
pozdro.
for i := 0 to TreeView1.Items.Count - 1 do
if Pos('a', TreeView1.Items[i].Text)>0 then robcos
//do ponizej
sorki, mialo byc:
for i := TreeView.Selected.AbsoluteIndex +1 to ...
poza tym ze twoja zaczyna sie od indexu = 0 a moja od zaznaczonego... to powiedz mi czym sie rozni moja procedura od twojej?
pozdro.