![]() |
Re: DupeChecker - Duplikate im Source finden v1.3
Zitat:
|
Re: DupeChecker - Duplikate im Source finden v1.3
Hallo alle,
es ist eine neue Version 1.3.3 verfügbar mit einigen neuen Optionen (hat leider nichts mit dem Scrollen zu tun ;) ), siehe editiertes ![]() |
Re: DupeChecker - Duplikate im Source finden v1.3
Ein Menu mit den wichtigsten Funktionen wäre auch noch ne tolle Sache.
Und ein Hilfe-Fenster fehlt auch. |
Re: DupeChecker - Duplikate im Source finden v1.3
Das ist eine gute Idee für die Zukunft. Bis dahin muss es das Readme tun. Und die Hauptoperationen bestehen im Drücken des Readbuttonns sowie einem Doppelclick auf einer ausgewählten Zeile...
|
Re: DupeChecker - Duplikate im Source finden v1.3
Die verschiedenen Einstellungen in der ini könntest Du auch in ein Optionen-Fenster packen.
|
Re: DupeChecker - Duplikate im Source finden v1.3
Erst einmal - super Idee!! Ich bin vor einiger Zeit zufällig auf dieses Programm gestoßen weil ich genau so etwas gesucht habe, da ich ein Projekt übernommen hab dessen Code in einem katastrophalen Zustand ist und etliche Duplikate enthält.
Es gibt aus meiner Sicht jedoch auch ein paar Sachen zu bemängeln. Positiv:
Gruß, Motzi PS: unter Umständen könnten wir ja auch Ideen austauschen und zusammenarbeiten. :) |
Re: DupeChecker - Duplikate im Source finden v1.3
Zitat:
Zitat:
Die einzigen Anpassungen die stattfinden, sind Entfernen aller Leerzeichen und die Umwandlung in Uppercase jeder Zeile. Diese Strings werden gehashed und nur die Hashs werden dann bei der Analyse verglichen, deshalb auch der Speed. Das kann man natürlich anpassen (z.b. Entfernung von Tabs). |
Re: DupeChecker - Duplikate im Source finden v1.3
Hallo,
wie angekündigt hab ich mein Programm jetzt ebenfalls vorgestellt: ![]() Bei meinem Programm werden Kommentare während des Preprocessings komplett rausgelöscht und unterschiedliche Formatierungen durch Leerzeichen oder Tabs normalisiert. Ich verwende zur Anzeige den VirtualTreeview wodurch die Visualisierung sehr schnell geht - kann ich dir nur empfehlen! Ich hab meine Routine zur Duplikatssuche selbst geschrieben, anfangs sehr naiv (brauchte in etwa so lang wie deine erste Version) und hab sie dann Stück für Stück immer weiter verbessert bis ich sie jetzt soweit optimiert habe, dass sie sogar schneller ist als deine. *stolzbin* :) Allerdings hab ich (noch) keine Progressbar drinnen, also ist der Vergleich nicht ganz fair. Würd mich freuen wenn du es dir mal anschaust und einen Kommentar abgibst!:) Gruß, Motzi |
Re: DupeChecker - Duplikate im Source finden v1.3
Hallo Union,
erstmal schließ ich mich dem allgmeinen Thread-Hype an: sehr gute Idee das ganze :) Super wären jetzt folgende Funktionen: - Standardansicht einstellbar oder fest auf Hierarchisch - So wie bei Motzis Tool wäre es super wenn die Minimum-Lines zur Laufzeit geändert werden können - Eine Option, durch welche nur eine Datei gescannt werden kann (das Scannen eines gesamten Projektes sollte aber beibehalten werden) Super wären dann noch die "Königsfunktionen" (ziemlich aufwändig): - Erzeugen von Funktionen/Prozeduren der Codeteile auf Klick unter berücksichtigung der Übergabe von lokalen variablen - Auto-Codeupdate nach dem Erzeugen der Funktionen. Also: Es werden die Funktionen implementiert, und der Restsource angepasst. Nicht wichtig aber nice-to-have: - Eine schönere gui ;) mit zB einstellungsmöglichkeiten, welche sonst über die ini geschaltet werden müssten. Gruß Ansgar |
Re: DupeChecker - Duplikate im Source finden v1.3
Hallo Angos,
Zitat:
Zitat:
Zitat:
Für die "Königsfunktionen" sollte man lieber D2007 verwenden, da hat sich CG schon ein paar Mannjahre daran versucht und es funktioniert ganz gut. Zitat:
Code:
Der Rest wird ja automatisch erzeugt durch Größenänderungen und das Systemmenü:
[Config]
Path=c:\temp\test StartLine=IMPLEMENTATION MinLines=4 Indexed=1
Code:
frmAnalyse.Font.Name=MS Sans Serif
frmAnalyse.Font.Size=8 frmAnalyse.Width=650 frmAnalyse.Height=531 frmAnalyse.pnlMemo.Left=1 frmAnalyse.pnlMemo.Top=259 frmAnalyse.pnlMemo.Width=640 frmAnalyse.pnlMemo.Height=204 frmAnalyse.lvDupe.Columns[0].Width=242 frmAnalyse.lvDupe.Columns[1].Width=184 frmAnalyse.lvDupe.Columns[2].Width=50 frmAnalyse.lvDupe.Columns[3].Width=50 frmAnalyse.lvDupe.Columns[4].Width=50 frmAnalyse.lvDupe.Columns[5].Width=50 frmAnalyse.lvDupe.Columns[6].Width=50 frmAnalyse.tvDupe.Columns[0].Width=400 frmAnalyse.tvDupe.Columns[1].Width=100 frmAnalyse.tvDupe.Columns[2].Width=100 frmAnalyse.Left=360 frmAnalyse.Top=236 frmEdit.Left=328 frmEdit.Top=291 frmEdit.Width=714 frmEdit.Height=420 frmEdit.pnlSource.Left=0 frmEdit.pnlSource.Top=0 frmEdit.pnlSource.Width=334 frmEdit.pnlSource.Height=386 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz