Żadnych gotowych komponentów na to nie ma, musisz stworzyć własną funkcję porównującą zawartość obydwu list. Nie napiszesz żadnego programu jeżeli będziesz liczył na zbudowanie programu z klocków (komponentów), musisz zacząć programować, bo na to co opisałem, nie ma gotowych rozwiązań. Podałem Ci schemat działania, kod obsługujący musisz sam napisać.
Nikt Ci nie pomoże w napisaniu całego programu. Nie masz jeszcze wogóle żadnego kodu, żadnego programu, chcesz wrzucić komponenty na formularz i liczysz, że załatwią wszystko za Ciebie, a tymczasem wystarczy napisać prostą funkcję porównującą zawartość dwóch list, trzeba jednak najpierw ustalić strukturę, konstrukcję tych list, czyli jak przechowują swoje dane, może to wyglądać tak:
Lista 1 zawierajÄ…ca IP:
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
Lista 2 zawierajÄ…ca IP + login
user2=192.168.0.5
user3=192.168.0.3
user5=192.168.0.1
user1=192.168.0.4
user4=192.168.0.2
porównanie list i zwrócenie indeksu z pierwszej listy:
- Kod: Zaznacz cały
//---------------------------------------------------------------------------
int TForm1::GetSocketIndex(String login)
{
for (int i = 0; i < ListBox1->Items->Count; i++) // ListBox1 = lista 1
{
if(ListBox1->Items->Strings[i] == ListBox2->Items->Values[login]) // ListBox2 = lista 2
{
return i;
}
}
return -1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int index = GetSocketIndex("user3");
/* indeksy listy sÄ… liczone od 0, czyli 0, 1, 2, gdzie 0 zajmuje pierwsze
miejsce na liście */
ShowMessage("user3 ma IP: " + ListBox1->Items->Strings[index] +
" znajduje się na liście 1 na pozycji: " + (String)index); // komunikat zbędny pokazuje działanie funkcji
ServerSocket1->Socket->Connections[index]->SendText("wiadomość");
}
//---------------------------------------------------------------------------
i tak właśnie ma działać funkcja porównująca listy, żądnych gotowych kodów, żadnych komponentów.
Teraz stwórz sobie cały mechanizm tworzący listy, wysyłający zapytania od serwera do klienta, zwracający login i hasło przez klienta, tworzący listy, porównujący hasło z loginem. Stwórz wszystko w ten sam sposób w jaki ja stworzyłem kod porównujący zawartość list, czyli programując, a nie układając klocki, bo nie znajdziesz klocków na wszystko.