![]() |
IRC Userliste aktualisieren -> wiedermal...
Suchfunktion habe ich bereits benutzt, liefert aber auch keine Lösung.
Wie kann ich eine Userliste von der IRC Komponente von INDY 9 bekommen die immer aktualisiert wird? thx |
Re: IRC Userliste aktualisieren -> wiedermal...
das musst du natürlich selbst tun (OnJoin, OnPart, OnQuit)
|
Re: IRC Userliste aktualisieren -> wiedermal...
Kannst du mir mal ein paar Denkanstöße dazu geben?
Bis jetzt habe ich folgendes:
Delphi-Quellcode:
procedure TForm1.IdIRC1Names(Sender: TObject; AUsers: TIdIRCUsers;
AChannel: TIdIRCChannel); var b:Byte; begin lbxUserOnline.Clear; for b:=0 to IDIRC1.Users.Count-1 do lbxUserOnline.Items.Add(IDIRC1.Users.Items[b].Nick); end;
Delphi-Quellcode:
Bei welchem Ereignis kann ich den User, der weggeht, wieder aus der Listbox löschen?
procedure TForm1.IdIRC1Join(Sender: TObject; AUser: TIdIRCUser;
AChannel: TIdIRCChannel); begin lbxUserOnline.Items.Add(AUser.Nick); end; thx |
Re: IRC Userliste aktualisieren -> wiedermal...
Das müsste mit OnQuit gehen, also z.B.:
Delphi-Quellcode:
MFG
procedure TForm1.IdIRC1Quit(Sender: TObject; AUsers: TIdIRCUsers;
AChannel: TIdIRCChannel); var b:Byte; begin lbxUserOnline.Clear; for b:=0 to IDIRC1.Users.Count-1 do lbxUserOnline.Items.Add(IDIRC1.Users.Items[b].Nick); end; |
Re: IRC Userliste aktualisieren -> wiedermal...
Das hatte ich auch gedacht, aber es funzt nicht, es passiert dann nichts...
|
Re: IRC Userliste aktualisieren -> wiedermal...
ich arbeite noch dran, aber wenn ich es habe bekommt ihr den code...
//EDIT: Ich habs jetzt so gelöst:
Delphi-Quellcode:
procedure TForm1.IdIRC1Names(Sender: TObject; AUsers: TIdIRCUsers;
AChannel: TIdIRCChannel); var b:Byte; begin for b:=1 to IDIRC1.Users.Count-1 do lbxUserOnline.Items.Add(IDIRC1.Users.Items[b-1].Nick); end; procedure TForm1.IdIRC1Join(Sender: TObject; AUser: TIdIRCUser; AChannel: TIdIRCChannel); begin lbxUserOnline.Items.Add(AUser.Nick); end; procedure TForm1.IdIRC1Quit(Sender: TObject; AUser: TIdIRCUser); var b:Byte; begin for b:=0 to lbxUserOnline.Items.Count-1 do If(pos(AUser.Nick,lbxUserOnline.Items[b]))<>0 then begin lbxUserOnline.Items.Delete(b); exit; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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