![]() |
ICQ Client Problem
Hi!
Bin grad dabei einen ICQ CLient zu schreiben. Mache das mit dem TICQLib von hier: ![]() Meine Frage: Wie kann ich zum Beispiel nach Mitgliedern suchen lassen, die aus Deutschland kommen? Also wenn ich doch zum Beispiel nach Usern mit einer bestimmten UIN suche, dann benutze ich SearchbyUIN; bei Email-Adresse nach SearchByMail... Aber wie mache ich das, wenn ich nur das Suchkriterium Land=Deutschland habe? Würde dann gerne die 10 erst gefundenen UINs in einer StringList speichern... Vielen Dank schonmal ;) |
Re: ICQ Client Problem
Zitat:
ich bin jetzt zwar nicht mit der TICQLib vertraut, aber schau dir doch einfach mal den code der SearchByUIN und SearchByMail funktionen an, evtl siehst du was du modifizieren musst um eine SearchByCountry funktion zu schreiben. |
Re: ICQ Client Problem
Ich denke dass du damit nach dem Land suchen kannst:
Delphi-Quellcode:
Als Antwort bekommst du dann eine OnUserFound-Benachrichtigung.
TICQClient.SearchWhitePages(const FirstName, LastName, NickName, Email: {$IFDEF VER200}RawByteString{$ELSE}string{$ENDIF}; MinAge, MaxAge: Word;
Gender: Byte; const Language, City, Country, Company, Department, Position, Occupation, Organization, OrganKeyWords, PastAffiliation, AffiKeyWords, KeyWord: {$IFDEF VER200}RawByteString{$ELSE}string{$ENDIF}; Online: Boolean); |
Re: ICQ Client Problem
Zitat:
Zitat:
Code von SearchbyMail, SearchbyName, SearchbyUIN:
Delphi-Quellcode:
Eine SearchByCompany Procedure müsst dann so aussehen, oder?:
{Searches user by Mail}
procedure TICQClient.SearchByMail(const Email: String); var pkt: TRawPkt; begin if not LoggedIn then Exit; CreateCLI_SEARCHBYMAIL(@pkt, FLUIN, Email, FSeq, FSeq2); FSock.SendData(pkt, pkt.Len); end; {Searches user by UIN} procedure TICQClient.SearchByUIN(UIN: LongWord); var pkt: TRawPkt; begin if not LoggedIn then Exit; CreateCLI_SEARCHBYUIN(@pkt, FLUIN, UIN, FSeq, FSeq2); FSock.SendData(pkt, pkt.Len); end; {Searches user by Name and other data} procedure TICQClient.SearchByName(const FirstName, LastName, NickName, Email: String); var pkt: TRawPkt; begin if not LoggedIn then Exit; CreateCLI_SEARCHBYNAME(@pkt, FLUIN, FirstName, LastName, NickName, Email, FSeq, FSeq2); FSock.SendData(pkt, pkt.Len); end;
Delphi-Quellcode:
So hab keeeeeeine Ahnung ob das stimmt ;) Hab mir das gerade aus den Fingern gesogen :P Aber woher weiß ich denn wie ich das richtig abändern soll, was für Daten ICQ erwartet, wenn ich anfange mit ihm zu kommunizieren? Hoffe da kann mir jemand helfen ;)
procedure TICQClient.SearchByCompany(const Company: String);
var pkt: TRawPkt; begin if not LoggedIn then Exit; CreateCLI_SEARCHBYCOMPANY(@pkt, FLUIN, Company, FSeq, Fseq2); FSock.SendData(pkt, pkt.Len); end; Danke für die bisherigen Antworten! |
Re: ICQ Client Problem
Keiner eine idee?^^
|
Re: ICQ Client Problem
Musst mal mit WireShark sniffen, wie der standard ICQ Client das macht. Dann kannst du dir das entsprechende Paket zusammenbasteln.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz