begin process at 2012 02 05 01:04:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > CLIENT IRC (TEST) UTILISANT LE COMPOSANT IRC

CLIENT IRC (TEST) UTILISANT LE COMPOSANT IRC


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :7 846 / 11 143

Auteur : ZED

Ecrire un message privé
Commentaire sur cette source (39)
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   


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip TCP PORT MAPPER
Source avec Zip PORT SCANNER
Source avec Zip PCB LAYOUT EDITOR (LES GENS DU DOMAINE RECONNAÎTRONT)
Source avec Zip COMPILATION ET GENERATION DE BYTECODE
Source avec Zip COMPOSANT TDRAWINGBOARD :: VISUALISEZ & ZOOMEZ VOS FONCTIONS...

 Sources de la même categorie

Source avec Zip Source avec une capture PETITE APPLICATION DE TCHAT DANS UN RÉSEAU LOCALE par benimen
Source avec Zip Source avec une capture LOG DE PING POUR SURVEILLER LA QUALITÉ D'UNE CONNECTION par PhilLU
Source avec Zip GET IP AVEC INDY par Gerard
Source avec Zip GCS-FACEBOOK par pinkfloydhighopes
Source avec Zip Source avec une capture PINGNOW ADRESSE IP par mekhmoukhs

Commentaires et avis

Commentaire de fabiin le 16/07/2002 12:01:33

sauf ke y'a pas de zip :)

Commentaire de ZED le 17/07/2002 23:17:45

Mtn Ya ! lol

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 +++

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 !

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

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.

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.

Commentaire de Sylvainlefou le 14/10/2004 21:15:32

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

Commentaire de taye78 le 28/11/2004 18:28:44

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

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 :(

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.

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 !

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 :/

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 :)

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 !

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 :/

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)

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é

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;

Commentaire de coussimac le 19/11/2005 21:01:41

alors personne ?

Commentaire de taye78 le 20/11/2005 18:12:28

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

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

Commentaire de coussimac le 21/11/2005 23:28:32

up ?

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.

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à ?

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.

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

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

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 :)

Commentaire de coussimac le 24/11/2005 05:04:28

g trouvé merci :)

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

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

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 :)

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

Commentaire de coussimac le 01/12/2005 00:44:49

up

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

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

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

Commentaire de makxim le 02/09/2011 20:09:52

comment installer le composant TIRC ? je ne sais pas il provient de quelle librairie ! pouvez vous me dire qu'elle installer ?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,948 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales