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

Outils Delphi Discussion :

Delphi et Graphviz


Sujet :

Outils Delphi

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut Delphi et Graphviz
    Bonjour

    Je souhaite introduire des images dans un logiciel de généalogie écrit en Delphi. Pour le moment je me sers de TTreeView
    On m'a conseillé Graphviz mais pour ce que j'en ai compris cet outil fonctionne en ligne de commande.
    J'ai bien repéré le tuto https://cyberzoide.developpez.com/graphviz/ mais il fait allusion à un GUI qui ne semble plus distribué dans les versions actuelles et n'aborde pas l'inclusion de Graphicviz dans une appli fenêtrée.

    Donc pour l'utiliser dans une appli interactive il faut générer des commandes contenant un fichier cible, puis ouvrir ce fichier dans un TImage par exemple ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    j'ai eu la curiosité de regarder, pas le tuto pointé mais directement à la source, le projet est toujours bien vivant.

    Bon courage par contre pour comprendre les diverses API des bibliothèques C proposées , d'un autre côté il me semble que la partie Phyton pourrait faire le job (comme Python4Delphi existe pour les versions modernes de Delphi cela pourrait être une piste plus facile à emprunter) mais bon avec D7 je n'y crois pas trop

    Reste toutefois le problèmes des données
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    salut vas lire ça https://kylecordes.com/2003/graphviz-delphi j'étais parti de cette url pour faire des essais

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut
    @papivore, là ça passe par un browser (même si ça date de 22 ans !) l'auteur créé d'abord un GIF (ce qui pour des questions de droits n'est plus très recommandé)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    J'utilise une petite base SQLLite avec un champ BLOB Image

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    @papivore, là ça passe par un browser (même si ça date de 22 ans !) l'auteur créé d'abord un GIF (ce qui pour des questions de droits n'est plus très recommandé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    procedure TForm4.RunGraphViz(Sender: TObject);
    var
      gv: TGraphViz;
    begin
      gv := TGraphViz.Create();
      try
        gv.Source.Assign(Memo1.Lines);
        gv.Modes := [gmOutputPNG];
       if gv.Execute then
         OutputImg.Picture.Graphic := gv.Png
       else
         MessageDlg('Erreur dans gv.Execute', mtWarning, [mbOK], 0);
       // OutputImg.Picture.Assign(gv.Png);
      finally
        gv.Free;
      end;
    end;
    il crée un png j'ai pas compris le gif ?? et on met ça dans un timage .à voir aussi https://docwiki.embarcadero.com/RADS...elphi_Compiler

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut
    marrant, moi j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TExampleForm.DrawGraphForData(Data: string);
    var
    Dot: IDot;
    Image: IBinaryImage;
    ImageFileName: string;
    begin
    ImageFileName := 'c:image.gif';
    Dot := CoDOT.Create;
    Image := Dot.ToGIF(Data);
    Image.Save(ImageFileName);
    WebBrowser1.Navigate('file:///C:/image.gif');
    end;
    d'où le GIF
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut
    Merci pour ces pistes mais où sont définis TGraphviz, IDot, coDot ... ?

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    c'est vrai que les auteurs ne fournissent aucune bibliothèque compilée et, comme le tout est en C# cela implique une gymnastique pas piquée des vers

    Donc, pour répondre à la question, le tout se trouve certainement dans ces "futures" bibliothèques.

    Note, pour se faire la main avec les données, il y a un graphviz online

    Si tu ne veux pas te taper ce genre de manipulations, AMHA, avec une version moderne de Delphi (Delphi Community 12) la meilleure solution serait :
    1. Installer Python (c'est assez simple à installer sous window)
    2. Installer graphwiz python devient alors un jeu d'enfant
    3. Côté Delphi , installer python4delphi, voir mes recommandations ici, normalement il doit aussi y avoir la possibilité de faire une installation via Getit .

    Avec une version ancienne :
    Python installé, je ne peux envisager qu'une utilisation de CMD, tu te servirais alors de Python comme une sorte de serveur (avantage par besoin d'Internet, inconvénient Python nécessaire sur le poste)
    L'autre solution, passer par le web pour obtenir l'image (cf.graphwiz online) les composants Indy me semblent nécessaire.

    Ça risque d'être chaud pour la partie données, mais, d'un autre côté, toutes les solutions nécessiteront cette étape.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    installer graphviz https://medium.com/@6unpnp/install-g...1-26a3c4446178 moi je l'ai mis dans C:\Program Files (x86) GraphDrawer.zip teste avec ça ,"c'est brut de fonderie j'avais fais ça pour tester"

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut
    @papyvore, en première impression, c'est sûr, ton lien installe plus vite l'ensemble que mon pas à pas

    en seconde je note qu'il faut quand même python et surtout ajoute un paquet python pydot qui rendra la partie CMD facile
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    @SergioMaster oui c'est vrai qu'avec python on peut avoir des sorties différentes .png .pdf ...etc mais pour démarrer avec graphviz python n'est pas obligatoire

  13. #13
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut
    Bon, merci.

    Je vois que j'ai du "pain sur la planche" et je vais réfléchir à tout çà.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. Réponses: 1
    Dernier message: 13/05/2002, 09h19
  3. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 22h50
  4. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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