Anzahl der compilierten Zeilen eines Projekts

Für Fragen rund um die Ide und zum Debugger
Antworten
Ekkehard
Beiträge: 74
Registriert: So 12. Feb 2023, 12:42
OS, Lazarus, FPC: Windows Lazarus 3.6, FPC 3.2.2
CPU-Target: 64-Bit
Wohnort: Hildesheim

Anzahl der compilierten Zeilen eines Projekts

Beitrag von Ekkehard »

Hallo Ihr Lieben,
bei Delphi gab es irgendwo so eine Ausgabe der Anzahl der compilierten Zeilen, so dass man die Größe der Projektes erkennen konnte.
Gibt es so etwas bei der Lazarus-IDE auch?

Grüße aus Hildesheim
Ekkehard

Warf
Beiträge: 2161
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Warf »

Ja: Werkzeuge -> Einstellungen -> Umgebung -> Nachrichtenfenster -> Zeige FPC-Nachricht "Zeilen Kompiliert"

Aber wenn dich die Zeilen Code interessieren würde ich die das tool cloc das Zeigt dir ann wie viele Zeilen code in welcher Programmiersprache, wie viele Komentarzeilen und wie viele Leerzeilen.

wp_xyz
Beiträge: 5210
Registriert: Fr 8. Apr 2011, 09:01

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von wp_xyz »

Es gibt auch eine kleine IDE-Erweiterung namens "ProjectMetrics", nun auch im OPM, die sich im Project-Menü einnistet und zum aktuell geladenen Projekt pro Unit eine Tabelle mit Code-/Kommentar-/Leerzeilen erzeugt und auch als Balkendiagramm darstellt (https://forum.lazarus.freepascal.org/in ... #msg554388; https://github.com/ssgeos/ProjectMetrics).

Ekkehard
Beiträge: 74
Registriert: So 12. Feb 2023, 12:42
OS, Lazarus, FPC: Windows Lazarus 3.6, FPC 3.2.2
CPU-Target: 64-Bit
Wohnort: Hildesheim

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Ekkehard »

Warf hat geschrieben: Fr 18. Jul 2025, 23:49 Ja: Werkzeuge -> Einstellungen -> Umgebung -> Nachrichtenfenster -> Zeige FPC-Nachricht "Zeilen Kompiliert"

Aber wenn dich die Zeilen Code interessieren würde ich die das tool cloc das Zeigt dir ann wie viele Zeilen code in welcher Programmiersprache, wie viele Komentarzeilen und wie viele Leerzeilen.
Vielen Dank! Hat geklappt.
Die angezeigte Zeilenzahl ist deutlich zu klein, vermutlich weil alles was an Komponenten direkt in die IDE inkludiert wurde nicht mit kompiliert wird.
Ich werde mir die anderen Tools mal ansehen.

Ekkehard
Beiträge: 74
Registriert: So 12. Feb 2023, 12:42
OS, Lazarus, FPC: Windows Lazarus 3.6, FPC 3.2.2
CPU-Target: 64-Bit
Wohnort: Hildesheim

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Ekkehard »

wp_xyz hat geschrieben: Sa 19. Jul 2025, 00:18 Es gibt auch eine kleine IDE-Erweiterung namens "ProjectMetrics", nun auch im OPM, die sich im Project-Menü einnistet und zum aktuell geladenen Projekt pro Unit eine Tabelle mit Code-/Kommentar-/Leerzeilen erzeugt und auch als Balkendiagramm darstellt (https://forum.lazarus.freepascal.org/in ... #msg554388; https://github.com/ssgeos/ProjectMetrics).
Auch dafür danke.
Allerdings ist das Ergebnis noch sparsamer als die Zeilenausgabe des Compilers, denn es werden nur die Projektateien ausgewertet und nicht die "uses ....".
So werden nur knapp 450 Zeilen angezeigt, obwohl der QuadTree knapp 4.300, der GTFS-Container etwa 10.000 und die beiden MapView-Plugins nochmal je 1500, bzw 1000 Zeilen auf die Waage bringen.
Aber das ist ja nun alles nicht soooo wichtig :-)
Schönes Wochenende.

Mathias
Beiträge: 6984
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Mathias »

Warf hat geschrieben: Fr 18. Jul 2025, 23:49 Ja: Werkzeuge -> Einstellungen -> Umgebung -> Nachrichtenfenster -> Zeige FPC-Nachricht "Zeilen Kompiliert"

Aber wenn dich die Zeilen Code interessieren würde ich die das tool cloc das Zeigt dir ann wie viele Zeilen code in welcher Programmiersprache, wie viele Komentarzeilen und wie viele Leerzeilen.
Cooles Toll, das kannte ich gar nicht.

Bei Linux ist es sogar schon dabei.

Code: Alles auswählen

sudo apt install cloc
Ich habe da noch ein Python Script, welches die proceduren und functionen zählt:

Code: Alles auswählen

import os

# Pfad zum Ordner mit den Dateien (bitte anpassen)
ordner_pfad = 'test-path'

# Die gesuchten Wörter
woerter = ['procedure', 'function']
zaehler = {wort: 0 for wort in woerter}

# Welche Dateitypen sollen durchsucht werden?
datei_endungen = ('.pas', '.pp', '.txt', '.inc')  # Passe diese Liste ggf. an

dateien_gefunden = 0

# Rekursiv durch alle Unterordner laufen
for root, dirs, files in os.walk(ordner_pfad):
    for dateiname in files:
        if dateiname.lower().endswith(datei_endungen):
            dateipfad = os.path.join(root, dateiname)
            try:
                with open(dateipfad, 'r', encoding='utf-8', errors='ignore') as datei:
                    inhalt = datei.read().lower()
                    for wort in woerter:
                        zaehler[wort] += inhalt.count(wort)
                print(f"Verarbeite: {dateipfad}")
                dateien_gefunden += 1
            except Exception as e:
                print(f"Fehler beim Lesen von {dateipfad}: {e}")

print(f"\nGefundene und verarbeitete Dateien: {dateien_gefunden}")
for wort in woerter:
    print(f"Das Wort '{wort}' kommt insgesamt {zaehler[wort]} mal vor.")
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1641
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von corpsman »

An dieser Stelle würde ich direkt mal Werbung für fpc_understand machen ;). Damit kannst du auch sehr viele Statistiken und Infos zu deinem Programmen bekommen. Ich nutze das auch gern vor einer Veröffentlichung zum Auffinden von Dateien die zwar im Suchpfad, aber nicht in der .lpi gelistet sind ..
--
Just try it

