begin process at 2008 05 16 06:44:12
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLIENT IRC (TEST) UTILISANT LE COMPOSANT IRC


Information sur la source

Catégorie :Réseau & Internet Niveau : Expert Date de création : 16/07/2002 Date de mise à jour : 17/07/2002 22:35:50 Vu / téléchargé: 5 817 / 11 044

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

Description

Ce ci est un client IRC utilisant le composant IRC qui apparait sur cette page même.
je l'ai developpé en tant que démo. car g constaté que bcp d'utilisateurs (pour ne pas dire tous) ne savent pas en faire l'usage.
NB: YA PAS LE DCC, ET YA UN BUG POUR QUITTER LE CHAN.
C REPARABLE ...
Les critiques sont les bienvenues.  

Source

  • Tout est dans le ZIP
Tout est dans le ZIP   
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de fabiin le 16/07/2002 12:01:33

    sauf ke y'a pas de zip :)

  • signaler à un administrateur
    Commentaire de ZED le 17/07/2002 23:17:45

    Mtn Ya ! lol

  • signaler à un administrateur
    Commentaire de LefortLudovic le 14/08/2002 19:48:21

    Dommage que ton code n'est pas expliqué ...
    Quelques remarques aurait été apprecié par les débutant ...

    Peut eu en quelque mot me donné les ligne utile a se connecté a un serveur et a récuperer le MOTD

    Merci d'avance +++

  • signaler à un administrateur
    Commentaire de ZED le 26/08/2002 02:30:58

    Le MOTD est recuperable ds l'evennement RAW.
    il correspond au numeric 372. la fin du motd correspond au numerique 376.
    pour les autres numeriques il faut chercher la page officielle des serveurs Undernet, DALnet, EFnet. Il y a plein de choses à voir.
    Bonne programmation !

  • signaler à un administrateur
    Commentaire de condor33 le 16/11/2002 17:42:43

    Merci pour faire partager vos source. Ils m'ont bien aidé pour réaliser un client Chat.
    Petite question tout de même, le protocol utilisé pour les DCC est le FTP ? et un composent classique ftp ferait l'affaire?

    Amicalement

  • signaler à un administrateur
    Commentaire de alde le 28/03/2004 17:30:42

    Composant interressant :) Je pense que c'est le plus abouti que j'ai trouvé sur le web :)

    Cependant il manque un petit truc... Si le nick est deja utilisé il n'a pas été prevu de altnick dans ton projet. J'ai rectifié cela.

    Voici le code ajouté :

    ajout
    constante ERR_NICKNAMEINUSE = '433';
    variable FAltNick: String;
    procedure SetAltNick(const Value: String);
    property AltNick: String read FAltNick write SetAltNick;


    procedure TIRC.SetAltNick(const Value: String);
    begin
       FAltNick := Value;
    end;


    puis dans la procedure generateevents ajout d'un test

              if IsNum(P[2]) then
                begin
                  if SameText(FNick, P[3]) then
                    if P[2] = '302' then if P[4] <> '' then FIRCAddress := GetIRCAddr(P[4]);
                    if P[2] = ERR_NICKNAMEINUSE then SetNick(FAltNick); <== ICI

    Alde.

  • signaler à un administrateur
    Commentaire de alde le 28/03/2004 17:30:43

    Composant interressant :) Je pense que c'est le plus abouti que j'ai trouvé sur le web :)

    Cependant il manque un petit truc... Si le nick est deja utilisé il n'a pas été prevu de altnick dans ton projet. J'ai rectifié cela.

    Voici le code ajouté :

    ajout
    constante ERR_NICKNAMEINUSE = '433';
    variable FAltNick: String;
    procedure SetAltNick(const Value: String);
    property AltNick: String read FAltNick write SetAltNick;


    procedure TIRC.SetAltNick(const Value: String);
    begin
       FAltNick := Value;
    end;


    puis dans la procedure generateevents ajout d'un test

              if IsNum(P[2]) then
                begin
                  if SameText(FNick, P[3]) then
                    if P[2] = '302' then if P[4] <> '' then FIRCAddress := GetIRCAddr(P[4]);
                    if P[2] = ERR_NICKNAMEINUSE then SetNick(FAltNick); <== ICI

    Alde.

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 14/10/2004 21:15:32

    Super cette source !
    Just un ptite question : comment fair un whois ?!?
    Merci bonne prog

  • signaler à un administrateur
    Commentaire de taye78 le 28/11/2004 18:28:44

    Sylvainlefou:  irc1.raw('WHOIS ' + pseudo);

  • signaler à un administrateur
    Commentaire de coussimac le 31/10/2005 06:09:24

    salut

    je lis "utilisant le composant IRC qui apparait sur cette page même" mais je n'ai pas trouvé de compo irc ici, qqun peut me donner un lien svp ?

    j'ai testé avant d'arriver ici plusieurs compo irc mais aucun ne semble être compatible avec mon delphi 7

    en lisant le fichier pas d'un d'entre eux j'ai trouvé un qui était bon, mais compatible a delphi 3 et 4 seulement :(

  • signaler à un administrateur
    Commentaire de taye78 le 31/10/2005 15:45:26

    coussimac regarde dans les sources de ZED, il est l'auteur d'un composant IRC très interessant.

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 31/10/2005 17:37:55

    Indy propose également un trés bon composant client IRC, pratique et gratuit : http://www.indyproject.org/ il fait partie des composants Indy.Sockets et existe en versions multiples (Delphi, Borland C++ ....)
    C'est un compasant à essayer si vous cherchez un client IRC !

  • signaler à un administrateur
    Commentaire de coussimac le 31/10/2005 18:16:11

    est ce que c'est de ça que tu me parles ?
    http://www.delphifr.com/code.aspx?ID=11885
    parce qu'il ne s'installe pas sur mon delphi 7 il me semnde d'autre fichier dcu par ex :/
    tu peux m'expliquer la manip ?
    jvais faire aussi un tour du coté indy mais ce que je voulais ctai un compo spécial irc comme celui de zed :/

  • signaler à un administrateur
    Commentaire de coussimac le 31/10/2005 18:29:42

    le compo indy se trouve dans quel onglet ? :/ parce que je n'ai pas trouvé, il s'appel idirc non ?

    en même temps s'il y a une source ça m'interesse :)

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 31/10/2005 19:01:37

    Sur certaines versions de Delphi7 (toutes peutetre), les composants indy (version 8 je croi) sont installés d'origine, dont le client IRC (Onglet "Indy Clients" > "IdIrc").
    Sinon vas faire un tour sur www.developpez.com, il y a des tutoriaux qui expliquent comment installer des commposants, et peutetre méme specifiquement ceux d' Indy.
    Bonne prog à tous !

  • signaler à un administrateur
    Commentaire de coussimac le 31/10/2005 23:31:11

    j'ai trouvé merci, ais j'aimerais un coup de main pour déjà me conecter à un chan

    ou alors s'il y a une source qui utilise ce compo ce serait génial

    je ne comprends pas, ça devrait fonctionner :

    IdIRC1.Nick := 'testtttst';
    IdIRC1.Host := 'irc.betas-online.com';
    IdIRC1.Port := 6667;
    IdIRC1.Connect(-1);
    IdIRC1.Join('delphi');

    procedure TForm1.IdIRC1Connected(Sender: TObject);
    begin
    showmessage('conected');
    IdIRC1.Join('delphi');
    end;

    jai bien le message conected mais le client ne joint jamais le chan delphi :/

  • signaler à un administrateur
    Commentaire de coussimac le 01/11/2005 01:08:52

    jai réussis à joindre un chan, j'avais jsute oublier le #

    mais j'arrive à le joindre qu'en clickant sur un boutton
    jaimerais bien le joindre à la conexion au server

    1/ comment joindre un chan à la conexion au server ?

    [code]
    procedure TForm1.IdIRC1Connect(Sender: TObject);
    begin
    idIRC1.Join(chan);
    end;
    [/code]

    ne fonctionne pas


    mais si je met le code dans un boutton ça fonctionne, c'est trop bizard

    [code]
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    idIRC1.Join(chan);
    end;
    [/code]

    je suis sur d'être connecté car dans le même évènement onconect j'ai mis un messagebox pour tester et je le recevait

    donc question : pourquoi suije obliger de clicker sur le boutton ? (même en simulant le clik, ça ne fonctionne pas; je suis obliger de clicker avec ma souris)

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 01/11/2005 14:31:29

    Le protocole IRC est basé sur une liste de numéros, ayant chacun une signifiquation, voici une liste : http://www.alien.net.au/irc/irc2numerics.html

    Le composant IdIRC les gere trés bien et ils sont récuperables dans l'evenement OnSystem (ou un truc dans le genre).

    Par exemple, pour auto-join un chan, tu le fait lors de l'evenement n° 1 ("welcome").

    if numero = 1 then IdIRC.Join(chan);
    Ici, un "case" est plus approprié

  • signaler à un administrateur
    Commentaire de coussimac le 19/11/2005 05:47:57

    jai essayé tout les évènement et ça n'a pas l'air de focntionner :/
    de plus le lien est down on dirait :s

    procedure TForm1.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
      ACmdCode: Integer; ACommand, AContent: String);
      var
      numero : integer;
    begin
    if numero = 1 then IdIRC1.Join('delphi');
    end;

  • signaler à un administrateur
    Commentaire de coussimac le 19/11/2005 21:01:41

    alors personne ?

  • signaler à un administrateur
    Commentaire de taye78 le 20/11/2005 18:12:28

    peut-être que si t'expliquais clairement ton problème on pourrait t'aider

  • signaler à un administrateur
    Commentaire de coussimac le 21/11/2005 02:30:20

    tu penses que je n'ai pas bien expliqué ? relit mes 1er postes, tu as du les zapper

  • signaler à un administrateur
    Commentaire de coussimac le 21/11/2005 23:28:32

    up ?

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 22/11/2005 07:47:22

    procedure TForm1.IdIRC1System(Sender: TObject; AUser: TIdIRCUser;
      ACmdCode: Integer; ACommand, AContent: String);
    begin
    if ACmdCode= 1 then IdIRC1.Join('#delphi');
    end;

    Les seules variables qu'il faut analyser sont AUser, ACmdCode, ACommand et AContent qui contiennent les informations propres a chaque appel de la fonction 'IdIRC1System'.
    Le lien vers les protocols fonctionne toujours.
    Attention aux noms des channels, ils commencent par un #, en regle générale.

  • signaler à un administrateur
    Commentaire de coussimac le 22/11/2005 23:19:20

    ha ça fonctionne thx !!!

    autre chose : pour parler je fait :

    idIRC1.Say(chan,edit1.text);

    chan est la variable qui contient le chan ou je me trouve et edit1.text est la zone de saisie du texte que j'envois

    ça fonctionne quand le chan n'a pas de mot de passe, mais lorsqu'il est protégé par mot de pass il y a un prob : le passe s'affiche dnas mon message (au début) :s

    comment empécher celà ?

  • signaler à un administrateur
    Commentaire de Sylvainlefou le 23/11/2005 11:52:44

    IdIRC1.Join('#delphi', pass); ou IdIRC1.Join('#delphi ' + pass);
    Sinon tu ne join pas le chan.

  • signaler à un administrateur
    Commentaire de coussimac le 23/11/2005 18:31:25

    Sylvainlefou tu n'as pas compris ma question, le chan j'y suis déjà grace au code d'auto join que tu m'a filé, biensur ma variable chan contient le chan + le pass du genre '#delphi pass'

    le problème est maintenant comment parler ... sur un chan sans pass je parle grace à : idIRC1.Say(chan,edit1.text); // biensur la variable chan = à '#delphi'

    mais lorsqu'il y a un pass, quand je parle le pass s'affiche dnas mon message :s
    biensur la variable chan contient '#delphi pass'

    donc il me faut réussir à parler sans afficher le pass du chan à chaque phrase que je tape :s

  • signaler à un administrateur
    Commentaire de taye78 le 23/11/2005 18:36:47

    pas oblige de mettre le pass dans Chan quand tu passes la variable Chan à idIRC1.Say vu que tu t'es déjà identifiés a l'entrée du salon en passant le pass en argument dans le JOIN

  • signaler à un administrateur
    Commentaire de coussimac le 23/11/2005 20:51:46

    nikel aussi ça marche ! merci beaucoup !

    une dernière chose : j'aimerais faire comme sur msn plus, c'est à dire quand je suis pas là, lorsque quelqu'un tape mon pseudo (dans le général du chan) et bien un message apparait pour dire "je suis abs"

    genre si mon pseudo c'est "moi", si "moi" est tapé dans le général, automatiquement je répondrais "je suis abs"

    merci encore :)

  • signaler à un administrateur
    Commentaire de coussimac le 24/11/2005 05:04:28

    g trouvé merci :)

  • signaler à un administrateur
    Commentaire de coussimac le 24/11/2005 05:38:44

    c'est pas possible d'éditer nos post ? :/
    je m'étais mal exprimé plus haut

    en faite ce que je veux c'est récupérer le texte que me renvois une personne du chan

    l'évènement onmessage récupère le texte du général et aussi celui des conversations privés

    or j'aimerais récupérer le texte du général dans une variable et le texte des message privé dans une autre (selon le pseudo)

    une question que je risque de posé plustard donc autant posé mainetant c'est récupérer la liste des utilisateurs présents sur le chan

  • signaler à un administrateur
    Commentaire de taye78 le 24/11/2005 11:58:48

    On déborde du sujet. Tes questions devraient être posées sur le forum dans un nouveau topic et non pas dans le code source d'un composant IRC concurrent. Qu'en penses-tu

  • signaler à un administrateur
    Commentaire de coussimac le 24/11/2005 18:38:11

    oui tu a raison je vais le faire de suite ...
    je compte sur toi pour me suivre dans le new topic :)

  • signaler à un administrateur
    Commentaire de coussimac le 24/11/2005 20:07:27

    voilà jai posté ici

    http://www.delphifr.com/forum.v2.aspx?ID=606992&post=ok

  • signaler à un administrateur
    Commentaire de coussimac le 01/12/2005 00:44:49

    up

  • signaler à un administrateur
    Commentaire de Globox60 le 15/06/2006 18:17:30

    Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
    Merci d avance

  • signaler à un administrateur
    Commentaire de Globox60 le 15/06/2006 18:17:33

    Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
    Merci d avance

  • signaler à un administrateur
    Commentaire de Globox60 le 15/06/2006 18:17:34

    Bonjour, j ai vu que les composant Indy sont directement sur builder 6.Mais le pb est que je trouve bien le composant serveur IRC mais pas le client. Comment est ce que je pe faire ???
    Merci d avance

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS