Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi indy irc|topic-edit geräusch-OP (https://www.delphipraxis.net/76665-indy-irc%7Ctopic-edit-geraeusch-op.html)

Matrix Scripter 7. Sep 2006 19:35


indy irc|topic-edit geräusch-OP
 
Hi!
Ich schreib auch gerade nen kleinen irc client mit hilfe der indys..

Mein Problem ist, dass das Topic nicht angezeigt wird. und ich hab ka wieso :/
Hier der Code:
Delphi-Quellcode:
procedure TForm1.IdIRCJoined(Sender: TObject; AChannel: TIdIRCChannel);
begin
  MeChat.Lines.Add('Sie haben ' + Channel + ' betreten');
  if (AChannel.Topic<>'') then
  begin
    MeChat.Lines.Add('Thema ist: '+AChannel.Topic);
    EdtTopic.Text := AChannel.Topic;
  end;
end;
Außerdem hab ich nen Edit das sobald auf enter gedrückt wird den Text der drin ist abschickt. Jedoch kommt da immer noch so ein komisches "beep". Kann man das irgendwie abstellen?

Und außerdem wird nicht angezeigt ob ein User OP/voice ist:
Delphi-Quellcode:
procedure TForm1.IdIRCNames(Sender: TObject; AUsers: TIdIRCUsers;
  AChannel: TIdIRCChannel);
var i : integer;
begin
  for i := 0 to idIRC.Users.Count-1 do
  begin
    if idIRC.IsOp(idIRC.Users.Items[i].Nick) then
      LBNicks.Items.Add('@'+idIRC.Users.Items[i].Nick)
    else
    begin
      if idIRC.IsVoice(idIRC.Users.Items[i].Nick)then
        LBNicks.Items.Add('+'+idIRC.Users.Items[i].Nick)
      else
        LBNicks.Items.Add(idIRC.Users.Items[i].Nick);
    end;
  end;
end;
(Benutze indy9, Delphi 2005 Personal)

Hoffe mir kann jemand helfen
mfG MatrixScripter

marabu 8. Sep 2006 06:10

Re: indy irc|topic-edit geräusch-OP
 
Guten Morgen.

Wenn kein Topic angezeigt wird, dann vielleicht weil du vorher keines gesetzt (SetTopic) hast?

Der Ton beim Drücken der Enter-Taste rührt davon her, dass die Standardbehandlung mit der Taste nichts anzufangen wusste. Das hier sollte helfen:

Delphi-Quellcode:
procedure TDemoForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    ShowMessage(Edit.Text);
    // Keine weitere Bearbeitung von #13
    Key := #0;
  end;
end;
IsOp() und IsVoice() schauen sich das erste Zeichen im Nick an - du würdest mit deinem Code dem Nick ein zusätzliches Kennzeichen voranstellen.

Grüße vom marabu

Matrix Scripter 8. Sep 2006 15:13

Re: indy irc|topic-edit geräusch-OP
 
Hi marabu,
doch der Channel hat schon ein Topic.
Und das mit isOP und isVoice funktioniert ja eben nicht so wie ich will. in meiner Liste wird niemand mit @ oder + angezeigt. Und ich weiss nicht warum...

marabu 9. Sep 2006 08:48

Re: indy irc|topic-edit geräusch-OP
 
Ich kann dir leider nur Hilfe zur Selbsthilfe geben.

Zitat:

Zitat von Matrix Scripter
doch der Channel hat schon ein Topic.

Was steht denn in AChannel.Topic, wenn du einen Haltepunkt setzt und den Wert der Eigenschaft untersuchst?

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 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