Autor Beitrag
darktrym
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Fr 04.06.04 15:55 
Leider finde ich keine Erläuerungen zu IDIRC(Indy Komponente) weder sind Demos vorhanden noch bei google ein BSP-Prog zu finden.Was macht die Proz. raw(), wie sende ich private Nachrichten an einen User, wie kann ich irc befehle nutzen im chat(sendcmd?), wie aktualisiere ich meine Chatmitgliedsliste? Wie kann kann ich so nette Farben im Titelchannel erzeugen?

So das wars fürs erste.
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Mi 16.06.04 22:36 
Zitat:
Was macht die Proz. raw()

raw daten senden ... schau dir mal die mirc/raw hilfe an gibts beispiele...

Zitat:
wie sende ich private Nachrichten an einen User

privmsg

Zitat:
Wie kann kann ich so nette Farben im Titelchannel erzeugen?

#3 farbe,hintergrund...

so aus dem stehgreif ... kann dir aber gerne en paar bsp programme raussuchen, da es schon was länger her ist dass ich damit was gemacht hab...

grüsse

_________________
hans bist du das ?
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 14.05.06 19:16 
user profile iconinselberg hat folgendes geschrieben:

...
so aus dem stehgreif ... kann dir aber gerne en paar bsp programme raussuchen, da es schon was länger her ist dass ich damit was gemacht hab...

grüsse

entschuldigung, dass ich diesen alten Thread wieder rauskrame..aber ich habe keinerlei Beispiele zu IRC mit Indy gefunden...vllt kann jemand helfen? :(
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 15.05.06 19:46 
Komme einfach nicht weiter...kann nicht mal einen channel joinen...was ist hier falsch?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
    IdIRC1.Host := 'de.quakenet.org';
    IdIRC1.Port := 6667;
    IdIRC1.Username := 'blub';
    IdIRC1.Realname := 'blub bla';
    IdIRC1.Nick := 'blubblub';

    IdIRC1.Connect(3000);
...
procedure TToolForm.IdIRC1Connected(Sender: TObject);
begin
  IdIRC1.Join('#channel');
end;

Aber irgendwie habe ich das gefühl, er connected nichtmal?! Obwohl IdIRC1.Connected true zurückgibt?
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mi 21.06.06 17:00 
pls help :( habe immer noch das problem und finde nix bei google...
*push*
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 21.06.06 18:14 
schreib den Joi mal nicht in das OnConnet Event rein, sondern drekt nach dem Connect Befehl.
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 23.06.06 14:01 
ahh ok vielen Dank, geht jetzt!!!

Ein Beispiel wäre trotzdem nicht schlecht, für PMs, Nachrichten senden, empfangen etc...
Da hat niemand was?
Damian
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 20.09.06 19:50 
hier ist mal meine kleine unfähige IRC client ;)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdIRC;

type
  TForm1 = class(TForm)
    IdIRC1: TIdIRC;
    Memo1: TMemo;
    Timer1: TTimer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
idIRC1.Connect();
timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
memo1.Lines.Add(idIRC1.ReadLn() );
end;

end.




Weiß einer vll was dort falsch ist? achja die connect daten gebe ich in visual ein

Moderiert von user profile iconmatze: Delphi-Tags hinzugefügt
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mi 20.09.06 20:23 
Du musst vllt noch einem Channel joinen?

ausblenden Delphi-Quelltext
1:
IdIRC1.Raw('JOIN #test');					


Kann auch am Server liegen (je nachdem wohin du connectest), lass dir einfach mal die IRC nachrichten ausgeben...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TToolForm.IdIRC1Raw(Sender: TObject; AUser: TIdIRCUser; ACommand,
  AContent: Stringvar Suppress: Boolean);
begin
  Memo2.Lines.add('[RAW]: ' + AContent);
end;

procedure TToolForm.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
  ACmdCode: Integer; ACommand, AContent: String);
begin
    Memo2.Lines.Add('[System]'+AContent);
end;

procedure TToolForm.IdIRC1SocketError(Sender: TObject; ASocket,
  AMsg: String);
begin
    Memo2.Lines.Add('[SocketError]'+AMsg);
end;


Wenn du willst kann ich dir auch mal ein IRC-Chat-Beispielprogramm schicken.
Damian
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 26.10.06 17:59 
Jah also bei manchen servern geht es. Bei manche wieder nicht ^^. Bin momentan unter linux, wenn ich wieder unter windows bin, denn probier ich das mal aus. Jah schick mir mal ein IRC beispiel programm. damian@elsw.de
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 26.10.06 22:21 
Ich habs hochgeladen. Du findest das Beispiel hier.
Damian
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 27.10.06 00:58 
Danke
Bonf
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 05.01.07 18:06 
Hallo __X__,

Ich habe ein Problem mit den Befehlen:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure IdIRC1Status(ASender: TObject; const AStatus: TIdStatus;
      const AStatusText: String);
procedure IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
      ACmdCode: Integer; ACommand, AContent: String);
procedure IdIRC1SocketError(Sender: TObject; ASocket, AMsg: String);


unter "
ausblenden Delphi-Quelltext
1:
type					
"

Also erstens verstehe ich nicht richtig wie du daraufkommts, ich meine idIRClStatus und dann all die Parameter, wie kanns du das so dahinschreiben, das muss du doch irgendwo herhaben?
normalerweise kommen solche procedures ja dahin, wenn man einen doppelclick auf ein object macht, aber auf welches objekt würde dies sich dann besziehen?


