IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Indy Gestionnaire d'E/S


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut Indy Gestionnaire d'E/S
    Bonjour,

    Je voulais savoir à quoi servait exactement Indy...

    Et qu'est-ce qu'on peut faire avec...

    J'éspère que quelqu'un pourra m'aider.
    Merci à bientot !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Ouai...

    Merci, mais ça m'aide pas beaucoup... si ce n'est que :

    Indy est une librairie de composants Open Source disponible pour Delphi et Kylix (Linux). C'est un ensemble d'environ 70 objets prenant en charge la majorité des protocoles client et serveur.


    Concretement ça donne quoi???

    Merci !

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par jojo86 Voir le message
    Ouai...

    Merci, mais ça m'aide pas beaucoup... si ce n'est que :

    Indy est une librairie de composants Open Source disponible pour Delphi et Kylix (Linux). C'est un ensemble d'environ 70 objets prenant en charge la majorité des protocoles client et serveur.


    Concretement ça donne quoi???

    Merci !
    C'est pourtant dit : prenant en charge la majorité des protocoles client et serveur
    Donc TCP/IP, POP3, SMTP, Http , NNTP, UDP, etc ....
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Oui Mais ça sert à quoi???

    Sa gère quoi?

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par Rayek Voir le message
    C'est pourtant dit : prenant en charge la majorité des protocoles client et serveur
    Donc TCP/IP, POP3, SMTP, Http , NNTP, UDP, etc ....
    Citation Envoyé par jojo86 Voir le message
    Oui Mais ça sert à quoi???

    Sa gère quoi?
    les protocoles internet/réseau sont un ensemble de règles régissant la communication entre deux ou plusieurs unités réseau (ton PC avec un serveur Web, ton PC avec un autre PC sur internet ou même dans ton réseau local).
    il existe beaucoup beaucoup beaucoup de protocoles comme ça. les composant indy encapsulent quelques uns de ces protocoles, les plus utilisés je crois bien.
    pour le rôle de chaque protocole:
    TCP:assure le transport des datagrammes au niveau de la couche 4 OSI.
    IP:assure la délivrance des paquets de données au niveau de la couche 3 OSI.
    POP3:permet la lecture des emails sur un serveur de messagerie.
    SMTP:permet l'envoi des emails vers un serveur de messagerie.
    UDP:homologue de TCP, mais n'assure aucune vérification.
    ...

    voilà j'espère ne pas trop m'être trompé.

    voir pour plus de précisions. comme tu le verras le sujet est assez vaste.

  7. #7
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Merci, mais je sais ce que c'est qu'un protocol etc etc...

    Ce que je veux savoir, c'est :" dans quel but utiliser indy?".

    En faite, je suis en train de developper un programme de gestion d'appareil, qui peut s'installer sur plusieurs pc, j'ai donc créer un système qui permet d'afficher "Nouveau evenement" lorsqu'il y a des nouveaux evenements sur la Bdd (Serveur Firebird) afin que sur chaque pc, on voient à tout moment les nouvelles modifications.
    En faite, ce que j'ai fais, pour controler les nouveaux enregistrement sur la bdd c'est tout simple :

    Si je suis amené à ajouter un enregistrement sur la bdd, je l'ajoute aussi dans un fichier Ini (ainsi que plusieurs autres paramètres bien précis...). Ensuite, j'utilise un Timer qui viendra comprarer le nombre d'enregistrement de la bdd et ceux de mon fichier Ini... de cette facon, chaque pc verra les nouveaux evenements.

    Je voulais juste savoir si Indy pouvait faire la même chose...

    Merci !

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Euh, selon c'est toute ta méthode qui est à revoir car là tu t'embêtes vraiment pour rien. Pour ma part j'aurai résolu le problème bien plus simplement : dans ta table tu ajoutes une date de création renseignée au moment de la création avec la date en cours. Ensuite sur chacun de tes PC lors du premier chargement tu détermines quelle est la dernière date d'ajout. Et ensuite, à intervalles réguliers, tu lance une requête qui recherche tout les nouveaux éléments insérés après ta date de référence. Et s'il y a des nouveaux éléments ben tu fais comme actuellement et tu n'oublies pas d'actualiser ta date de dernier ajout.

    Sinon Indy s'utilise généralement quand tu dois implémenter ton propre fonctionnement client-serveur, quand tu dois faire de la gestion de mail, connexion FTP, HTTP, HTTPs, etc...
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par jojo86 Voir le message
    Ce que je veux savoir, c'est :" dans quel but utiliser indy?".
    Pour faire discuter via TCP/IP un ou plisuers programme (par exemple un tchats).
    Pour faire des logiciels de mails (Gérer les protocoles permettant d'envoyé et recevoir les mails)
    Pour faire un client FTP.
    Pour faire des requêtes vers des sites webs.
    Etc...

    Le seul élément intéressant serait plutôt d'avoir un serveur qui va appeler tes logiciels clients afin de leur dire qu'il y a eu une mise à jours d'un des logiciels.
    Cela sera peut être mieux que l'utilisation d'un fichier Ini.

    Dès qu'un logiciel fait un ajout, il le communique au serveur et le serveur renvoi aux autres clients une informations de mise à jours.

    Les composants sont TIdTCPServer et TIdTCPClient
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par jojo86 Voir le message
    En faite, je suis en train de developper un programme de gestion d'appareil, qui peut s'installer sur plusieurs pc, j'ai donc créer un système qui permet d'afficher "Nouveau evenement" lorsqu'il y a des nouveaux evenements sur la Bdd (Serveur Firebird) afin que sur chaque pc, on voient à tout moment les nouvelles modifications.
    Firebird est doté d'un système d'alertes que tu peux envoyer à partir de la BD vers les clients avec la commande POST_EVENT dans les Procédures Stockées et les Triggers.
    regarde un peu cette discussion.

    Citation Envoyé par jojo86 Voir le message
    Je voulais juste savoir si Indy pouvait faire la même chose...
    tu peux aussi faire la mêche chose avec les composants indy. plus précisément, un couple de composants TidUDPClient/TIdUDPServer qui enverra des paquets de diffusion dans le réseau pour signaler les modifications apportées.

  11. #11
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par evarisnea Voir le message
    Firebird est doté d'un système d'alertes que tu peux envoyer à partir de la BD vers les clients avec la commande POST_EVENT dans les Procédures Stockées et les Triggers.
    regarde un peu cette discussion.
    Ok...,
    Mais une fois que le trigger est créer, comment fait-on pour réceptioner l'info??
    Ce que je ne comprend pas, c'est que le trigger lorsqu'il est créer, il restera sur la base, alors à ce moment la, comment faudra-til faire pour Envoyer l'info POST_EVENT???

    Merci de votre aide !

  12. #12
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    dans ta base, pour chaque table tu peux définir des triggers (avant/après insertion/edition/suppression).
    dépendamment de l'action dont tu veux être notifié, tu vas mettre l'instruction POST_EVENT dans l'un de ces triggers, avec un message dépendant de l'action.
    du côté de delphi, en fonction des composants utilisés tu auras un qui gère les EVENTS firebird. pour les composants IBX il s'agit de IBEvents.
    une fois l'évènement déclenché dans la BD, le composant récupère la chaine postée et c'est à toi d'effectuer les traitements conséquents.
    ne lésine pas sur la touche

  13. #13
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    La touche f1 ne fonctionne pas je suis sous vista.


    Je n'arive pas à créer ce trigger avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SET TERM !! ;
    CREATE TRIGGER POST_NEW_ORDER FOR NOMDEMATABLE
    ACTIVE
    AFTER INSERT
    POSITION 0
    AS
    BEGIN
    POST_EVENT ’new_order’;
    END
    !!
    SET TERM ; !!
    Que faut til faire?

    Merci!

  14. #14
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    que se passe t'il ? "je n'arrive pas" n'est pas très explicite.
    déjà qu'utilises tu pour administrer ta base de données ? isql ?
    as tu changé NOMDEMATABLE avec le nom de la table pour laquelle tu désires créer le trigger ?

  15. #15
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    J'ai essayé d'ajouter ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SET TERM !! ;
    CREATE TRIGGER POST_NEW_ORDER FOR NOMDEMATABLE
    ACTIVE
    AFTER INSERT
    POSITION 0
    AS
    BEGIN
    POST_EVENT ’new_order’;
    END
    !!
    SET TERM ; !!
    avec IBEasy+ avec "Outil > SQL Mode Expert".
    Mais j'ai une erreur "Unexepected end of command -line 7, Column 12"...

    Voila j'éspère que ça peut vous en dire plus...

    Merci.

  16. #16
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jojo86 Voir le message
    La touche f1 ne fonctionne pas je suis sous vista.
    Si si c'est possible de faire fonctionner l'aide de Delphi 7 sous Vista, il suffit tout simplement d'installer le WinHlp32.exe qui se trouve sur ici.

    PS pour admins : j'ai l'impression de me répéter souvent sur ce point, peut-être faudrait-il l'intégrer dans la
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  17. #17
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Génial !!

    Merci !

    Pour info, j'ai réussi à créer le trigger, j'ai ajouté sur ma form un IBEvent j'ai ajouter ma bdd dans la propriété Database.

    Sur l'evenement "OnEventAlete" j'ai ajouté un showmessage.

    Mais je n'arrive pas a faire afficher le showmessage, je vais regarder dans l'aide avec F1 !

  18. #18
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Sur mon IBEvent, j'ai aussi ajouté Dans la propriété Events new_order.

    Mais lorsque j'ajoute un enregistrement, rien ne ce produit... Pourtant, je fais bien un "CommitRetaining"...

    Merci de votre aide.

  19. #19
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Je suis toujours bloqué... Si quelqu'un pouvait m'aider...

  20. #20
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Pour ceux qui pourront m'aider, voici une capture d'écran de mon trigger sous IBEasy+
    http://georges86.free.fr/Prog/Trigger.jpg

    Je pense qu'il est bien créer, mais je veux en être sur...

    Car je n'intercepte aucune alerte.

    Merci !

Discussions similaires

  1. Indy - email, html et piece jointe
    Par nut62 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 13/12/2002, 10h25
  2. [VB6] Gestionnaire des tache de windows 2000 avec VB6
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 08h21
  3. Réponses: 3
    Dernier message: 26/07/2002, 23h02
  4. [Kylix] indy sur kylix? pb :-(
    Par NicoLinux dans le forum EDI
    Réponses: 7
    Dernier message: 15/05/2002, 23h32
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo