Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DupeChecker - Duplikate im Source finden v1.3.5 (https://www.delphipraxis.net/66350-dupechecker-duplikate-im-source-finden-v1-3-5-a.html)

Union 28. Mär 2006 21:10


DupeChecker - Duplikate im Source finden v1.3.5
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo Alle,

vielleicht kennt Ihr die Situation: Man arbeitet längere Zeit an einem größeren Projekt. Dabei geht man leider nicht immer nach OOP vor und arbeitet in großen Teilen mit Copy & Paste.

Irgendwann kommt der Zeitpunkt, zu dem ein Projekt nicht mehr wartbar und ziemlich aufgeblasen ist. Man kann natürlich aus der Erinnerung und nach Gefühl vorgehen, um ein Refactoring vorzunehmen. Aber gerade die nachträgliche Suche nach Stellen, die man zu Funktionen zusammenfassen könnte, dauert dann beliebig lange.

Genau hier hilft der DupeChecker:
  • Verarbeitet beliebig grosse Projekte
  • Findet Blöcke von dupliziertem Sourcecode
  • Wertet *.pas Dateien aus, beginnt ab implementation (über INI konfigurierbar)
  • Mindestgröße der als Duplikate erkannten Textblöcke über INI konfigurierbar
  • Zeigt die Treffer nach Zeilenanzahl sortiert an
  • Blendet den Sourcecode zur Kontrolle ein
  • Umfangreiche Sortier- und Filterfunktionen
  • Export der Duplikatsliste
Und vor allem ist er schnell und einfach zu bedienen:
  • Eingabe des Pfades, einer Datei oder einer Dateiliste (letzter benutzter Pfad wird in INI gespeichert)
  • Start drücken, etwas warten (z.B. 50000 Zeilen in 2,5 Sekunden)
  • Ergebnisse auswerten
Ich würde mich sehr über Anregungen sowie konstruktive Kritik freuen.
DupeCheck v 1.3.5
  • Nochmalige Geschwindigkeitssteigerung
  • Views (Liste/Hierachie) können mittels Ctrl-Mouseclick synchronisiert werden oder über Kontextmenü
  • Listenexport nach Excel
  • Verschiedene UI-Styles über Ini-Datei
  • in der Sourceanzeige "nebeneinander" werden die Blöcke nicht mehr selektiert, sondern die identischen Bereiche werden farblich hinterlegt
  • Besseres Speichermanagement für sehr grosse Projekte (getestet mit 2,5 Millionen Zeilen)
  • Als Dateiname kann auch eine Dateiliste angegeben werden. In dieser kann in jeder Zeile ein Dateiname oder ein Directory stehen.
  • Kontextmenüs in den Views
  • Sortieren und Filtern der Ansichten
  • Vergleichszähler auf 64 Bit geändert ;)
DupeCheck v 1.3.4.1
  • Geschwindigkeit bis zu 30% schneller
  • Verarbeiten von Unterverzeichnissen
  • Verarbeiten einzelner Dateien
  • Entfernung von doppelten Duplikaten (!) aus der hierarchischen Anzeige
  • Verbessertes UI
  • Anzeige der Dateianzahl in Statuszeile
  • Eurekalog
DupeCheck v 1.3.3
  • Englische Benutzeroberfläche auf PC's mit Englischer Locale
  • Font kann über Systemmenü oder ini eingestellt werden
  • Position des Formulars, Spaltenbreiten und Splitterposition werden in ini gespeichert und bei Programmstart wieder ausgelesen

DupeCheck v 1.3 "BigMac"
  • Neue zusätzliche Visualisierung als Treeview. Dabei werden die Duplikate als Knoten angezeigt, die einzelnen Vorkommen im Sourcode als Childnodes. Leider wird die EXE dadurch fast 2x so groß. Naja, wer schön sein will muß leiden ;)

DupeCheck v 1.2.1
  • Durch die Geschwindigkeitssteigerung wurden teilweise Duplikate falsch erkannt. Aufgrund Hinweis von Martin W behoben.

DupeCheck v 1.2 - Turbo
  • Geschwindigkeit der Analyse wurde um das bis zu 20-Fache gesteigert.
  • Division by zero tritt während der Fortschrittsanzeige nicht mehr auf, wenn Sourcecode kürzer als 100 Zeilen.

DupeCheck v 1.1
  • Pfadeingabe mit Auswahldialog über Button oder F4
  • Fehlermeldung, wenn im angegebenen Pfad keine Dateien existieren
  • Flackern der Listenanzeige beim Update behoben
  • Duplikate können durch Doppelklick auf Listeneintrag nebeneinander angezeigt werden mit synchronem Scrollen. Klick auf Headerzeile synchronisiert wieder auf die Anfangszeilen.

Ralf Kaiser 29. Mär 2006 07:23

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Zitat von Union
Ich würde mich sehr über Anregungen sowie konstruktive Kritik freuen.

Halli Hallo,

erst einmal: sehr gute Idee!

Bei der Pfadeingabe wäre ein Auswahldialog ganz nützlich übder den man den Pfad auswählen kann.

Zu den Ergebnissen:

Ich habe mal einige Projekte gescannt und es werden solche Stellen als Duplikate gefunden:


Delphi-Quellcode:
 
  end;
end;
(Gut, das sind Duplikate, da sie überall im Programm vorkommen aber Sinn des Programmes ist es ja wohl doppelten Code zu finden. Gleiche Kontrollstrukturen (oder Teile davon) dürften da wohl keinen Sinn machen, oder?

Eventuell sollten solche Stellen, die nur aus Schlüsselworten bestehen nicht mit verglichen werden.

Ciao,
Ralf

toms 29. Mär 2006 07:32

Re: DupeChecker - Duplikate im Source finden
 
Hallo!

Die Idee finde ich auch gut! Jedoch funktioniert's bei mir nicht.
Ich gebe einen gueltigen Pfad an und klicke auf Start.
Es sagt dann immer "0 Zeilen gelsesen und 0 Duplikate in 0.01 s gefunden. 0 Zeilen verglichen"

Vorschlaege:

1) Button zum Auswaehlen einer Datei
2) Wenn die eingegebene Datei nicht existiert, Fehler anzeigen.
3) Drag & Drop einer Datei ins Edit (so dass es den Pfad uebernimmt)

Union 29. Mär 2006 07:38

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Zitat von Alfi001
Bei der Pfadeingabe wäre ein Auswahldialog ganz nützlich übder den man den Pfad auswählen kann.

Kommt ins TODO.
Zitat:

Zitat von Alfi001
Eventuell sollten solche Stellen, die nur aus Schlüsselworten bestehen nicht mit verglichen werden.

Das stimmt natürlich. Zum einen kannst Du in der INI-Datei über den Eintrag MinLines= verhindern, dass so kurze Blöcke als doppelt erkannt werden. Die Ergebnisse sind ja auch absteigend nach Zeilananzahl sortiert - dann kann man die letzten (kürzesten) Ergebnisse ignorieren.

Und Kontrollstrukturen müssen mit in den Vergleich einfließen, denn jede Source-Datei besteht hauptsächlich aus solchen. Oder meinst Du man solle Blöcke ausfiltern, die ausschließlich aus Schlüsselworten bestehen?

Zitat:

Zitat von toms
Die Idee finde ich auch gut! Jedoch funktioniert's bei mir nicht. Ich gebe einen gueltigen Pfad an und klicke auf Start.

In das Feld kommt kein Dateiname. Dort wird ein Verzeichnis eingegeben - aus diesem werden alle *.pas Dateien eingelesen.
Zitat:

Zitat von Toms
[2) Wenn die eingegebene Datei nicht existiert, Fehler anzeigen.

Wenn in dem Verzeichnis keine .pas Dateien existieren, kann ich eine Meldung ausgeben.

toms 29. Mär 2006 08:08

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Zitat von Union
In das Feld kommt kein Dateiname. Dort wird ein Verzeichnis eingegeben - aus diesem werden alle *.pas Dateien eingelesen.

Ach so. Und wenn ich nur eine einzige Datei angeben moechte? Muss ich dann die Datei in ein neues Verzeichnis kopieren, damit es nur jene nimmt?

Der Tree wird sichtbar langsam geloescht. Verwende mal BeginUpdate.. EndUpdate..


Zitat:

Blendet den Sourcecode zur Kontrolle ein
Nuezlich waere es, wenn er gleich im Source Code zu jener Stelle springen wurde. Dann muss man im eigentlichen
nicht fuer jedes Duplikat im Quelltext mit Goto zur angezeigten Stelle springen.

Union 29. Mär 2006 08:22

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Zitat von toms
Der Tree wird sichtbar langsam geloescht. Verwende mal BeginUpdate.. EndUpdate..

Da hast Du Recht. BeginUpdate und EndUpdate habe ich nur beim Aufbau und bei der Sortierung eingesetzt :oops:
Zitat:

Zitat von toms
Muss ich dann die Datei in ein neues Verzeichnis kopieren, damit es nur jene nimmt?

Momentan leider ja. Ich wollte es eben schnell auf ganze Projekte anwendbar machen. Und dazu ist es (besonders beim Testen) ziemlich lästig, wenn man erst eine Datei auswählen oder mehrere markieren muss.
Zitat:

Zitat von toms
Nuezlich waere es, wenn er gleich im Source Code zu jener Stelle springen wurde

Das kann ich machen. Aber an welche Stelle soll er springen? Quelle oder Ziel... oder beide? Und was soll zum Editieren verwendet werden: Delphi, Notepad, Shell? Und dann gibt es da noch das klitzekleine Problem, wenn Quelle und Ziel in der selben Datei liegen ;)

toms 29. Mär 2006 08:28

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Das kann ich machen. Aber an welche Stelle soll er springen? Quelle oder Ziel... oder beide? Und was soll zum Editieren verwendet werden: Delphi, Notepad, Shell? Und dann gibt es da noch das klitzekleine Problem, wenn Quelle und Ziel in der selben Datei liegen ;)

Es wuerde vorerst genuegen, denn Quelltext in einem SynEdit anzuzeigen.
Er soll, wahlweise zum Ziel od. Quelle springen koennen.

kalmi01 29. Mär 2006 09:40

Re: DupeChecker - Duplikate im Source finden
 
hi,

dies
Delphi-Quellcode:
              FileImportHTML: TMenuItem;
              FileImportXML: TMenuItem;
              ImportMenuSep1: TMenuItem;
              FileImportHEX: TMenuItem;
            FileExport: TMenuItem;
              FileExportRTF: TMenuItem;
              FileExportHTML: TMenuItem;
            FileMenuSep4: TMenuItem;
            PrintFile: TMenuItem;
            PrintAllFiles: TMenuItem;
            PrintBlock: TMenuItem;
            FileMenuSep5: TMenuItem;
            ExitProg: TMenuItem;
soll gleich das
Delphi-Quellcode:
            InsertMenuSep1: TMenuItem;
            InsertDateTime: TMenuItem;
            InsertMenuSep3: TMenuItem;
            InsertASCII: TMenuItem;
            InsertMenuSep4: TMenuItem;
            InsertColor: TMenuItem;

          MacroMenu: TMenuItem;
            MacroRecord: TMenuItem;
            MacroMenuSep1: TMenuItem;
            MacroLoad: TMenuItem;
            MacroSave: TMenuItem;
            MacroMenuSep2: TMenuItem;
            MacroPlay: TMenuItem;
sein.
Was ich aber bezweifeln möchte :mrgreen:

Union 29. Mär 2006 09:51

Re: DupeChecker - Duplikate im Source finden
 
@kalmi01
Ich habe die von Dir angegebenen Source-Blöcke in eine .pas Datei kopiert und den DupeCheck drüber laufen lassen. Die Stellen wurden nicht als Duplikate erkannt. Vielleicht kannst Du mir helfen, indem Du mir
  • Entweder den Sourcecode, in dem sich die vermeintlichen Duplikate befinden, komplett gibst
  • Oder mir das reproduzierbar machst (z.b. alles andere aus den Files rausschmeisst).
Danke

Ralf Kaiser 29. Mär 2006 17:00

Re: DupeChecker - Duplikate im Source finden
 
Zitat:

Zitat von Union
Und Kontrollstrukturen müssen mit in den Vergleich einfließen, denn jede Source-Datei besteht hauptsächlich aus solchen. Oder meinst Du man solle Blöcke ausfiltern, die ausschließlich aus Schlüsselworten bestehen?

Hallo,

ich meine, daß wenn im Ergebnis nur Schlüsselworte zu finden sind dann soltte dies nicht als Ergebnis gewertet werden:

Irgendwo im Source befinden sich beispielsweise immer wieder stark geschachtelte Schleifen oder if-Abfragen, dann kommt es unter Umständen dazu, daß das Ende dieser Schelien/if-Abfragen als Duplikat erkannt wird:

Delphi-Quellcode:
         (ab hier wird das folgende als Duplikat erkannt:)
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
So etwas sollte man dann rauslassen. Ansonsten, wie gesagt, die Idee is super, so kann man herausfinden wo man am besten mit den Refactoring anfängt.

Ciao,
Ralf

Union 31. Mär 2006 08:17

Re: DupeChecker - Duplikate im Source finden v1.1
 
Hallo alle,
es ist eine neue Version 1.1 verfügbar, siehe editiertes Originalposting.

uligerhardt 31. Mär 2006 12:35

Re: DupeChecker - Duplikate im Source finden v1.1
 
Hi!

Ich hab das Teil zum Ausprobieren grad mal über ein paar Delphi-Demos laufen lassen. Und schwuppsdich - Division by zero. :-) Z.B. in C:\Programme\Borland\BDS\4.0\Demos\DelphiWin32\VCL Win32\Frames und ActionBands. Ist aber trotzdem interessant. :-)

Uli.

Union 31. Mär 2006 12:55

Re: DupeChecker - Duplikate im Source finden v1.1
 
Hi,
das liegt daran, dass das gesamte Projekt in den .pas Dateien unter 50 Zeilen hat. Das funktioniert erst ab 100 Zeilen Gesamtlänge, ich arbeite im ProgressEvent mit
Delphi-Quellcode:
trunc
und
Delphi-Quellcode:
mod
... Wird korrigiert.

Union 6. Apr 2006 14:06

Re: DupeChecker - Duplikate im Source finden v1.2
 
Hallo alle,
es ist eine neue Version 1.2 verfügbar, siehe editiertes Originalposting.

mschaefer 6. Apr 2006 18:36

Re: DupeChecker - Duplikate im Source finden v1.2
 
Moin, Spätmoin,

Ja also erstmal schliesse ich mich meinen Vorschreibern an. Eine richtig gute Idee! Das so ein Projekt seine Wachstumszeit braucht liegt auf der Hand. Richtig spannend wird es, wenn Du die Ersetzen-Funktion eingebaut hast. Also, dass man auf einem Nebenfenster den neuen Code für die Duplikate eingeben kann und dieser jeweils überall eingesetzt wird. Werde das Projekt jedenfall mit Neugier weiterverfolgen.

Grüße // Martin

Union 7. Apr 2006 12:16

Re: DupeChecker - Duplikate im Source finden v1.2.1
 
Hallo alle,
es ist eine neue Version 1.2.1 (Bugfix) verfügbar, siehe editiertes Originalposting.

Union 8. Apr 2006 20:41

Re: DupeChecker - Duplikate im Source finden v1.3
 
Hallo alle,
es ist eine neue Version 1.3 verfügbar, siehe editiertes Originalposting.

mschaefer 10. Apr 2006 19:48

Re: DupeChecker - Duplikate im Source finden v1.3
 
Moin, moin,

Dein BigMac hat zum Glück keine Kalorien...

Grüße // Martin

Sanchez 16. Jan 2008 14:14

Re: DupeChecker - Duplikate im Source finden v1.3
 
Hi,
Gefällt mir, dein Tool. Einen kleinen Verbesserungsvorschlag möchte ich auch gleich abgeben: Es wäre fein, wenn im "Duplikat zeigen"-Fenster synchron gescrollt werden würde. D.h. ich scrolle in einer Ansicht und die andere scrollt mit.

grüße,
daniel

Union 16. Jan 2008 14:17

Re: DupeChecker - Duplikate im Source finden v1.3
 
Das geht auch, allerdings nur wenn über die Cursortasten gescrollt wird.

RavenIV 16. Jan 2008 14:21

Re: DupeChecker - Duplikate im Source finden v1.3
 
Zitat:

Zitat von Union
Das geht auch, allerdings nur wenn über die Cursortasten gescrollt wird.

Wäre auch super, wenn das mit dem Mausrad sysnchon scrollen würde.

Union 16. Jan 2008 14:36

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 Originalposting.

RavenIV 16. Jan 2008 14:40

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.

Union 16. Jan 2008 14:58

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

RavenIV 16. Jan 2008 15:00

Re: DupeChecker - Duplikate im Source finden v1.3
 
Die verschiedenen Einstellungen in der ini könntest Du auch in ein Optionen-Fenster packen.

Motzi 2. Mär 2008 14:02

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:
  • Sehr schnell bei der Duplikatsuche (nur die Visualisierung dauert ein bisschen lange)
Negativ:
  • Ich finde die Aufbereitung nicht unbedingt optimal
  • Wenn gleiche Codeschnipsel unterschiedliche Kommentare haben, werden sie als unterschiedlich bewertet
  • Unterschiede in der Formatierung werden ebenfalls nicht berücksichtigt
Ich hab deswegen angefangen ein ähnliches Programm zu schreiben das diese Punkte berücksichtigt. Vielleicht werd ich das in den nächsten Tagen auch mal hier präsentieren.

Gruß, Motzi

PS: unter Umständen könnten wir ja auch Ideen austauschen und zusammenarbeiten. :)

Union 3. Mär 2008 07:49

Re: DupeChecker - Duplikate im Source finden v1.3
 
Zitat:

Zitat von Motzi
Positiv:
  • Sehr schnell bei der Duplikatsuche

Ich habe eine spezielle "Memory-Dataset" Klasse verwendet, die auf den Anwendungsfall hin optimiert und indiziert ist. Das könnte sogar noch doppelt so schnell werden, denn die meiste Zeit wird für den Progressevent verbraten (hab's allerdings nicht gemessen).
Zitat:

Zitat von Motzi
Negativ:
  • Ich finde die Aufbereitung nicht unbedingt optimal
  • Wenn gleiche Codeschnipsel unterschiedliche Kommentare haben, werden sie als unterschiedlich bewertet
  • Unterschiede in der Formatierung werden ebenfalls nicht berücksichtigt

Das Programm sollte ja auch hoffentlich nicht ständig eingesetzt werden. Man sollte damit einen Einstiegspunkt zum Refactoring finden. Die Kommentare ganz zu ignorieren birgt ja auch Gefahren in sich, z.b. wenn man doppelten Sourcecode absichtlich zur Performancesteigerung eingesetzt hat (inlining).
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).

Motzi 5. Mär 2008 00:15

Re: DupeChecker - Duplikate im Source finden v1.3
 
Hallo,

wie angekündigt hab ich mein Programm jetzt ebenfalls vorgestellt: DoubleSource :)

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

angos 5. Mär 2008 07:45

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

Union 5. Mär 2008 08:06

Re: DupeChecker - Duplikate im Source finden v1.3
 
Hallo Angos,
Zitat:

Standardansicht einstellbar oder fest auf Hierarchisch
meinst Du damit, dass die GUI-Tab-Seite gespeichert und wiederhergestellt werden soll?
Zitat:

So wie bei Motzis Tool wäre es super wenn die Minimum-Lines zur Laufzeit geändert werden können
Das ist natürlich möglich, aber durch das Klassen-Design etwas unangenehm zu realisieren. Denn bei mir ist MinLines eine Eigenschaft der Analyseklasse und nicht der GUI. Soll heissen, man könnte zwar den Filter in der GUI nach oben setzen, aber nicht unter den beim Analysieren gesetzten Wert. Duplikate kleiner als der Grenzwert werden nämlich erst gar nicht in die Struktur aufgenommen (Hauptspeicher).
Zitat:

Eine Option, durch welche nur eine Datei gescannt werden kann (das Scannen eines gesamten Projektes sollte aber beibehalten
Das ist am einfachsten zu realisieren und eine gute Idee.
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:

Eine schönere gui
Da bin ich wirklich nicht gut drin, ich setze immer auf einfachste Standards. Mach doch mal konkrete Vorschläge. Und welche Einstellungsmöglichkeiten meinst Du? Momentan gibt es ja nur:
Code:
[Config]
Path=c:\temp\test
StartLine=IMPLEMENTATION
MinLines=4
Indexed=1
Der Rest wird ja automatisch erzeugt durch Größenänderungen und das Systemmenü:
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

Motzi 5. Mär 2008 09:43

Re: DupeChecker - Duplikate im Source finden v1.3
 
Zitat:

Zitat von Union
Zitat:

So wie bei Motzis Tool wäre es super wenn die Minimum-Lines zur Laufzeit geändert werden können
Das ist natürlich möglich, aber durch das Klassen-Design etwas unangenehm zu realisieren. Denn bei mir ist MinLines eine Eigenschaft der Analyseklasse und nicht der GUI. Soll heissen, man könnte zwar den Filter in der GUI nach oben setzen, aber nicht unter den beim Analysieren gesetzten Wert. Duplikate kleiner als der Grenzwert werden nämlich erst gar nicht in die Struktur aufgenommen (Hauptspeicher).

Bei mir ist Min-Lines auch eine Eigenschaft der Analyseklasse, die UI-Komponente ist nur ein Filter. Beim VirtualTreeview haben Nodes nämlich auch eine Visible-Eigenschaft, sodass ich Duplikate mit weniger Zeilen als im Filter eingestellt einfach ausblenden kann.
Wie gesagt, ich kann dir die Verwendung des VirtualTreeviews wirklich empfehlen - er ist sehr schnell und vor allem auch sehr flexibel!
Gruß, Motzi

Union 5. Mär 2008 17:45

Re: DupeChecker - Duplikate im Source finden v1.3
 
Hallo,

es ist eine neue Version verfügbar. Ich habe mal versucht einige der Vorschläge von Euch einfliessen zu lassen.

hoika 5. Mär 2008 18:00

Re: DupeChecker - Duplikate im Source finden v1.3.4
 
Hallo,

es wäre schön, wenn du madexcept benutzen würdest,
bei mi kommt nach einer gewissen Dateizahl eine Schutzverletzung,
genau bei 221 Dateien.

Korrektur:
Es scheint immer bei der letzten Datei zu sein.
Mache mal ein

try except

um dein Progressbar-Code.

Hast du das mal mit >200 Dateien geprüft ?

Oder einfach mal das Projekt (Quelltext) mal anhängst.


Heiko

PS:
Die Pas-Datei selbst ist es nicht, kopiere ich sie in ein separates
Verzeichnis, kann er die Lesen.

Union 5. Mär 2008 18:32

Re: DupeChecker - Duplikate im Source finden v1.3.4
 
Hallo Heiko,

ich habe jetzt mal einen Test mit Subdirectories gemacht (mit genau der Version 1.3.4.0):
Zitat:

Zitat von DupeChecker
67347 Zeilen aus 257 Dateien gelesen und 1586 Duplikate in 28,19 s gefunden. 34531684 Zeilen verglichen

Es lief problemlos komplett durch. Bei welcher Operation kam denn die AV: Suche der Dateien, Einlesen der Dateien, Analyse oder Visualisierung?

Ansonsten werde ich in der nächsten Version mal EurekaLog reinhängen.

hoika 5. Mär 2008 19:21

Re: DupeChecker - Duplikate im Source finden v1.3.4
 
Hallo,

kommt beim ersten Schritt (Einlesen),
wenn er unten die Dateien anzeigt.
Es ist immer fast am Schluss.


Heiko

Union 5. Mär 2008 19:34

Re: DupeChecker - Duplikate im Source finden v1.3.4
 
Ich habe eine neue Version mit Eurekalog erstellt, wenn der Fehler auftritt schick mir doch bitte die elf Datei.

RWarnecke 8. Mär 2008 23:44

Re: DupeChecker - Duplikate im Source finden v1.3.4.1
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

habe heute mal Dein Tool DupeCheck v 1.3.4.1 "Hoika Edition" runtergeladen. Ist ja ganz nett gemacht. Ich habe aber zwei kleine Anmerkungen :
  • Ich kann nicht mehrere Überprüfungen nacheinander machen.
  • Darstellungsproblem beim Starten des Programms (siehe Screenshot)

Union 9. Mär 2008 15:38

Re: DupeChecker - Duplikate im Source finden v1.3.4.1
 
Wenn Du die Spalten manuell veränderst, merkt sich das Programm die eingestellten Breiten in einer INI und verwendet sie auch beim nächsten Start, das sollte also eine einmalige Sache sein.

Das Problem mit den mehrfachen Analysen ist mir bekannt, wird in der nächsten Version behoben sein.

Union 10. Mär 2008 11:36

Re: DupeChecker - Duplikate im Source finden v1.3.5
 
Hallo alle,

es ist eine neue Version 1.3.5 verfügbar, siehe Originalposting

shmia 4. Dez 2008 17:49

Re: DupeChecker - Duplikate im Source finden v1.3.5
 
Feature-Request:
Die Dateinamen bei Quelle und Ziel sollten ohne den Basispfad angezeigt werden.
Das würde helfen, die Unitnamen optisch schneller zu erfassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr.
Seite 1 von 2  1 2      

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