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 :

comment faire un organigramme avec delphi


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 80
    Points
    80
    Par défaut comment faire un organigramme avec delphi
    Bonjour à tous
    j'ai une base de donnée constitué de deux tables ASCENDANT et DESCENDANT.un ascendant pouvant avoir plusieurs descendants.
    le problème est que je veux faire graphiquement un organigramme hiérarchique et lui fournir les données provenant de ma base.
    j'ai pensé à TCHART mais il ne me donne que des histogramme (sauf si je ne l'utilise pas correctement.).
    merci de me donner des pistes.

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Bonjour!

    je pense que des composants tiers devraient exister même si j'ai jamais cherché. seulement que mon idée va vers l'utilisation de MSWord puisqu'il dispose d'un composant organigramme dans son menu insertion. Faut trouver le moyen de le récupérer et de travailler avec.

    Bonne chance.

  3. #3
    Membre averti
    Avatar de Félix Guillemot
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 149
    Points : 386
    Points
    386
    Par défaut
    Citation Envoyé par bambi98 Voir le message
    Bonjour à tous
    j'ai une base de donnée constitué de deux tables ASCENDANT et DESCENDANT.un ascendant pouvant avoir plusieurs descendants.
    le problème est que je veux faire graphiquement un organigramme hiérarchique et lui fournir les données provenant de ma base.
    j'ai pensé à TCHART mais il ne me donne que des histogramme (sauf si je ne l'utilise pas correctement.).
    merci de me donner des pistes.

    Bonjour,

    Ce n'est pas comme ça qu'il faut procéder car le descendant d'un individu est l'ascendant d'un autre, etc.
    C'est un problème de conception que tu as.
    Il faut faire ce que l'on appelle une table auto-référencée.
    Exemple :

    Table TBArbreGenealogique

    champ1 : PKINDIVIDU
    champ2 : FKINDIVIDU
    champ3 : NOMINDIVIDU

    le champ FKINDIVIDU (FK comme foreign key) référence le champ PKINDIVIDU (Pk comme primary key)

    Les individus qui sontà la racine de l'arbre ont un PK et un FK = -1

    Imaginons ROGER (sans ascendant), l'ancêtre de LUCIEN :

    Roger :
    PKINDIVIDU = 12
    FKINDIVIDU = -1
    NOMINDIVIDU = "ROGER"

    Lucien

    PKINDIVIDU = 45
    FKINDIVIDU = 12
    NOMINDIVIDU = "LUCIEN"

    Une fois que cette tableest correctement peuplée, tu peux utiliser un composant de type TTreeView et le remplir par le code (je te laisse le soin de faire l'algo pas très compliqué)

    Si tu ne veux pas te prendre la tête à faire l'algo, il ya des composants de type TreeView excellents qui se branchent sur ton DataSet (qui renvoie les enregistrements de TBArbreGenealogique et où tu indiques le champ parent (PARENTFIELD) où tu mets ton FKINDIVIDU et le champ clé : KEYFIELD où tu mets PKINDIVIDU.
    tu indiques aussi la "RootValue", ici -1
    Ensuite, tu actives ton DataSet et là c'est magique, tu as ton arbre généalogique sous les yeux.
    Ces composants s'appellent par exmple : TdxDBTreeView et TcxDBTreeView pour les plus récents chez l'éditeur DevExpress.

    Bon courage

  4. #4
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Bonjour,

    Je ne pense pas que le problème soit d'ordre SQL ou du design DB mais plutôt le développement du composant visuel proprement dit.

    Hormis le TcxDBTreeView, qui est une représentation arborescente classique, DevExpress propose également un composant DB Aware capable d'afficher des diagrammes hiérarchiques. Son nom: ExpressOrgChart.

    http://www.devexpress.com/Products/VCL/ExOrgChart/

  5. #5
    Membre averti
    Avatar de Félix Guillemot
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 149
    Points : 386
    Points
    386
    Par défaut
    Citation Envoyé par Kaféine Voir le message
    Bonjour,

    Je ne pense pas que le problème soit d'ordre SQL ou du design DB mais plutôt le développement du composant visuel proprement dit.

    Je pense que faire deux tables pour modéliser une hierarchie est une erreur, il faut faire une table auto-référencée. Les composants DevExpress fonctionnent selon ce modèle.

    Hormis le TcxDBTreeView, qui est une représentation arborescente classique, DevExpress propose également un composant DB Aware capable d'afficher des diagrammes hiérarchiques. Son nom: ExpressOrgChart.
    Je ne connais pas celui-ci mais DevExpress c'est vraiment excellent, donc c'est une piste à creuser. Mais à mon avis, le composant répondra d'une conception nickel.

  6. #6
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Citation Envoyé par Félix Guillemot
    Je pense que faire deux tables pour modéliser une hierarchie est une erreur, il faut faire une table auto-référencée
    Désolé j'avais lu en "diagonale". Je suis entièrement d'accord avec toi...

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 80
    Points
    80
    Par défaut
    merci pour vos réponses
    je me mets toutes suite au boulot et je vous rendrez compte

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Points : 80
    Points
    80
    Par défaut
    je viens de télécharger les outils que vous m'avez présenté.Comment vais l'ajouter à ma bibliotethèque VCL?De plus il sont demos est ce que celà ne planteras pas mon EDI à un moment donné?

  9. #9
    Membre averti
    Avatar de Félix Guillemot
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 149
    Points : 386
    Points
    386
    Par défaut
    Citation Envoyé par bambi98 Voir le message
    je viens de télécharger les outils que vous m'avez présenté.Comment vais l'ajouter à ma bibliotethèque VCL?De plus il sont demos est ce que celà ne planteras pas mon EDI à un moment donné?
    S'ils sont en démo, c'est que tu peux les tester, c'est fait pour ça.
    Il n'y a pas une procédure d'install avec les composants devExpress, tu m'étonnes là. Je ne sais pas tout par coeur, je fais avec ce que j'ai aussi.
    Soit tu as des BPL et tu les ajoutes directement : composants --> ajouter des paquets
    ou bien tu as des dpk et il faut les ouvrir dans delphi, les compiler puis les installer (click droit compiler, click droit installer)
    LIS LES NOTES D'INSTALLATION

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/11/2013, 23h03
  2. comment faire un sphère avec une texture ?
    Par fregate dans le forum OpenGL
    Réponses: 1
    Dernier message: 12/09/2005, 03h37
  3. Comment faire un chronomètre en Delphi ou ASM ?
    Par PoOky dans le forum Langage
    Réponses: 8
    Dernier message: 15/06/2005, 20h49
  4. Problème unit CRT pour Faire du Pascal avec Delphi
    Par alexmorel dans le forum Débuter
    Réponses: 4
    Dernier message: 01/06/2004, 17h13
  5. [INDY] comment faire un 'POST' avec idHTTP??
    Par gamez dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/05/2004, 19h02

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