Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Source als Struktogramm anzeigen (https://www.delphipraxis.net/207709-source-als-struktogramm-anzeigen.html)

DenkDirNix 25. Apr 2021 09:27


Source als Struktogramm anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 3)
Moinsen,

die alten Struktogramm-Editoren sind im IDE-Zeitalter ja (glücklicherweise) aus der Mode gekommen. Als Viewer bei der Quellcode-Analyse fand ich sie aber immer sehr hilfreich. Obwohl der Unterschied zu einem gut formatierten Listing nicht groß erscheint, machen die Linien und insbesondere die if-Struktur (then- und else-Zweig nebeneinander) es für mich spontan verständlicher.

Mit dieser Motivation habe ich meinen Parser dafür ergänzt, eine Unit schnell zu analysieren und nach Nassi-Shneiderman graphisch anzuzeigen. Für Übersichtlichkeit und Handhabbarkeit werden der Interface-Teil und alle Methoden automatisch in SubViews ausgeblendet. Soweit wird keine Zusatzdatei benötigt. Es können aber auch eigene SubViews erstellt und gespeichert werden. Siehe dazu die Hilfe-Datei.

Etwas unbefriedigend ist leider noch die Darstellung von anonymen Prozeduren. Vielleicht sollte man sie erstmal nicht automatisch ausblenden...?

Vielleicht hilft es Euch ja auch mal, z.B. bei der Fehlersuche oder Optimierung.
Es braucht keine Installation und hinterlässt keine ungewünschten Dateien (ini's ggf unter "user\appdata\roaming").

Aktueller Download aus meiner DropBox

TiGü 26. Apr 2021 10:44

AW: Struktogramm - Viewer
 
Schönes Projekt. :thumb:
Was mir noch etwas fehlt sind eine Toolbar, um nicht jedes Mal in die Readme nachschauen zu müssen für die Befehle.
Eine Option, um die verwendete Schrift zu ändern wäre noch gut.

DeddyH 26. Apr 2021 11:24

AW: Struktogramm - Viewer
 
Ich will ja nicht meckern, aber nach meiner Erinnerung werden Struktogramme anders dargestellt.

DenkDirNix 26. Apr 2021 17:07

AW: Struktogramm - Viewer
 
Zitat:

Zitat von TiGü (Beitrag 1487866)
Schönes Projekt. :thumb:
Was mir noch etwas fehlt sind eine Toolbar, um nicht jedes Mal in die Readme nachschauen zu müssen für die Befehle.
Eine Option, um die verwendete Schrift zu ändern wäre noch gut.

Vielen Dank für Deine nette Rückmeldung und Vorschläge. Als schnelle Hilfe erstmal:
- Die Readme geht per F1 auf mit ScrollPosition im Bereich "Bedienung".
- Der Dialog zum Font ändern fehlt noch, es geht aber schon manuell direkt in der ini-Datei (Appdata\Roaming\DenkDirNix\Nassi\_Nassi.ini)

DenkDirNix 26. Apr 2021 17:15

AW: Struktogramm - Viewer
 
Zitat:

Zitat von DeddyH (Beitrag 1487870)
Ich will ja nicht meckern, aber nach meiner Erinnerung werden Struktogramme anders dargestellt.

Da hast Du natürlich Recht!
Ich habe mir die künstlerische Freiheit genommen, die Übersichtlichkeit nach meinem Geschmack zu optimieren. Dadurch sind diese beiden Sachen rausgeflogen:

- die schrägen Linien im "if" : finde ich Sub-sub-...optimal
- die case-Zweige nebeneinander: funktionieren bei größerer Anzahl praktisch gar nicht

Ich hoffe, die beiden Herren N. und Sh. sowie natürlich die gesamte DP sind mir nicht böse :-D

DenkDirNix 12. Jun 2021 09:44

AW: Source als Struktogramm anzeigen
 
neue Version:
Funktioniert jetzt, je nach File-Extension, auch für c- und cpp-Source.

Andreas13 12. Jun 2021 11:49

AW: Source als Struktogramm anzeigen
 
Danke für Dein hilfreiches Tool! :thumb:
Eine Kleinigkeit ist mir aufgefallen: Die Tastenkombination <F4> zum Öffnen einer Datei klemmt…
Gruß, Andreas

DenkDirNix 13. Jun 2021 08:36

AW: Source als Struktogramm anzeigen
 
Zitat:

Zitat von Andreas13 (Beitrag 1491028)
Danke für Dein hilfreiches Tool! :thumb:
Eine Kleinigkeit ist mir aufgefallen: Die Tastenkombination <F4> zum Öffnen einer Datei klemmt…
Gruß, Andreas

Danke für Deinen freundlichen Hinweis. Korrigierte Version liegt bereit.

Grundsätzlich würde ich für das Öffnen eher die anderen beiden Möglichkeiten empfehlen:
- Drag&Drop
- Verknüpfung der Extension PAS mit dem Programm


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz