|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с TICQCliet ContactList
Какой процедурой можно сделать, что-бы при подключении, список контактов отображался на ListBox1.
Заранее большое спс |
#2
|
|||
|
|||
сам с ним не работал, но подозреваю, что в событии типа OnConnect надо пройтись циклом по списку контактов и добавить их в ListBox. Т.е. для начала глянь где лежат контакты и есть ли событие, возникающее после установления связи.
|
#3
|
|||
|
|||
Я делаю так:
Цитата:
//Это событие лучше вызывать в событии OnLogin пройедурой Имя_ICQ_компонента.RequestContactList; Код:
procedure TfrmMain.ICQClientServerListRecv(Sender: TObject; SrvContactList: TList); var i : LongInt; //Счетчик цикла UserInfo: TUINEntry; //Инфа о пользователе из списка UINNickItem : PUINNickItem; //Виртуальный элемент списка begin //lstContactList это список контактов lstContactList.Clear; UINNickList.Clear; end; if SrvContactList.Count > 0 then for i := 0 to SrvContactList.Count - 1 do //Каждый элемент добавляем begin UserInfo := PUINEntry(SrvContactList.Items[i])^; if UserInfo.CType = 0 then //если это пользователь (CType = 0), то добавляем в список begin //Само добавление lstContactList.AddItem(UserInfo.Nick + ' (' + IntToStr(UserInfo.UIN) + ') ', Self); GetMem(UINNickItem, SizeOf(UINNickItem^)); UINNickItem^.UIN := UserInfo.UIN; UINNickItem^.Nick := UserInfo.Nick; UINNickList.Add(UINNickItem);//Добавлеям в виртуальный список (!) end; end; ICQClient.DestroyUINList(SrvContactList); //Обязательно (!!!) end; Последний раз редактировалось Admin, 06.01.2009 в 20:41. |