ich habe eine einfache Lösung gefunden. ich werde sie hier mal posten, falls sie auch noch andere interessiert.
ICQ Kontaktliste vom Server laden.
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ICQClient1.RequestContactList;
end;
UINs der Kontakte auflisten:
Delphi-Quellcode:
procedure TForm1.ICQClient1ServerListRecv(Sender: TObject;
SrvContactList: TList);
var
i: Word;
UserInfo: TUINEntry;
begin
if SrvContactList.Count > 0 then
for i := 0 to SrvContactList.Count - 1 do
begin
UserInfo := PUINEntry(SrvContactList.Items[i])^;
if Length(IntToStr(UserInfo.UIN))= 9 then
begin
if ICQClient1.AddContact(UserInfo.UIN) then
begin
ListBox1.Items.Add(IntToStr(UserInfo.UIN));
end;
end;
end;
ICQClient1.DestroyUINList(SrvContactList);
end;
Also, wie gesagt, diese Lösung ist mehr als einfach gestrickt. D.h. es findet keine Unterscheidung statt, ob die User online, offline, away, usw. sind. Es werden alle Kontakte per UIN aufgelistet, die auf er Kontaktliste setehen. Der Code ist aber durchaus noch erweiterbar.
Gruß
Gentleman