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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 619
    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 619
    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
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 69
    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 619
    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 619
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 69
    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

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 619
    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 619
    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

  7. #7
    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 ... ?

  8. #8
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 541
    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 541
    Billets dans le blog
    10
    Par défaut
    J'utilise une petite base SQLLite avec un champ BLOB Image

+ 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