Benutzeravatar
Zvoni
Beiträge: 422
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
CPU-Target: 32Bit
Wohnort: BW

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Zvoni »

Ekkehard hat geschrieben: Sa 19. Jul 2025, 10:57
Warf hat geschrieben: Fr 18. Jul 2025, 23:49 Ja: Werkzeuge -> Einstellungen -> Umgebung -> Nachrichtenfenster -> Zeige FPC-Nachricht "Zeilen Kompiliert"

Aber wenn dich die Zeilen Code interessieren würde ich die das tool cloc das Zeigt dir ann wie viele Zeilen code in welcher Programmiersprache, wie viele Komentarzeilen und wie viele Leerzeilen.
Vielen Dank! Hat geklappt.
Die angezeigte Zeilenzahl ist deutlich zu klein, vermutlich weil alles was an Komponenten direkt in die IDE inkludiert wurde nicht mit kompiliert wird.
Ich werde mir die anderen Tools mal ansehen.
Ich glaube mich daran zu erinnern, dass FPC nur die Units neu kompiliert, welche verändert wurden.
Hast du daran gedacht, dass unter Umständen deine ganzen erwähnten Units seit der letzten Kompilierung nicht verändert worden sind?
Ich glaube mich auch an eine Option zu erinnern, dass man FPC zwingen kann, alle Units neu durchzukneten.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1665
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von fliegermichl »

Zvoni hat geschrieben: Mo 21. Jul 2025, 09:18 Ich glaube mich auch an eine Option zu erinnern, dass man FPC zwingen kann, alle Units neu durchzukneten.
Start -> Aufräumen und Kompilieren

Ekkehard
Beiträge: 74
Registriert: So 12. Feb 2023, 12:42
OS, Lazarus, FPC: Windows Lazarus 3.6, FPC 3.2.2
CPU-Target: 64-Bit
Wohnort: Hildesheim

Re: Anzahl der compilierten Zeilen eines Projekts

Beitrag von Ekkehard »

fliegermichl hat geschrieben: Mo 21. Jul 2025, 09:28
Zvoni hat geschrieben: Mo 21. Jul 2025, 09:18 Ich glaube mich auch an eine Option zu erinnern, dass man FPC zwingen kann, alle Units neu durchzukneten.
Start -> Aufräumen und Kompilieren
Das habe ich natürlich so gemacht.
Aber es werden dabei nicht die verwendeten Packages erneut kompiliert und finden deshalb nicht Eingang in das Zählergebnis.

Antworten