Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.11.2008, 10:53
AlexandeR AlexandeR вне форума
Прохожий
 
Регистрация: 19.09.2008
Сообщения: 7
Репутация: 10
По умолчанию Помогите с TICQCliet ContactList

Какой процедурой можно сделать, что-бы при подключении, список контактов отображался на ListBox1.
Заранее большое спс
Ответить с цитированием
  #2  
Старый 24.11.2008, 12:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

сам с ним не работал, но подозреваю, что в событии типа OnConnect надо пройтись циклом по списку контактов и добавить их в ListBox. Т.е. для начала глянь где лежат контакты и есть ли событие, возникающее после установления связи.
Ответить с цитированием
  #3  
Старый 06.01.2009, 05:29
Cros Cros вне форума
Прохожий
 
Регистрация: 05.01.2009
Сообщения: 24
Репутация: 10
Лампочка Я делаю так:

Цитата:
Сообщение от AlexandeR
Какой процедурой можно сделать, что-бы при подключении, список контактов отображался на ListBox1.
Заранее большое спс

//Это событие лучше вызывать в событии 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: Пользуемся тегами!

Последний раз редактировалось Admin, 06.01.2009 в 20:41.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter