Kontaktliste mit ICQLib anzeigen?
Hi!
Ich habe mich etwas mit der ICQLib beschäftigt, da ich einiges darüber hier in der DP gelesen habe. Ich würde gerne wissen ob man mit ICQClient bzw ICQDb die Kontaktliste aus dem Internet laden kann. Und wenn ja, wie funktioniert das? Ich hoffe ihr könnt mir helfen. mfg Gentleman |
Re: Kontaktliste mit ICQLib anzeigen?
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:
UINs der Kontakte auflisten:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin ICQClient1.RequestContactList; end;
Delphi-Quellcode:
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. :stupid:
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; Gruß Gentleman |
Re: Kontaktliste mit ICQLib anzeigen?
Öhm das ist genau die Procedure die auch in den Demos stehen wenn ich mich nicht irre. :mrgreen:
|
Re: Kontaktliste mit ICQLib anzeigen?
Also diese Zeile:
Delphi-Quellcode:
kannsts du echt vergessen den die for schleife "prüft" des schon ab.
if SrvContactList.Count > 0 then
Warum nicht so (ist etwas einfacher)
Delphi-Quellcode:
procedure TForm1.ICQClient1ServerListRecv(Sender: TObject;
SrvContactList: TList); var i: Word; //word? warum nicht integer UserInfo: TUINEntry; begin for i := 0 to SrvContactList.Count - 1 do begin UserInfo := PUINEntry(SrvContactList.Items[i])^; if (Length(IntToStr(UserInfo.UIN))= 9) and (ICQClient1.AddContact(UserInfo.UIN)) then begin ListBox1.Items.Add(IntToStr(UserInfo.UIN)); end; end; ICQClient1.DestroyUINList(SrvContactList); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz