Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi (IdIRC) Nachrichten des aktuellen Channels erhalten ? (https://www.delphipraxis.net/46284-idirc-nachrichten-des-aktuellen-channels-erhalten.html)

Äfan 22. Mai 2005 15:58

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Na dann geht aber nix mehr :cry:

Ich geb dir mal den ganzen code, sonst wird das glaube ich nix... Ahja das mit der userliste geht auch net :D...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
IdIRC1.Nick := 'Testuser';
IdIRC1.Host := 'irc.*****.com';
IdIRC1.Port := 6667;  
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IdIRC1.Connect();
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdIRC1.Join('#test');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  IdIRC1.Say('#test',Edit1.Text);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  IdIRC1.Quit('Haut mal ab');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 idirc1.Disconnect;
end;



procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel; Content: String);
begin
  RichEdit1.Lines.Add('[' + AUser.Nick + ']: ' + Content);
end;


procedure TForm1.IdIRC1Send(Sender: TObject; ACommand: String);
begin
  RichEdit1.Lines.Add(ACommand);
end;



procedure TForm1.IdIRC1Join(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
var
 i:integer;
begin
  for i := 0 to IdIRC1.Users.Count do
   begin
   ListBox1.Items.Add(AUser.Nick);
  end;
end;

procedure TForm1.IdIRC1Receive(Sender: TObject; ACommand: String);
begin
  RichEdit1.Lines.Add(Acommand)
end;

Matze 22. Mai 2005 16:03

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Wenn du diese Zeile entfernst

Delphi-Quellcode:
RichEdit1.Lines.Add(Acommand)
und neu kompilierst, sollte dies ganze Proedur entfernt werden. Sie hat keinen Einfluss auf das eigentliche chatten.

malo 22. Mai 2005 16:03

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Zitat:

Zitat von Äfan
Na dann geht aber nix mehr :cry:

Ich geb dir mal den ganzen code, sonst wird das glaube ich nix... Ahja das mit der userliste geht auch net :D...

Delphi-Quellcode:
procedure TForm1.IdIRC1Message(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel; Content: String);
begin
  RichEdit1.Lines.Add('[' + AUser.Nick + ']: ' + Content);
end;

procedure TForm1.IdIRC1Receive(Sender: TObject; ACommand: String);
begin
  RichEdit1.Lines.Add(Acommand) //das wegmachen, hier ist der "Fehler"
end;

Fällt dir was auf? Die zweite Prozedur schickt diese "seltsamen Nachrichten" an dein Richedit. Einfach die mit Kommentaren markierte Zeile entfernen.

Äfan 22. Mai 2005 16:52

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Ok funktioniert einwandfrei, bloß hab ich noch fragen:

1. Wie zeige ich jetzt den willkommenstext des server ?
2. Wie mache ich das mit den Formatierungen des Chats, also wenn ich nen text im chat farbig oder fett mache, dass dies auch so in meinem Chat erscheint ? Müsste ja gehen, habe ja ne richedit.
3. Wie mache ich die Userliste ? Mein versuch steht ja da oben im code.

Airblader 22. Mai 2005 16:59

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Delphi-Quellcode:
procedure TForm1.IdIRC1Join(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
var
i:integer;
begin
  for i := 0 to IdIRC1.Users.Count do
   begin
   ListBox1.Items.Add(AUser.Nick);
  end;
end;
Ich kenne die IdIRC Kompo zwar nicht auswendig, aber ich vermute, es muss mehr in dem Stil sein:

Delphi-Quellcode:
...
ListBox1.Items.Add(IdIRC1.Users[i].Nick);
...
Andernfalls addest du ja ständig den selben Namen

air

Äfan 22. Mai 2005 17:37

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Ne, geht net :(

Die Muhkuh 22. Mai 2005 17:47

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Zitat:

Zitat von Äfan
Ne, geht net :(

Mein Auto fährt auch nicht...


Was geht nicht? Fehlermeldung?

malo 22. Mai 2005 17:56

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Mal ganz davon ab, dass Spider recht hat, solltest du jedoch für jede Frage einen neuen Thread eröffnen. ;)

Äfan 22. Mai 2005 17:57

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Eine seite davor steht was ich will :zwinker: und was nicht geht is das:

Zitat:

Zitat von Airblader
Delphi-Quellcode:
procedure TForm1.IdIRC1Join(Sender: TObject; AUser: TIdIRCUser;
  AChannel: TIdIRCChannel);
var
i:integer;
begin
  for i := 0 to IdIRC1.Users.Count do
   begin
   ListBox1.Items.Add(AUser.Nick);
  end;
end;
Ich kenne die IdIRC Kompo zwar nicht auswendig, aber ich vermute, es muss mehr in dem Stil sein:

Delphi-Quellcode:
...
ListBox1.Items.Add(IdIRC1.Users[i].Nick);
...
Andernfalls addest du ja ständig den selben Namen

air


Spoon 22. Mai 2005 19:08

Re: (IdIRC) Nachrichten des aktuellen Channels erhalten ?
 
Um genau zu sein ist es:

Delphi-Quellcode:
ListBox1.Items.Add(IdIRC1.Users.Items[i].Nick);

MfG


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

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