Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ICQ Status...mal wieder^^ (https://www.delphipraxis.net/93734-icq-status-mal-wieder%5E%5E.html)

Chaismo 10. Jun 2007 17:09


ICQ Status...mal wieder^^
 
Zu erstmal guten Tag an alle!
Ich weiß das diese Frage schon oft gestellt wurde aber irgendwie nie zu einem Ergebnis geführt hat! Leider!
Wie kann man über die TICQLib den Status eines Kontaktes aus der Buddyliste abfragen?!
Manche haben ja gesagt das sie die ICQNummer über das Internet vergleichen ob die Grafik die von Online oder Offline ist aber damt komme ich nicht wirklich klar bzw hab ich keine Ahnung wie das geht!
Es muss doch eine andere Methode geben über die TICQlib dies abzufragen oder?!
Wenn ihr eine Idee habt oder euch auch Gedanken darüber macht dann schreibt sie bitte!
MFG Chaismo

Chaismo 12. Jun 2007 13:18

Re: ICQ Status...mal wieder^^
 
Hm also anscheinend weis keiner was man da machen könnte? :gruebel: :wink:
Ich würde das ja auch über Internet machen weis aber nicht wie das geht?^^
Irgendwie könnte man das doch auch ber die visibleList probieren oder ist
nur dazu da um festzustellen ob an sichtbar oder unsichtbar ist?

Eichhoernchen 12. Jun 2007 13:30

Re: ICQ Status...mal wieder^^
 
vielleicht zeigst du uns erstmal was diese TICQLib ist. Ich kenne die nicht. Was steuert man denn damit? Ein eigenes ICQ? Den offiziellen Client?

F0rc3 12. Jun 2007 14:11

Re: ICQ Status...mal wieder^^
 
TICQLib ist eine Komponente um einen ICQ-Client zu programmieren (http://sourceforge.net/projects/ticqlib)

Um den Status abzufragen müsste eigentlich folgendes gehen:

Delphi-Quellcode:
procedure TForm1.ICQClient1Login(Sender: TObject);
begin
icqclient1.AddContact(000000000); // Deine Nummer
end;


procedure TForm2.ICQClient1OnlineInfo(Sender: TObject; UIN: string; Port: Word;
  InternalIP, ExternalIP: string; OnlineTime: TDateTime; Idle: Word; ICQVersion,
  MirandaVersion: Cardinal; ProtoVer, UserCaps: Byte);
begin
if UIN='000000000' then showmessage('online');
end;

procedure TForm2.ICQClient1UserOffline(Sender: TObject; UIN: string);
begin
if UIN='000000000' then showmessage('offline');
end;

Chaismo 13. Jun 2007 13:36

Re: ICQ Status...mal wieder^^
 
hmm also wenn das klappen würde dann wäre das geil weil ich irgendwie in vielen foren hier gelesen hab das die keine Ahnung haben wies geht...gelchmal probieren!
Aber danke für den Vorschlag!

Chaismo 13. Jun 2007 19:50

Re: ICQ Status...mal wieder^^
 
hmm also jetzt kann ich das nichtmal testen da jetzt die Kontaktliste geladen wird?!
Haben die vieleicht schon wieder die Protokelle geändert?

F0rc3 13. Jun 2007 19:52

Re: ICQ Status...mal wieder^^
 
jo, ich mein irgendwann im Mai gabs eine Protokolländerung

Falls du aber Nachrichten empfangen kannst (und dich überhaupt einloggen kannst) müsste es aber eigentlich klappen...

Chaismo 14. Jun 2007 14:32

Re: ICQ Status...mal wieder^^
 
naja einloggen klappt ja super aber die Kontaktliste wird jetzt nichtmehr gealden :gruebel:
Hier der Code den hab ich aus den Examplen aus der TICQLib und hab ihn noch etwas bearebiett:
Delphi-Quellcode:
procedure TForm1.ICQClient1ServerListRecv(Sender: TObject;
  SrvContactList: TList);
var
  i: Integer;
  UserInfo: TUINEntry;
begin
  Statusbar1.panels[2].text:='Lade Kontatliste';
  if SrvContactList.Count > 0 then
    for i := 0 to SrvContactList.Count - 1 do
    begin
      UserInfo := PUINEntry(SrvContactList.Items[i])^;
      if UserInfo.CType = U_VISIBLE_LIST then
        ICQClient1.VisibleList.Add(IntToStr(UserInfo.UIN)) end
      else if UserInfo.CType = U_INVISIBLE_LIST then
        ICQClient1.InvisibleList.Add(IntToStr(UserInfo.UIN))
      else if UserInfo.CType = U_NORMAL then
      begin
        if ICQClient1.AddContactvisible(UserInfo.UIN) then
        begin
          If UserInfo.UIN>0 then begin
              ListBox1.Items.Add(UserInfo.Nick);
              icqnummer.Items.Add(IntToStr(UserInfo.UIN));
              Combobuddys.Items.Add(Userinfo.nick)
          end;
          end;
      end;
  Statusbar1.panels[2].text:='Kontaktliste fertig geladen';
  ICQClient1.DestroyUINList(SrvContactList);
end;
Also müsste doch eigentlich gehn aber irgendwie doch ni :mrgreen:
Vieleicht wisst ihr genaueres?

Die Muhkuh 14. Jun 2007 14:35

Re: ICQ Status...mal wieder^^
 
Die Sache wird einfach sein, dass ICQ mit ICQ6 das Protokoll geändert hat und die Komponente damit nicht klar kommt.

F0rc3 14. Jun 2007 15:10

Re: ICQ Status...mal wieder^^
 
bei http://sourceforge.net/projects/ticqlib gibt es eine Anleitung zum fixen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Seite 1 von 2  1 2      

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