Wyszukiwanie

0

Szukam funkcji wyszukujacej dane w TListView? [???]

0

W artykułach jest coś o funkcji Pos, która podaje Ci pozycję danego łańcucha znaków w jakimś innym łancuchu. Bedziesz tylko musiał sprawdzać każdy item po kolei.

0

To nie jest do konca to o co mi chodzilo. Moze wyjasnie najpierw dokladnie nad czym pracuje, a mianowicie mam dwie TListView i porboje napisac funkcje ktora wyszuka mi wartosc w odpowiedniej kolumnie TlistView1 i wartosc wszstykich elementow z tej <ort>linji </ort>z wszystkich innych kolumn wyswietli mi na TListView2.

0

quicksort, babelkowe (czy jak to sie tam zwie)
po prostu lecisz kazda pozycje (item lub subitem) po kolei

0

Z pos chodzilo o to, ze jak funkcja zwroci wartosc 0 (lub -1, poprawcie mnie) to znaczy, ze dany ciag znajduje sie w innym ciagu, np

if Pos('ala', 'ala ma kota') > 0 then
  //w podanym ciagu jest slowo ala
0
var//. wyszukiwanie
 i: Integer;
begin
 for i := ListView1.ItemIndex+1  to ListView1.Items.Count - 1 do
   if Pos(UpperCase(Edit1.Text),Uppercase(ListView1.Items[i].Caption)) > 0 then
            begin
              // Application.ProcessMessages; <- to nie potrzebne chyba
               ListView1.SetFocus;
               ListView1.ItemIndex := i;
               Exit;
            end;

 ListView1.ItemIndex := -1;

end;

ale to troche dziwnie działa, jak chcesz to przerób sobie i już

0

Z pos chodzilo o to, ze jak funkcja zwroci wartosc 0 (lub -1, poprawcie mnie) to znaczy, ze dany ciag znajduje sie w innym ciagu, np

Pos zwraca 0 jeżeli ciąg się nie zawiera w drugim, albo miejsce, gdzie znajduje się pod-ciąg. Napisałeś źle, ale przykład był dobry :)

0

Tylko po znalezieniu tej wartosci w ListView1 jak dodac linje z wartosciami pozostalych kolumn do ListView2? np.
kolumna 1 | kolumna2 |
wartosc(x) | wartosc(y) |
| |
| |
wyszukam wartosc(x) i wyswiteli mi ta cala linje do ListView2

0

Tylko po znalezieniu tej wartosci w ListView1 jak dodac linje z wartosciami pozostalych kolumn do ListView2? np.
kolumna 1 | kolumna2 |
wartosc(x) | wartosc(y) |
| |
| |
wyszukam wartosc(x) i wyswiteli mi ta cala linje do ListView2

Co tu nie wiedzieć zobacz tu
http://4programmers.net/Forum/viewtopic.php?id=46616

tylko w tym przykładzie jest dla 3 kolumn musisz przerobić dla tylu co Ty masz

0

Juz mam. thx.... ;-)

0

Ehhh ;-| ja juz sam nie wiem probowalem ale mi cos nie wyszlo... mam tylko tyle

procedure TForm8.SpeedButton1Click(Sender: TObject);
Var
i,l: Integer;
ListItem: TListItem;

begin
for i := MaInForm.ListView2.ItemIndex+1 to MaInForm.ListView2.Items.Count - 1 do
if Pos(UpperCase(Edit2.Text),UpperCase(MaInForm.ListView2.Items[i].SubItems[0])) > 0 then
begin .... i co dalej? moze mi ktos pomoc i to rozpisac .

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