Ganz zum Schluss in deinem Program, da schreibst du folgendes:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TToolForm.IdIRC1Status(ASender: TObject;
  const AStatus: TIdStatus; const AStatusText: String);
begin
  Memo2.Lines.Add('[Status]'+AStatusText);
end;

procedure TToolForm.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
  ACmdCode: Integer; ACommand, AContent: String);
begin
    Memo2.Lines.Add('[System]'+AContent);
end;

procedure TToolForm.IdIRC1SocketError(Sender: TObject; ASocket,
  AMsg: String);
begin
    Memo2.Lines.Add('[SocketError]'+AMsg);
end;


Da sagst du ja dann was die verschiedene Procedures machen sollen, also
zb. Memo2.Lines.Add usw.

das verstehe ich. Aber nicht wie du
ausblenden Delphi-Quelltext
1:
2:
TToolForm.IdIRC1SocketError(Sender: TObject; ASocket,
  AMsg: String);
schreiben kannst.


Zweitens,  AUser: TIdIRCUser, in den procedures kennt mien delphi nicht, also er sagt immer:
Identifier not declared: 'TIdIRCUser'.
Bei TIdIRCChannel macht er das auch.

Ich benutze Delphi 2005.


Vielen Dank mal im Voraus.
mfg

Moderiert von user profile iconraziel: I- durch Delphi-Tags ersetzt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 05.01.07 18:22 
Erstmal :welcome: hier im Forum!

Erst einmal was allgemeines:
Damit der Quelltext korrekt dargestellt wird, benutze bitte die Delphi-Tags!
Hier steht wie das geht:
www.delphi-forum.de/...ml&sub=,19,27,32
Die musst du natürlich nicht selbst tippen, du musst nur über dem Eingabefeld auf Bereiche und in diesem Fall dann auf das Plus hinter Delphi einmal vor und einmal nach dem Code schreiben klicken. Mehr dazu hier:
www.delphi-forum.de/...ml&sub=,19,27,32
Mit dem mittleren Knopf rechts oben über deinem Beitrag kannst du das auch noch nachträglich ändern.

Zum Thema: Ich nehme an, die Methoden kommen von der Seite Ereignisse im Objektinspektor... Dort musst du nur doppelt auf die entsprechende Zeile klicken.

Wo TIdIRCUser deklariert ist, kann ich dir aber nicht sagen, da ich die Komponente nicht kenne.
Bonf
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 06.01.07 19:07 
Hallo jaenicke.

Danke für die schnelle Antwort.
Ich werde in Zukunft immer versuchen die richitgen codes zu nehmen, damit alles anständig dargestellt wird.

Also zum Thema, In der Seite "Ereignisse" stehen für den TIdIRC nur Events wie:
Onaway
OnBanList ..

und ein doppelclick funtioniert da nicht.

Also das Projekt könnt ihr euch hier herunterladen.

Aber dies ist das von __X__ , aber die Fragen bleiben die Selben :)

Danke.
MFG
Bonf
__X__
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 06.01.07 19:19 
nur auf die schnelle:
hast du indy überhaupt korrekt installiert?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 06.01.07 19:30 
user profile icon__X__ hat folgendes geschrieben:
nur auf die schnelle:
hast du indy überhaupt korrekt installiert?

Sonst hätte er ja die Komponente nicht im Objektinspektor... :roll:

user profile iconBonf hat folgendes geschrieben:
Also zum Thema, In der Seite "Ereignisse" stehen für den TIdIRC nur Events wie:
Onaway
OnBanList ..

und ein doppelclick funtioniert da nicht.

Du musst rechts daneben auf das leere Eingabefeld (die ComboBox) doppelklicken... Dann landest du im Quelltext, wo du zu dem Ereignis die entsprechende Ereignisbehandlung schreiben kannst.
Bonf
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 09.01.07 23:20 
An jaenicke,

jaenicke hat folgendes geschrieben:
Du musst rechts daneben auf das leere Eingabefeld (die ComboBox) doppelklicken... Dann landest du im Quelltext, wo du zu dem Ereignis die entsprechende Ereignisbehandlung schreiben kannst.


Ok, das wusste ich nicht, danke jetzt ist das schon klarer. :D

Aber da merke ich, dass
IdIRC1Status
vorhanden, ist, ich kann also ein Doppelclick rechts daneben machen und dann wird eine Procedure erstellt aber ich kann nirgendwo
IdIRC1System
IdIRC1SocketError
finden. Kann es sein, dass die im Objektinspector die Events anders heißen wie nachher im Quellcode, weil im Objektinspektor steht ja auch immer "On"Status und "On"Connect, obwohl nachher nur noch IdIRC1Status da steht.
Vielleicht heißen die beiden Events
IdIRC1System
IdIRC1SocketError
ja dort ganz anders, denn OnSystem und OnSocketError finde ich nicht :( :?:


Und zu meiner zweiten Frage
Bonf hat folgendes geschrieben:
Zweitens, AUser: TIdIRCUser, in den procedures kennt mien delphi nicht, also er sagt immer:
Identifier not declared: 'TIdIRCUser'.
Bei TIdIRCChannel macht er das auch.


hast du da eine Idee?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 09.01.07 23:24 
Ok, ich seh mir die Komponente mal selbst an...

Was die andere Frage angeht: naja, das wird in einer Unit deklariert sein, die nicht in deiner uses steht. Aber das weiß ich genauer, wenn ich mir das mal angesehen habe...
Bonf
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 09.01.07 23:33 
Vielen Dank, wirklich nett, dass du mir so viel dabei helfst.

MFG
Bonf