Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#1

Graphviz - manuell Positionieren

  Alt 10. Jun 2021, 11:41
Moin,

Um einen besseren Überblick zu bekommen, wollte ich mir mal Etwas graphisch darstellen lassen,
und hatte mir Graphviz dafür gekommen.

* Vielleich kennt wer Alternativen? (manuell in einem graphischem Programm (MSOffice/LibreOffice/usw.) wollte ich nicht machen.
* Aktuell sind die Abhängigkeiten manuell zusammengeschrieben, aber diese DOT-Datei könnte ich mir auch irgendwie aus dem Quellcode generieren lassen.
** also etwas Anderes als Graphviz
** oder eine andere/bessere Layout-Engine für Graphviz
** und vielleicht auch einen visuellen Editor, um die Ausgabe vom DOT/Graphviz noch manuell etwas anpassen zu können (die Anpassungen sollten aber speicherbar sein, um später das nach Änderungen wieder zu haben)

* GRÜN ist die aktuelle Erstellungs-Reihenfolge im FinalBuilder und er Delphi-Projektgruppe
* ROT die Abhängigkeiten der BPLs (Einiges in der DOT auskommentiert und die DLLs fehlen noch)
* BLAU die Erweiterungen nur in der DelphiIDE (nicht im Compilat)



Wenn diese Konsolenprogramme garkeine Ausgabedatei erstellen, dann geben sie manchmal keine Fehlermeldung aus. (oftmals ja, aber manchmal auch nicht)
Aber da konnte ich bisher meistens in einem Online-Editor (z.B. edotor.net) die Fehlermeldung bekommen.

Ungerichtet und gerichtet gleichzeitig geht nicht? (z.B. die ungerichteten Pfade bei der Positionierung ignorieren)
* digraph { A -> B } = nur gerichtet
* graph { A -- B } = nur ungerichtet
* digraph { A -> B; A -- C } oder digraph { A -> B; A -> C [arrowType=none] } ** arrowtype=none soll eigentlich gehn, aber der Pfeil bleibt immer da und es hat gravierenden Einfluss auf die Ausrichtung/Positionierung
* OK, eigentlich ist alles gerichtet, aber ich will "falsch" Verlinkungen möglich haben, bzw. dass möglichst nur die "aktuelle" Compilierung Einfluss auf die Sortierung/Positionierung hat.

Und mit der automatischen Positionierung komm ich auch nicht richtig klar.
* das ist meistens total chaotisch und extrem weit verteilt, so dass man fast nichts sieht
** obwohl es eine Erstellungrreihenfolge gibt und auch wenn ich nur den Compile-Graph einbinde, dann sind die innerhalb der Cluster wahllos gemischt
*** FDP ist wahllos kreuz und quer
*** OSAGE ist schwachsinnig nach Größe (Textlänge) sortiert
*** DOT alles nebeneinander, aber nur solange die meißten (eigentich) ungerichteten Abhängigkeiten nicht mit drin sind

Teilweise soll es auch manuell gehen (zumindestens im FDP)
* aber das funktioniert nicht, trotz [pos="x,y!"]
* ich kann so nur "bedingt" innerhalb eines Clusters positionieren (bei FDP klappt das nur in X-Richtung, innerhalb eines Clusters, der Rest ist durcheinander und Y wird fast vollständig ignoriert)
** das extrem umständlich manuell im Text die Position setzen, macht keinen Spaß (hab noch keinen Visuellen DOT-Editor gefunden, wo man auch mit Maus verschieben kann ... andere suchen da schon seit über 5 Jahren danach, laut Google)
* auch mit { rank=same; A; B; C } hab ich keine brauchbaren Ergebnisse hinbekommen
Angehängte Dateien
Dateityp: zip Graphviz DOT+SVGs.zip (81,8 KB, 3x aufgerufen)
Dateityp: zip Graphviz nurErstellung.zip (131,6 KB, 1x aufgerufen)
Dateityp: zip Graphviz PNGs.zip (4,52 MB, 4x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat