Autor |
Beitrag |
darktrym
Beiträge: 20
|
Verfasst: 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
Beiträge: 458
|
Verfasst: 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
|
Verfasst: So 14.05.06 19:16
inselberg 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
|
Verfasst: Mo 15.05.06 19:46
Komme einfach nicht weiter...kann nicht mal einen channel joinen...was ist hier falsch?
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
|
Verfasst: Mi 21.06.06 17:00
pls help habe immer noch das problem und finde nix bei google...
*push*
|
|
matze
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: 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
|
Verfasst: 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
|
Verfasst: Mi 20.09.06 19:50
hier ist mal meine kleine unfähige IRC client
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 public 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 matze: Delphi-Tags hinzugefügt
|
|
__X__
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 20.09.06 20:23
Du musst vllt noch einem Channel joinen?
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...
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: String; var 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
|
Verfasst: 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
|
Verfasst: Do 26.10.06 22:21
Ich habs hochgeladen. Du findest das Beispiel hier.
|
|
Damian
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 27.10.06 00:58
|
|
Bonf
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 05.01.07 18:06
Hallo __X__,
Ich habe ein Problem mit den Befehlen:
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 " Delphi-Quelltext "
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:
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 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 raziel: I- durch Delphi-Tags ersetzt
|
|
jaenicke
Beiträge: 19284
Erhaltene Danke: 1742
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 05.01.07 18:22
Erstmal 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
|
Verfasst: 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
|
Verfasst: Sa 06.01.07 19:19
nur auf die schnelle:
hast du indy überhaupt korrekt installiert?
|
|
jaenicke
Beiträge: 19284
Erhaltene Danke: 1742
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 06.01.07 19:30
__X__ hat folgendes geschrieben: | nur auf die schnelle:
hast du indy überhaupt korrekt installiert? |
Sonst hätte er ja die Komponente nicht im Objektinspektor...
Bonf 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
|
Verfasst: 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.
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
Beiträge: 19284
Erhaltene Danke: 1742
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
|
Verfasst: Di 09.01.07 23:33
Vielen Dank, wirklich nett, dass du mir so viel dabei helfst.
MFG
Bonf
|
|