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/)
-   -   SearchSameFiles v2.0 (SSF) (https://www.delphipraxis.net/51701-searchsamefiles-v2-0-ssf.html)

himitsu 17. Aug 2005 13:38


SearchSameFiles v2.0 (SSF)
 
Liste der Anhänge anzeigen (Anzahl: 3)
Beiträge zur Version 2 ab hier:
http://www.delphipraxis.net/internal...=663073#663073

aktueller Download immer noch im ersten (diesem) Beitrag


************************************************** *****************


Ich wollte nur mal ein kleines Programmchen vorstellen und nachfragen ob es für'n Anfang i.O. ist?
Außerdem würde ich gern wissen, ob sowas überhaut noch Jemand gebrauchen kann und ob's sich auch lohnt, wenn ich das noch weiterentwickeln würde.
>> Arbeitsspeicher, Geschwindigkeit/Durchsatz(KB/s) und was sonst noch wichig ist

Es vergleicht alle Dateien in dem angegebenen Verzeichnis und seiner Unterverzeichnisse miteinander und gibt am Ende eine Liste mit allen Dateien aus, welche den selben Inhalt haben.


Seit aber nicht all zu hart zu mir ... dieses ist nur so'n kleines Nebenprojekt und ich hatte halt nicht gerade viel Arbeitszeit reingestecken können.
Und das an der Optik/Bediehnung unbedingt noch einiges gemacht werden muß, ist mir bekannt.

Und dafür, daß es Funktionen meines "neuen" UCC verwendet und derzeit das 2. größere (NichtDemo)Programm ist, welches darauf aufbaut, lauffähig ist und anscheinend ohne Probleme läuft, bin ich erstmal damit zufrieden und die Hoffnung der baldigen UCC-Veröffentlichung steigt immer mehr in mir auf (na ja, 2 winzige Kleinigkeiten wurmen mich immernoch).


Intern basiert es ja auf meinem UCC und sonst ist da noch nicht so viel drin.
Zitat:

Zitat von SourceCode Counter von JLSoft Software
SearchSameFiles.dpr 12 Zeilen 247 Byte 213 Zeichen
SearchSameFilesU.pas 220 Zeilen 7.9 KB 6190 Zeichen
[add]hat jetzt'n paar Zeilchen mehr ... sowar passiert halt, wenn man etwas aufrüstet -.-''

Verglichen werden die Dateien, aus Performancegründen, per CRC32.
Einen vorzeitigen Abbruch bekommt man über das nette [X].


Ach ja: im Moment werden weder Registry, noch irgendwelche anderen Einträge/Veränderungen in/an eurem System vorgenommen.
Es gibt also nur diese "kleine" EXE, welche wirklich nur nach gleichen Dateien sucht ^^



PS: ich hab durch dieses Programm gelernt, wie man die Speicherverwaltung des Heap aushebeln kann.
Durch die staren und nicht verschiebbargen Blöcke hatte ich auf Grund der 2 verwendeten Haupt-Arrays und mit lediglich 55.000 Vergleichsdateien ein massiges Speicherproblem bekommen.
Es gab also nach einer Weile einen kleine Exception (Out of Memory) ... na ja, über 300 MB RAM+Pagefile war wohl 'n bissl zuviel -.-''
Aber nach 'ner kleinen Optimierung bei den Arrays und Strings konnte einiges an Speicher eingesparrt werden (bei meinem Testlauf sind es jetzt nur noch rund 5 MB).
Und ein optimierteres SetLength brachte auch noch etwas Tempo mit rein.


Zum Schluß bleibt dann nur noch eine Überlegung:
Soll ich den Quellcode für dieses Programm ebenfalls veröffentlichen und in Ruhe zusehen, ob nicht zufällig jemand etwas mehr Zeit investieren kann und daraus vielleicht doch noch was großartiges macht?

himitsu 29. Aug 2005 10:28

Re: SearchSameFiles
 
Ich hab mal einige Kleinigkeiten verändert.

Die Wichtigsten sind:
  • 0 Byte-Dateien werden jetzt ignoriert
  • die Hauptsuchprozedur wurde um 'ne Fehlerbehandlung erweitert
    (mir ist aufgefallen, das wenn doch mal die Suche durch 'nen Fehler abbricht, man das Programm nicht mehr ordnungsgemäß beenden kann -.-'')
  • und die Auswahl des Suchverzeichnisses ist jetzt keine JEDI-Komponente mehr


Ach ja, derzeit werden die Suchergebnisse nach der Suche gelöscht.
Aber man könnte diese Ergebnisse ja noch beibehalten, so daß man dann die angezeigte Liste der Suchergebnisse z.B. über Filter einschränken kann.
Wenn also jemand Ideen hat, wie man diese Liste filtern kann, so möge er/sie mir dieses bitte mitteilen :)


Zur Verfügung stehen derzeit die folgenden Rohdaten:
Delphi-Quellcode:
Files: Array of Record
  Directory: LongInt;         // Verzeichnis der Datei
  FileName: AnsiString;       // Dateiname der zuerst gefundenen Datei
  FileSize: LargeInt;         // die Dateigröße
  SameFiles: Array of Record
    Directory: LongInt;       // Verzeichnis/Dateiname der anderen
    FileName: AnsiString;     //   Dateien, mit dem selben Dateiinhalt
  End;
End;

Als Anhang sind jetzt auch mal die Quellcodes zu finden,
falls mal jemand dort reinschauen möchte.


Aber nicht wundern, da wird ja einiges aus'm UCC verwendet, allerdings hab ich ja vor kurzem den integrierten Memory-Manager verändert und muß jetzt wiedermal einige "Low-Level-Zugriffe" im UCC entsprechend anpassen :cry:

himitsu 13. Sep 2005 11:16

Re: SearchSameFiles
 
So, jetzt hatte ich nochmal Zeit dafür und hab einiges geändert.
  • Die Anzeige der Dateien ist jetzt übersichtlicher
  • Dateien können jetzt direkt über's Programm gelöscht werden
    (und zwar in den Papierkorb, können also wiederhergestellt werden)
  • es besteht jetzt die Möglichkeit das Suchergebnis zu filtern
    - man kann man kann derzeit Dateien nach Verzeichnis/Dateiendung aus der Liste entfernen lassen
  • PopUp-Menü in die ListBox eingebaut, worüber die Filerfunktionen aufgerufen werden können.
  • Die einzelen Hauptschritte sind jetzt einzeln abbrechbar.
    Immernoch über's [X].
  • neuer MemoryManager ist auch drin.
    Der integrierte MemoryLeakCheck hatte mich gleich mal dazu gebracht mir 'ne neuere JVCL zu besorgen.
    In meiner alten JVCL v3.00 Build 1758 hatte die JvCheckTreeView den Speicher nicht vollständig geräumt
    und ich dachte erst, es wäre ein Fehler in meinem Programm -.-''

    Ich hab auch mal eine Version mit UsageTracker angehängt.
    Wenn es jemanden interessiert, der wird sehen wie erst beim Füllen der JvCheckTreeView der Speicherverbrauch in die Höhe schießt.
    (ein minimiertes/geschlossenes UsageTracker-Fenster verbraucht keine CPU-Resourcen)
  • ...

Relativ schnell scheint's Programmchen jetzt auch zu sein.
Was mich aber noch stört, ist das langsame Füllen der ListBox.
Diese visuellen Komonenten sind ja leider nicht gerade schnell und im Moment ist dieses auch einer der längsten Arbeitsschritte.
Der reine Dateivergleich dauert bei mir für rund 11 GB, 128.000 Dateien mit 20% Gleichen knapp 32 Minuten.

Kara 13. Sep 2005 11:22

Re: SearchSameFiles v0.6
 
Hm, bin ich blind, oder hast dus nirgends verlinkt? Ich würds gern haben, wenns schon Freeware ist. :D
Funktioniert das für mp3s?

himitsu 13. Sep 2005 11:32

Re: SearchSameFiles v0.6
 
Das vergleicht alles, unabhänig von Name/Typ.
Aus diesem Grund kann man das Suchergebnich auch erst nach der Suche einschränken.

Und die Dateien sind im Ersten Beitrag (das machst sich in diesem Unterforum am Besten ;) )

Kara 13. Sep 2005 11:39

Re: SearchSameFiles v0.6
 
Sorry, dann hat der IE vorhin gesponnen und sie nicht angezeigt. (IE NUR in der Arbeit :mrgreen:)

himitsu 13. Sep 2005 11:42

Re: SearchSameFiles v0.6
 
Es kann natürlich auch sein, dass ich die "neuen" Dateien in diesem Moment gerade hochgeladen hab.

PS: me = dauer IE-User :)

Hador 13. Sep 2005 16:17

Re: SearchSameFiles v0.6
 
Ist gar nicht schlecht.
Verbesserungsvorschläge:

- Angeben von mehreren Pfaden (Entweder alle Pfade durch Trennzeichen getrennt oder die Pfade in'nen Memo) - Siehe auch die Angabe der Libphade bei Delphi ^^

- Beschränken auf bestimmte Dateitypen, z.B. nur *.jpeg oder nur *.mp3

- Wofür stehen die Zahlen vor den jeweiligen Dateinamen ? Wenn die wie ich vermute für Durchsuchte, bzw. gefundene doppelte Dateien stehen, dann sollte das evt. irgendwo dabei stehen.

- Die Anzeige für die Datei die grad getestet wird ändert sich nur ca. alle 150 Dateien mal

Luckie 13. Sep 2005 16:25

Re: SearchSameFiles v0.6
 
Was ist denn das immer für ein zweites fenster dahinter, an das man kaum drankommt? :roll: BTW bleibt die Memorymap bei mir immer leer.

Nach der ersten Suche bekam ich folgende Meldung:
Zitat:

---------------------------
search same files
---------------------------
Ein deaktiviertes oder unsichtbares Fenster kann nicht den Fokus erhalten.
---------------------------
OK
---------------------------

himitsu 13. Sep 2005 16:44

Re: SearchSameFiles v0.6
 
Also das Meldungfenster kenn' ich noch garnicht ... kommt das auch bei der normalen Version, oder nur dort, wo der UsageTracker eingebunden ist?



@Hador
werd' mir mal einige Gedanken über deine Vorschläge machen.
Im Moment Versuche ich aber erstmal einige Dinge zu beschleunigen - vorallem die TreeView.
Da dieses allerdings nur ein Nebenprojekt ist und ich vorallen an den Basicfunktion arbeite, worauf dieses Projekt aufbaut, bleibt da leider nicht all zuviel Zeit für.
Aber einiges wird sich in der nächsten Zeit bestimmt umsetzen lassen.

Es ist ganz normal, das die Anzeige der durchsuchten Dateien springt, denn die diese Anzeige erfolgt etwa alle 0,75 Sekunden ... es wäre Sinnlos und auch extrem Zeitfressend, wenn die Anzeige nach jeder Datei erfolgen würde.

Und ja, die Zahl steht für die Anzahl der gleichen Datei in der entsprechenden Untergruppe.
Da ich diessén Teil aber erst gestern eingebaut hab, ist das noch nicht so ganz Optimal gelöst ... es wird sich dort also bestimmt noch etwas verbessern lassen.

Das es sich hierbei noch um ein Projektchen in der Anfangsphase handelt hab ich ja versucht anhand der Versionsnummer dazustellen.
Und obwohl es bis jetzt bei mir fehlerfrei gelaufen ist, hat mir der Luckie natürlch auch durch diese Erfolgserlebnis einen Strich gemacht -.-''

Kara 16. Sep 2005 07:30

Re: SearchSameFiles v0.6
 
Hi himitsu!

Ich habs mit mp3s ausprobiert funktioniert gut.
Mir gefällt die Funktion gut, dass ich durch Doppelklick die angezeigten Lieder anhören kann. Dann kann ich überprüfen, ob es sich nicht um verschiedene Versionen handelt.

Mir ist eines aufgefallen: Die mp3s, die ich über dein Programm gelöscht habe, landen erst mal im Papierkorb. Das ist ja noch ok :D Aber dort wird kein Name mehr angezeigt, sondern nur noch der Icon.

TeronG 16. Sep 2005 08:03

Re: SearchSameFiles v0.6
 
Zitat:

Zitat von himitsu
… hat mir der Luckie natürlich auch durch diese Erfolgserlebnis einen Strich gemacht -.-''

tztztz .. wie kann er nur ....

Aber leider hab ich die gleiche Meldung bekommen .. und zwar hab ich das "Zweite Fenster dahinter" einfach mal weggemacht und als ich dann alles gelöscht hab meint er "Ein deaktiviertes oder unsichtbares Fenster kann nicht den Fokus erhalten." :roll:
Kara's Problem hab ich leider auch :gruebel: im Mülleimer sind nur Icon's keine Namen mehr .. komisch
Last not leas hab ich noch nen Vorschlag ... wie währe es mit nem "overkill"-Button der alle dis auf das Jeweilige erste/letzte markiert ??

Aber sonnst ist das Programm supi :thumb: (für ein „Abfallprodukt“ :duck: )
So konnte ich endlich mal meine Arbeits-mp3's ausmisten. :mrgreen:

glkgereon 16. Sep 2005 09:04

Re: SearchSameFiles v0.6
 
die idee (wenns denn funktioniert) ist super.

leider bleibt meine ListBox leer :(

kann es daran liegen das ich ein Netzlaufwerk gescannt hab?

also es werden zwar einträge hinzugefügt (scrollbar) aber es wird keine schrift angezeigt.... :?

himitsu 16. Sep 2005 11:24

Re: SearchSameFiles v0.6
 
Liste der Anhänge anzeigen (Anzahl: 2)
So Luckie, extra für dich hab ich nochmal meinen ExceptionHandler etwas überarbeitet ... wenn jetzt doch nochmal ein Fehler auftritt (obwohl jetzt dieser Fehler vermutlich verschwunden ist), dann sollte wenigstens der Fehlerdialog nicht mehr im Hintergrund verschwinden. :nein:

Zusätzlich gibt es jetzt noch
  • eine einstellbare Dateimaske
  • wegen dieser Dateimaske ein andere Berechnung der Fortschrittsanzeige
  • die Möglichkeit für mehrere Suchverzeichnisse
  • einen weiteren Befehl zum Dateiöffnen
  • und eine neue Möglichkeit das Suchergebnis weiter einzuschränken
    (aktuelle Dateigruppe aus dem Suchergebnis entfernen)
  • wenn die Operationen zum nachträglichen bearbeiten, oder beim löschen etwas länger Dauern, dann gibt es dort jetzt auch 'ne Fortschrittsanzeige und die Möglichkeit des Abbruchs.
  • Die Textdaten in der Dateiliste werden jetzt ebenfalls über die speicheroptimierte Stringbehandlung verarbeitet (kein "extremer" Anstieg des Speicherverbrauchs mehr)
    und als Bonus ist dadurch auch das Füllen der Dateiliste etwas beschleunigt worden.
  • Und als Letztes gibt's jetzt noch'n "echtes Drag&Drop (nicht dieses eigenartige Delphiding).
    Es kann also ein Verzeichnis/Datei vom Explorer in das Directory-Feld gezogen werden.
  • Wenn neben dem Mauszeiger ein ? ist, dann kommt nach 'ner Weile (10 Sekunden, damit es nicht ständig auftaucht) der Hint, wo vorerst mal die Tastenkombinationen zum Bediehnen versteckt sind.
  • Ach ja, wärend's Programm arbeitet, gibts jetzt auch mal die Berühmte Sanduhr, oder was auch immer ihr installiert habt ._.
  • Und was ich bisher vergessen hatte zu sagen:
    Dieses Programm nimmt keine Änderungen am PC vor, oder Spichert irgendwo irgendwas ab (mit Ausnahme der .DAT-Datei, welche sich im Programmverzeichnis befindet)
  • Da ich das Drag&Drop eh neu implementieren mußte (gemeiner Ausfall ... so kurz vorm Speichern), hab ich die Chance gleich mit genutzt und die Fortschrittsanzeige gleich noch optisch aufgebessert.
Ich glaub das war's jetzt erstma ... bleibt nur zu hoffen, dass der Luckie keine Fehler mehr findet :cry:

Was ich aber noch suche ist die Möglichkeit Unterschiedliche Verzeichnisse anzuzeigen ... bis jetzt wird ja jede Datei einzeln aufgeführt -.-''




@Luckie: als bei dir im UsageTracker nichts angezeigt wurde, bewegte sich zu der Zeit (im 5 Sekundentakt) unten links der graue Strich, zwischen dem Close-Button und der prozentualen Speicherauslastungsanzeige? (siehe Bild ... der Strich sollte sich drehen)
Zusätzlich hab ich nochmal 'ne reine UsageTracker-Demo angehängt (MemoryUT.exe)


@glkgereon:
Also, das mit dem Netzlaufwerk kann ich im Moment nicht beurteilen/testen, da ich an den Rechnern, welche ein Netzlaufwerk besitzen keine Adminrechte und leider auch nicht das Recht zum Ausführen "fremder" Programm besitze.
Und ob die Win-API-Funktionen (FindFilesFirst, FindFilesNext) bei Netzlaufwerken funktionieren ist nirgends beschrieben :?
Es wäre also Nett, wenn da nochmal jemand anderes dieses Testen könnte.

Wenn nichts angezeigt wird, solltest du eventuell nochmal eine neuere Version testen (ab v0.6),
denn dort ist die Anzeigetechnik verändert (jetzt übernimmt die anzeige nicht mehr die Komponenten, sondern mein Programm selber).
Auserdem schein diese Komponente öfters mal 'ne ScrollBar anzuzeigen, auch wenn diese nicht nötig ist. (was für 'ne Zahl steht/stand denn in der Titelleiste, vor Equals?)
Und eventulle könntest du es ja nochmal an einem "normalem" Laufwerk versuchen.
Und würde überhaupt der Schritt "Fill ListBox" ausgeführt? (das ist der letzt Arbeitsschritt, nach dem suchen und der kann bei wenigen "gleichen" Dateien ziehmlich kurz ausfallen)


@kara/TeronG:
Komisch, ich dachte ja, das der Fehler im Papierkorb an meinem Rechner/Windows liegt, denn ich nutze dafür ja nur die normale SHFileOperation-Funktionen, welche auch in der Unit ShellAPI rumliegt.
Und da ich keine Fehler an den entsprechenden Befehlen fand dachte ich halt, das es nur bei mir so sei.
I werd' also das nächste Mal die Funktionen mitbringen und dazu Hilfe einholen müssen.


@TeronG:
der OverKillButton ... schau mal in's PopUpMenü der Dateilist, dort sollte es eine entsprechende Funktion geben ;)
Und jetzt gibt es die gewünschte Funktion auch per Tastenkombination. (sie Hint der DateiListe)

glkgereon 16. Sep 2005 15:36

Re: SearchSameFiles v0.62
 
Also...

Es war ein Schulcomputer mit Win98 SE
Auch mit C:/Irgendwas hats nicht funktioniert

Fill Listbox wurde angezeigt, da stand Equals 1xx, weiss net mehr genau, irgendwas mit hundert.

aber ich kann dich trösten: zuhause auf Win2k scheint es zu laufen :)

Luckie 16. Sep 2005 16:16

Re: SearchSameFiles v0.6
 
Zitat:

Zitat von himitsu
@Luckie: als bei dir im UsageTracker nichts angezeigt wurde, bewegte sich zu der Zeit (im 5 Sekundentakt) unten links der graue Strich, zwischen dem Close-Button und der prozentualen Speicherauslastungsanzeige? (siehe Bild ... der Strich sollte sich drehen)
Zusätzlich hab ich nochmal 'ne reine UsageTracker-Demo angehängt (MemoryUT.exe)

Sieht genauso aus, wie bei dir auf dem Screenshot. Und da bewegt sich auch nichts. Aber soll das eventuell so sein? Soll das weiß bedeuten, dort ist nichts? dann hate ich das für etwas unglücklich, wel es so aussieht, als wenn die Darstelleung kaputt wäre.

Ich hatte es ja schon mal gesagt, das mit dem memory usage Tracker ist mehr als unglücklich. warum keine Schaltfläche mit der man ihn zusätzlich öffnen kann? Übrigens, wenn man ihn minimiert ist er weg und man bekommt ihn auch nicht wieder. Die Darstellung der Blöcke ist übrigens so klein, dass man mit der Maus kaum einen Block auswählen kann. Btw was zeigt der eigentlich an? Die Speicherbelegung deines Programmes? Was will ich damit bzw. was bringt mir das?

himitsu 17. Sep 2005 11:39

Re: SearchSameFiles v0.62
 
@Luckie, Links der zeigt die gesamte "virtuelle" Speicherbelegung des Programms an ...
und das mit dem Weiß ist mir schon klar, allerding sieht es sch** aus, wenn die nichtbelegten Blöcke z.B. schwar sind.
Aber du kannst "ganz" leicht einzelne Blöcke auswählen, wenn due die Cursortasten, die Tasten des Nummernblocks (1-9) oder ASDW verwendest ... und mit der Shift-, oder Strg-Taste geht es auch noch schneller.
Rechts wird allerdings nur der Verbrauch der eigenen MemoryManagers aufgelistet (also der Bereich, welcher Links in Rottönen dargestellt wird)

@glkgereon
OK, dann seint es halt ein "winziges" Problem mit Win98(SE) zu geben ... und wenn der Fehler an der Jedi-Komponente liegt, dann weiß ich auch erstma auch nicht weiter (müßte mir dann wohl eher 'ne andere Komponente suchen, oder so) ... es könnte allerdings sein, das die v0.62 besser geht, da ich ja dort die Anzeige verändert hab.
PS: bei vielen "gleichen" Dateien dauert die Anzeige etwas (also bei mir dauert es schon mal 4-5 Minuten, bis die ListBox z.B. 30.000 Dateien gefüllt wurde)

himitsu 19. Sep 2005 12:03

Re: SearchSameFiles v0.62
 
Ich hab endlich den Fehler in "Exclude Files under Path" gefunden.
Dort war zwar die Auswahl eingeschränkt, allderings wurde nicht das aktuelle Verzeichnis vorgewählt.
Sowas passiert halt, wenn man den Dateinamen im Pfad läßt und natürlich SelectDirectory davon ausgeht, daß das gewünschte Verzeichnis nicht existiert. :wall:

I weiß auch nicht, ob's jemand gemerkt hat, aber wenn das Programm beendet wurde, wenn noch eine "Menge" Dateien in der Dateiliste waren, dann blieb das Programm noch ewig im Hintergrund aktiv.
Darum wird jetzt die TreeView vom Programm freigegeben - natrülich mit 'ner Fortschrittsanzeige.

Dann wird noch 'ne Liste geführt, wo die Befehle geloggt werden.
Und es ist damit möglich, daß die Befehle fortgesetzt werden können. (einfach den abgebrochenen Befehl anklicken)
Also Bonus besteht auf diese Weise die Möglichkeit, daß mehrere langandauernde Befehle erstmal abzubrechen und dann über Alt+A all diese Befehle aufeinmal fortzusetzen.
(leider geht "alles" nach der Suche über die TreeView, welche ja nicht gerade schnell ist)

Schaut dazu mal im PopUp-Menü unter "Last Options", dort stehen dann immer die 20 letzten Befehle. (alles was vollständig abgearbeitet wurde ist dort unenabled und der Rest kann dann natürlich ausgewählt werden)
Es wird allerdings kein "Rückgängig" geben.

Und da ich jetzt schonmal 's Programm hochlade (vorallem wegen der behobenen Fehler), ist allerdings noch nicht alles "Neue" im PopUp-Menü verfügbar.

gordon freeman 7. Jan 2006 15:56

Re: SearchSameFiles v0.65
 
Hi Himitsu,

Ich find das Programm :thumb:
Hab ca. 4000 Fotos reingepackt und er findet zuverlässig alle 1000 doppelten.
Allerdings muss ich jetzt, um die Doppelten zu löschen überall jeweils eins nicht anhacken und alle weiteren mit Häckchen versehen, also um die 1000 Häckchen setzen.

Ich weiß nicht, ob du das Programm noch weiter entwickelst, allerdings würde ich noch eine Funktion zum automatischen Löschen von Dub's einbinden.

Ansonsten wie gesagt top.

mfg Martin

EDIT: Stelle gerade fest, dass dein Programm bei schreibgeschützten Dateien einfach abbricht. Könntest ja noch eine Funktion à la: "Schreibgeschützte Datei löschen: Ja / Ja Alle / Nein / Nein Alle / Abrrechen" eibauen.

himitsu 9. Jan 2007 18:46

Re: SearchSameFiles v0.65
 
So, nun aber mal zur komplett neu erstellten MiniVersion.
In der Alten hatte sich ja hartnäckig ein Fehler in der Namensverwaltung eingenistet, welchen ich einfach nicht fand. :cry:

Es ist eigentlich ein recht einfaches Programm und ohne wirklich groß Spielereien.


Für die UnicodeKompatibilit wurde eine TVirtualStringTree, TntEdit und TntLabel verwendet.

Wer die TNT Delphi Unicode Controls nicht besitzt, der kann einfach auf Delphi's TEdit und TLabel abrsten,
allerdings kann dann als Suchverzeichnis kein UnicodeName mehr eingegeben werden.
(in *2U.pas und *2U.dfm alle "Tnt" ber einen Editor durch "" ersetzen und die Unit TntStdCtrls aus *2U.pas entfernen)

Wer keine Mehrfacheingabe als Suchverzeichnis haben möchte könnte dieses mit AllowMultiDir (Compiler-Schalter) umstellen.

Als Lesemethode wird ReadFileScatter verwendet, aber da dieses erst seit Windows NT Workstation 4.0 SP2 zur Verfgung steht, besteht die Möglichkeit auch dieses ber UseReadFileScatter (Compiler-Schalter) abzuschalten.
Dann wird eben ber ReatFile gelesen, wobei dort per NoBuffering (Compiler-Schalter) die Verwendung der WindowsFileCache steuerbar ist.

  • unicodefähig
  • mehrere Suchverzeichnisse möglich
    einfach mit * trennen (z.B. "C:\*D:\*\E:\Verzeichnis")
  • Drag&Drop zur Suchvereichniseingabe
    auch mit mehreren Verzeichnissen/Dateien
    bei Dateien wird nur die Pfadangabe verwendet
  • Export des Suchergebnisses
    im Binärformat, samt Status der CheckBoxen
  • Import eines gespeicherten Suchergebnisses
  • Daten der Import-Datei werden nicht einzeln geprft ... ich geh einfach mal davon aus, daß wenn die Dateiversion und der FileHash stimmt, dann sind auch die Daten darin korrekt
  • Dateien können ohne "echtes" Löschen aus der List entfernt werden
  • Vorvergleiche per partiellem CRC32
  • MultiSelect in Dateiliste möglich
  • Kopieren der selektieren Dateien
    wird als Ansi und Unicode in die Zwischenablage kopiert.
    ebenso mit DropList fr'n Explorer ... die Dateien können dort ber Einfgenfunktion (Strg+V) hinkopiert werden.
  • die Funktionen im PopupMen wirken sich nur auf die selektierten Dateien aus (abgesehn von Ex-/Import)
  • der graue Gruppedateiname entspricht der häufigsten Datei dieser Gruppe
  • Eingabe des Suchpfades per Autovervollständigung oder ber DoppelKlick ins Editfeld
  • Dateiliste kann natrlich sortiert werden (auf Spaltenberschrift klicken)
  • Dateien löschen: werden in den Papierkorb verschoben, wenn möglich
  • ...
  • !!! Achtung: "Soll gelöscht werden?"-Dialoge gibt es nicht,
    allerdings gibt's 'nen Hinweis, wenn alle Dateien einer Gruppe gelöscht werden sollen.
  • gepeichert (INI, Registry...) wird nirgends was
  • dat war's wohl ... mehr kann dat Programm eigentlich nicht

himitsu 12. Jan 2007 13:06

Re: SearchSameFiles v2.0
 
Zitat:

Zitat von gordon freeman
Ich find das Programm :thumb:

's freut mich ... ist schön, wenn da endlich mal die jahrelange Erfahrung etwas bewirkkt ^^

Zitat:

Zitat von gordon freeman
Hab ca. 4000 Fotos reingepackt und er findet zuverlässig alle 1000 doppelten.

Na dat hoffe ich doch :roll:

Zitat:

Zitat von gordon freeman
Allerdings muss ich jetzt, um die Doppelten zu löschen überall jeweils eins nicht anhacken und alle weiteren mit Häckchen versehen, also um die 1000 Häckchen setzen.

Ich weiß nicht, ob du das Programm noch weiter entwickelst, allerdings würde ich noch eine Funktion zum automatischen Löschen von Dub's einbinden.

Ein bissl was werd ich schon noch machen,
aber dat wird wohl schwieriger, denn nach welchem Muster soll ich denn dann löschen lassen?
OK, möglich wäre jeweils die erste Datei in den Gruppen zu belassen, aber was ist, wenn dann mal einer jede Zweite nöchte und wieder einer nur die Letzte .... :zwinker:

Aber du kannst ja einfach alle Gruppen markieren und dann über's Popupmenü dat Häckchen setzen ... dann mußt du nur noch die 1000 Häckchen wegmachen :stupid:

Wenn die Dateien in unterschiedlichen Verzeichnissen sind, dann besteht die Möglichkeit alle Dateien im selben Verzeichnis (und dessen Unterverzeichnissen) wie die markierte(n) Datei(en) zu ändern.

Ich werde aber mal 'nen neues Menü einbauen, womit man dann in den markierten Gruppen alle Dateien wählen kann, bis auf die Erste.

Zitat:

Zitat von gordon freeman
EDIT: Stelle gerade fest, dass dein Programm bei schreibgeschützten Dateien einfach abbricht. Könntest ja noch eine Funktion à la: "Schreibgeschützte Datei löschen: Ja / Ja Alle / Nein / Nein Alle / Abrrechen" eibauen.

Sollte behoben sein ... hab inzwischen auf 'ne andere Löschmethode umgestellt (Dateien landen jetzt im Papierkorb und demnächst wird man das auch abstellen können). :angel:

[add]
ach ja, ich weiß zwar grad nicht was ich geändert hatte, aber neue Version oben

1ceman 12. Jan 2007 18:58

Re: SearchSameFiles v2.0
 
Zitat:

Ich find das Programm Thumbs up!
da kann ich mich nur anschließen.
könntest als weitere funktion vlt noch einbauen, dass er ähnliche dateien findet(is vorallem für mp3s manchmal von vorteil)
und dass dann angezeigt wird wie ähnlich die dateien sind(in %).

MrKnogge 12. Jan 2007 19:03

Re: SearchSameFiles v2.0
 
Man kann die "Ähnlichkeit" zweier Dateien zwar rausfinden, nur weis ich nicht, ob das bei mp3's zum gewünschten Ergebnis führt. (Bitrate etc. ...)

himitsu 13. Jan 2007 11:30

Re: SearchSameFiles v2.0
 
Dat mit der Ähnlichkeit hatte ich mir auch schonmal vorgestellt, aber wieMrKnogge schon einführte ist es recht schwierig,
denn was definiert man was ähnlich :gruebel:

Ein byteweiser Bergleich bringt nicht wirklich was, also müßte man den Inhalt "dekodieren" und dann vergleichen ... bei Musik also z.B. alles erstmal in ein einheitliches Format umcodieren und dann einen Mustervergleich (lautstärkeunabhängig) durchführen ... da wäre also ein extra Programm viel geeigneter dafür, denn ich müßte dann ja schließlich (wegen der Gerechtigkeit) auch noch massenhaft andere Formate mit implementieren und nicht nur Musik :(

Dunedain 13. Jan 2007 16:56

Re: SearchSameFiles v2.0
 
Sehr schönes (und vor allem schnelles) Prog. Habs mir gerade mal angesehen und es auch gleich mal auf ein Verzeichnis mit ca 6000 Bilder losgelassen.
Die vorhandenen Duplikate wurden (natürlich) alle gefunden, aber wesentlich schneller als bei dem Tool, was ich zuvor benutzte (CloneSpy).

Hab allerdings auch noch nen Verbesserungsvorschlag, die kommt zwar nicht direkt von mir, sondern von der Gewohnheit mit CloneSpy.
Dort gibts die Möglichkeit ältere|neuere Dateien auswählen|löschen, was denke ich mal die Arbeit in vielen Fällen erleichtern würde.

Die Möglichkeit mehrere Verzeichnisse zu durchsuchen ist gut, lässt sich aber imho sehr schlecht ansteuern, da bei einem Doppelklick der erste Pfad überschrieben wird.
Vielleicht könntest du das noch ein bischen "optimieren"?

Außerdem wäre ne kurze Feature Dokumentation in Dateiform, wie sie hier im Forum schon existiert, im Download Archiv mit Sicherheit nicht verkehrt :)

himitsu 16. Jan 2007 18:52

Re: SearchSameFiles v2.0
 
OK, ich hab mich mal etwas versucht und Einiges zusammengestellt...

@gordon freeman:
Dieses währe wohl deinem Wunsch entsprechend?
in allen Gruppen alles markieren, bis auf die erste Datei:
PopupMenü > "Check if not First" = Strg+A > [Context] > S > C


@Dunedain:
Wäre möglich ... ich muß mir jetzt nur noch überlegen, ob ds Datum wärend dieser Auswahlfunktion jeesmal neu ausgelesen werden soll, oder ob ich die Struktur verändere und es wegen der Geschwindigkeit gleich beim Suchlauf mit speichern soll...
Vom Aufwand und Häufigleit der Verwendung her würde ich allerdings wiederwillig zu Letzterem tendieren :?



Im Anhang mal die aktuelle (noch nicht ganz fertige) Datei.
(muß noch Einiges testen und bessere Namen finden)

- Suchverzeichnisse werden gespeichert (INI)
- und dann hat sich vorwiegend was im PopupMenü geändert ... die (Un)Check-Funktionen

[edit]
Anhang (exe) entfernt

himitsu 19. Jan 2007 14:12

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Dunedain
Die Möglichkeit mehrere Verzeichnisse zu durchsuchen ist gut, lässt sich aber imho sehr schlecht ansteuern, da bei einem Doppelklick der erste Pfad überschrieben wird.
Vielleicht könntest du das noch ein bischen "optimieren"?

Na ja, eigentlich war die Programmoberfläche nur für ein Verzeichnis ausgelegt (im Gegensatz zur V1) und die Unterstützung für mehrere Verzeichnise entstand auch nur "zufällig", als mir auffiehl, daß die Vergleichsprozedur eigentlich mehrere Verzeichnisse unterstützen könnte ...

Tja und da es mich ja auch schon etwas gestört hatte, daß dieses ein bissl blöd Nutzbar ist, hab ich nun endlich 'ne "Lösung" gefunden.

Der Verzeichnisauswahldialog und das Drag&Drop hängen jetzt das/die Verzeichnis(se) an, wenn die aktuelle Eingabe mit einem * endet und dann schau mal, was passiert, wenn du jetzt doppelt in das Editfeld klickst :angel:



Zitat:

Zitat von Dunedain
Außerdem wäre ne kurze Feature Dokumentation in Dateiform, wie sie hier im Forum schon existiert, im Download Archiv mit Sicherheit nicht verkehrt

Werd' versuchen mir mühe zu geben ... unten mal ein Anfang :angel:


Ansonsten hab ich grad mal massig umgestellt, so wird das Datum gleich beim Suchlauf mit gespeichert, wodurch es nun auch noch 'ne Spalte damit gibt und es ebenfalls im Export enthalten ist.

Dann hab ich mir die Verwaltung der Oberfläche (Enable und Visible der Controls) zusammengefasst und vereinfacht.

Nun werd' ich noch'n bissl an den UnCheckProzeduren rumspielen...
Einige der Menüpunkte bleiben erhalten, aber ich versuche das ganze noch mal in 'nem Auswahldialog zusammenzufassen (siehe Bild ... "oben" wählt man aus und unten steht dann hoffentlich die Auswahl nochmal im Klartext)

[edit]
Anhang (exe) entfernt

himitsu 28. Mär 2007 18:56

Re: SearchSameFiles v2.0
 
So, hier mal wieder was Neues ... vorerst als Testversion.
  • Verwaltung fr Multiverzeichnissuche etwas berarbeitet.
  • Wird mehr als 1,5 Sekunden an einer Datei gearbeitet, dann blendet sich eine (neue) Fortschrittsanzeige ein.
  • Die Speicherverwaltung wärend der Suche wurde optimiert.
    Die Speicherdefragmentierung sollte sich dadurch verringern.
    An der Geschwindigkeit wird sich dadurch wohl nicht merklich was verbessern (war ja eh schon recht CPU-schonend).
  • Der Lesezyklus beim Vergleichen wurde anders verteilt.
    Hier sollte sich eine "deutliche" Geschwindigkeitssteigerung (beide Dateien auf'm selben Laufwerk) ergeben.

    Bei meiner Testfestplatte war das durchschnittlich 'ne Steigerung um +73% ... von 12,5 MB/s (v2.1.0.4x) auf bis zu 21,6 MB/s.
    (zwei gleiche 2,5 GB Testdateien auf der selben Partition, bei einer Messdauer von 30 Sekunden)
  • Anzeige der Datei-/Verzeichnisnamen im Programmkopf verbessert.
    - Labels durch Static ersetzt
    - und SS_PATHELLIPSIS eingeführt
    jetzt werden sich die Labels bei berlangen Namen nicht mehr bis sonstwohin ausdehnen.
    :!: hier gibts derzeit aber noch ein Problem, daher auch vorerst nur als TestVersion.
    > http://www.delphipraxis.net/internal...=701224#701224

v2.2.0.54 debug

[edit]
Anhang entfernt (derzeit is noch Beiträge weiter unten ein "Gleichwertiger")

TeronG 29. Mär 2007 08:35

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 3)
2 kleine Bugs: (siehe Anhang)

1. Wenn man bei der Statistic (Contact - Donatin) mit der Maus über die Links Fährt wird die Titelleiste mit LEs zugespamt ^^
2. Habe mal meinen Windowsordner gescannt und dabei einen Anzeigebug gefunden. DubSize < 0.

EDIT: Evtl. liegts an 'Unbenannt.JPG'!?

himitsu 29. Mär 2007 16:51

Re: SearchSameFiles v2.0
 
Also erstmal das in der Titelleiste:
ist wie gresagt 'ne Testversion und da hab ich mir unter anderem wegen eines Problems mir unteranderem 'ne Anzeige eingebaut, um zu sehn ob die Ereignissprozeduren überhaupt aufgerufen werden.

Dieses kommt also demnächst wieder raus.

siehe http://www.delphipraxis.net/internal...=701633#701633



8 TB :shock:
Die Dateien unter Error sind all diejenigen, welche nicht geöffnet werden konnten, oder (was wohl eher selten vorkommt) wo es Lesefehler gab.
Die meisten der Dateien in deiner Liste sind von vorwiegend Windows im Schreibzugriff geöffnet,
wärend mein Programm versucht diese nur im Lesemodus und ohne Schreibrechten(Sharing) zu öffnen.

Da ich die Ordner (Dateigröße=-1) und "fehlerhafte" Dateien (Dateigröße=-2) wärend der Suche über negative Dateigrößen verwalte (um mir zusätzliche Speicherplätze zu ersparen) kommt da wohl auch 'ne negatibe Zahl raus :stupid:

Ist mir leider nie aufgefallen, da ich immer mindestens eine doppelte Datei, oder zumindestens keine "Fehlerhaften" im Suchergebnis hatte, so daß dort zufällig was Positives rauskam.
> jetzt wo ich's weiß, is dieser Fehler beim nächsten Mal bestimmt schon behoben.


Im Anhang aber dennoch schon mal was "Neueres" ... da ist eigentlich nur was an der Speicherverwaltung behoben, sonst is alles gleich.
Leider hatte ich ein F (Hexadezimal) zuviel, so daß da schnell mal ein bissl zuhoher Speicherverbrauch entsttehen konnte.
> 350.000 Datei verglichen und so um die 1 GB an RAM verbraucht


[add]
so, nun is endlich mal das Schriftproblem weg
und das Zählproblem hab ich gleich mit behoben (hoff ich zumindest :stupid: )


[review]
jetzt "nur" noch (eventuell) das OnMouseLeave/Enter und das Popupmenü und einige seiner Funktionen :angel2:

[edit 04.08.09] anhang entfernt

himitsu 31. Mär 2007 15:25

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, nochmal ^^

Ich hoffe die "Beschreibung" in der RTF is verständlich.


Bitte mal die EXE testen, hab da vorallem den TopHash gegen BackHash getauscht.

Also forher wurde der 2. Teilhash ab Dateianfang gebildet und nun am Dateiende.
Ich denk zwar daß es dort keine Probleme gibt, aber da ich ja nur in ganzen Sektoren (wegen NonCached) lese, gäbe es Probleme, wenn da nicht an Sektorgrenzen angefangen wird, also wenn da meine Berechnung Länge/Startpos fehlerhaft wäre, würde es nicht funktionieren ._.


Wenn's klappt, dann sollte da noch ein bissl/viel Geschwindigkeitssteigerung herauskommen,
vorallem bei Datei, wo nur das Dateiende verändert wurde ... wie z.B. die ID3-Tags bei Mediadateien.


Sobald ich das Popupmenü fertig überarbeitet hab, kommt's dann wieder als offizielle Version, mit QuellCode raus.

[edit 04.08.09] anhang entfernt

turboPASCAL 31. Mär 2007 20:12

Re: SearchSameFiles v2.0
 
Upps, nach einem Stop kam das:

Delphi-Quellcode:
---------------------------
   | SearchSameFiles
---------------------------
Zugriffsverletzung bei Adresse 004C0FD0 in Modul 'SearchSameFiles2.exe'. Lesen von Adresse FFFFFFFE.
---------------------------
OK  
---------------------------
:gruebel:

himitsu 2. Apr 2007 10:53

Re: SearchSameFiles v2.0
 
Wo kam dat denn her? :shock:

Nur einmal, oder reproduzierbar?


hmmm, FFFFFFFE klingt nach -2, aber dat kann eigentlich nich sein :grübel:

himitsu 5. Apr 2007 18:56

Re: SearchSameFiles v2.0
 
So, hatte jetzt per Zufall auch mal soeine Fehlermeldung bekommen,
allerdings (reproduzierbar) immer nur dann, wenn ein selektierter Eintrag gelöscht wurde.

Hab dann ewig gesucht und dann durch Zufall rausbekommen, daß die ListView versuchte den Eintrag wärend des löschens (als die davon Selektion entfernt wurde) neu zeichnete und ich vorher schon die Daten im Item freigegeben hatte, welche ja für's Neuzeichnen nötig waren.
(bin da fast verrückt geworden, bei der Suche :wall: )


@turboPASCAL: bist du sicher, das es beim Stop war?
weil da ist ja eigentlich die Liste noch leer und das Zeichenproblem dürfte da nicht auftauchen.
Oder hast zumindestens den Fehler nochmals gefunden?


So, dann ist mir jetzt aufgefallen, daß ich beim ganzen Umgebaue die Löschroutine vergessen hatte, so daß da zu 99% nicht gelöscht wurde.
(Naja, zumindestens wurde nicht was Falsches gelöscht)


Das Unterstreichproblem wärend der Suche überseh ich nun einfach (wäre ein zugroßer aufwand da was gegen zu unternehmen ... und das nur wegen den paar "unbedeutenden" Strichen :roll:

Ansonsten hab ich nun auch nochmals angefangen in dem PopupMenü weiterzumachen und alles zu kontrolieren.
(die Einträge ohne * sollten also funktionieren)

Außerdem gab's 'ne Überarbeitung beim LinkCode ... also da wo die angeklickten Links aufgerufen werden.
> wenn alles klappt, dann sollten die wögliches in einem neuen Browserfenster aufgehn und das jeweils im Standardbrowser ... wär schön, wenn das mal ein paar cht-IE-Nutzer mit prüfen könnten.


Der HTML-Export müßte nun auch funktionieren.
> die letzen Fehler bei der UTF-8/HTML-Codierung wurden behoben (die Dateinamen sind ja als Unicode vorhanden)
> und die Datei W3C-konform ausgelegt

Bei dem BinärImport werden ältere Dateien nicht mehr unterstützt, da sich Dateiversion geändert hatte ... aufgrund 'ner kleinen Änderung im Format.

[edit 04.08.09] anhang entfernt

himitsu 31. Jul 2009 09:45

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, hab es nun endlich soweit...
bin jetzt bei Version 3 angelangt, da alles komplett von Grund auf neu geschrieben wurde. :nerd:

Aktuell funktioniert aber nur der Such-&Vergleichalgo und eine erste Variante der Anzeige.
Mir geht es aber zu diesem Stadium auch erstmal nur darum, daß der innere Teil (Suchen und Vergleichen) und der Refresh der Anzeige läuft.
- eine besser Anzeige und die Bearbeitung des Suchergebnisses kommen noch.

Es wird im Programmverzeichnis eine XML mit den Einstellungen gespeichert (der Auswahldialog für das Speicherverzeichnis ist noch nicht aktiv)


so, aber nun zum Programm selber:
  • es wird jetzt in mehreren (4) Schritten gesucht, was es nun endlich ermöglicht restliche die Laufzeit besser einzuschätzen
    - also bei Suchen wird das aktuelle Verzeichnis gezeigt ... aber es geht recht schnell
    - und bei Durchgang 1 bis 3 wird für den Druchgang eine relativ genaue Prozentanzeige geliefert (siehe Statusleiste)
    - und Durchgang 4 (der endgültige Vergleich) kann abgebrochen werden, aber dann liegt nur eine grobe Vergleichsliste vor ... dort können noch ein paar False-True-Meldungen enthalten sein, also Dateien, welche als Gleich gelistet werden, es aber nicht sind
  • es gibt nun auch einen reinen Hashvergleich (MD5)
    und den bekannten direkten und 100%-genauen byteweisen Vergleich.
  • die Dateiliste kann schon wärend der Suche angesehn werden, da die aktuellen Suchergebnise von der Searchengine regelmäig in den TreeView geladen werden.
  • ja und die Anzeige wurde etwas (hoffentlich) übersichtlicher gestaltet
    - nun sind nicht mehr alle Einträge in eine einfachen Liste hintereinander,
    sondern können auch direkt über den Verzeichnispaum parallel betrachtet werden
    - ebenso ist per Doppelklick in die 2 Listen ein Wechsel zum Ort der entsprechenden Datei in der anderen Liste möglich
  • es gibt auch mehrere Arten der Ansicht
    - kompletter Baum mit allen Dateien (auch die "Ungleichen")
    - Verzeichnisbaum mit den "Duplikaten" und nötigen Verzeichnissen
    - Liste aller Duplikate
    - Liste des jeweils ersten Duplikates ... die anderen Duplikate sind ja in der 2. Liste auch sichtbar
    - Liste der Dateien mit Zugriffsproblemen
  • und ich speichere jetzt auch die Fehlercodes, so daß man nun sehn kann, warum auf eine Datei nicht zugegriffen werden konnte
  • beim Klick auf [stop] oder wenn der PC hoffentlich auch, wenn es z.B. in den Standby fährt, schaltet das Programm in einen Pausemodus
  • ja und einfach nicht über den Fenstertitel wundern ... des ist nur 'ne Debug-Statusanzeige für mich :stupid:
  • !!! selbst wenn "ohne WindowsFileCache" nicht auswählt ist, werden dennoch "etwas" intelligent geregelt vorallem größere Dateien dennoch nicht durch die Cache gejagt ... der Schalter stellt nur um, daß alle Dateien nicht mehr da durchgezwängt werden sollen

ja und ich hoffe/denke mal es läuft mindestens ab Win2K

Ansonsten sollte immernoch recht flott verglichen werden :angel:
> z.B. 320 GB in 13.000 Dateien > 450 MB in 460 Dateien doppelt/mehrfach vorhanden > in 3 Minuten auf einer USB-Festplatte
> die alte Version brauchte für knapp 300.000 Dateien á 900 GB etwa 6 Stunden und ich glaub die aktuelle Version war schneller, obwohl ich sie etwas langsamer vermutet hätte ... liegt wohl an der inteligenteren Cache-Verwaltung

[add 11:30] Anhänge getauscht ... irgendwie scheint der Kompiler manchmal die StackGröße von fast 2 MB nicht zu verwenden/zu ignorieren und es kommt zu einem Stacküberlauf ... hab die Lesepuffer also mal umgelagert und laß die 1 MB vom Standard :stupid:
[add 12:00] bei der letzen Optimierung einer Funktion ging wohl was schief :wall:
man konnte den Pausemodus nur noch abbrechen, aber nicht mehr fortsetzen
[edit 01.08. 0:05] Anhänge ersetzt ... siehe nächster Post
[edit 01.08. 20°°] siehe Post #39 [edit] Post #39 kommt später ... ich änder noch schnell etwas
[edit 04.08. 12:20] neue Testversion > siehe Post #39
[edit 04.08. 13:30] kleinen Fehler im Pausemodus des Threads behoben ... man konnte den Thread nun nichtmehr abbrechen
[edit 04.08. 14:00] Synchronisierung Datenbäumchen <> TreeView geändert
[edit] es gibt jetzt nur nich die gezippte EXE ... doppteltest Hochladen ist bei dem UMTS etwas nervig
[edit 07.08. 9:30] neue Version, siehe #42
[edit 28.08. 15:30] neue Version, siehe #43
[edit 28.08. 19:00] Fehlerbehebung, siehe #44

himitsu 31. Jul 2009 23:20

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
anscheinend scheint es zu laufen?
s' hat sich zumindestens noch keiner beschwert :angel2:
  • kleinere Änderungen ... zu unbedeutend, um sie zu erwähnen,
    aber dennoch im Post #36 neue Versionen hochgeladen
  • mit Icons sieht's jetzt hübscher aus
    wie in der neuen und nie veröffentlichten v2.1 werd' ich aber keine Dateispezifischen Icons mehr anzeigen ... die kleine Satz für alle Dateien gleiche Standardicons muß reichen
  • wie man sieht, ist der schnellere Vergleich via MD5 nicht immer schneller :angel2:
    (siehe Anhang)

    nach nur 27 Minuten war ein erster Überblick über ~240.000 Dateien á 970 GB verfügbar
    und nach knapp 2 Stunden war dann alles genau verglichen

    man beachte aber, das bei mir
    a) sehr viele Dateien gleich sind
    b) und nicht grad wenige fast ähnlich (unterscheiden sich nur in wenigen defekten Sektoren)
    c) das eines der Laufwerke ist ein etwas langsameres USB-Plättchen
    also d) würde es bei Vielen, mit einer ähnlichen Datenmenge, vermutlich nicht so lange dauern, da efekiv weniger Daten verglichen werden ... siehe oben rechts > Zeit und tatsächlicher Datendurchsatz :angel2:
  • als nächstes kommt die Behandlung der Checkboxen
    (das der VTV ja nur teilweise geladen wird, muß/will ich ja den Status der Boxen im Vergleichsbaum speichern und da verwalten ... bzw. den Markierungsstatus vom Baum in der Box darstellen),
    ein Popupmenü mit ein/zwei funktionen
    und ein bissl was mit dem Header der TreeView kommt auch noch

toms 1. Aug 2009 07:53

Re: SearchSameFiles v2.0
 
Ich verstehe nicht ganz, wozu die rechte Listview ist? Wie kommen Daten dort rein, damit man doppelte Dateien via "delete selected" löschen kann?

himitsu 1. Aug 2009 08:14

Re: SearchSameFiles v2.0
 
Liste der Anhänge anzeigen (Anzahl: 2)
Dort sind praktisch die Duplikate aufgelistet, welche zur links markierten Datei gehören.
[add] ich werd' aber mal mal einen Dummyeintrag ala "keine Datei selektiert" bzw. "keine Duplikate vorhanden" dort reinmachen, wenn die Liste leer ist.[/add]

Im linken Baum/Liste werden entweder alle Duplikate "full dup list", nur das jeweils erste Dupplikat "dup list", alle Duplikate im Verzeichnisbum "dup tree", alle Dateien "full tree" (hier sieht man über die Icons was mehrfach vorkommt und wo sich was versteckt) oder die Dateien mit Zugriffsproblemen.

Das mit dem Löschen selbst ist aber noch nicht drin - das bau ich gleich mit ein, aber darum ist der Button auch noch deaktiviert.
Wie gesagt, ich mach grad alles von Grund auf neu und das dauert ein Weilchen.

Aber du hast mich eben auf 'ne Idee gebracht ... 'ne Ansicht, wo man mal nur die Markierten sieht, wäre bestimmt nicht schlecht. :stupid:

Und durch 'nen Doppelklick auf einen Namen da rechts kannst man dann auch links in der Liste zu der Datei springen
und wenn ich die Verwaltung der CheckBoxen fertig hab, dann kann man auch endlich links oder rechts die Auswahl ändern, welche dann auch beachtet wird (aktuell tut der TreeView nur so als ob)

[add]
in der alten Version gab es nur diese Ansicht (siehe Bild 2), aber jetzt versuch mal,
obwohl man es zu einem gewissen Grad sortieren lassen konnte (leider nur nach dem ersten Eintag der Dupplicate),
rauszubekommen wie es sonst noch in diesem Verzeichnis aussieht ... nahezu unmöglich :wall:

himitsu 4. Aug 2009 11:31

Re: SearchSameFiles v2.0 (SSF)
 
mal einige Testanfragen:
  • wie läßt sich der Speicherdialog für die Programmoptionen bediehen?
    > siehe http://www.delphipraxis.net/internal...064535#1064535
    > er kann jetzt auch Pfeiltasten, Scrollrad und per Doppelklick auf einen Button eine Direktwahl
  • und das Wichtigste:
    irgendwie hab ich ein Leck/Schleife? :gruebel:
    vorallem wenn man schnell zwischen Pause und Resume umstellt, bleibt der Suchthread anscheinend im Pausemodus hängen
    > Stop ist aber noch möglich ... nur Resume nicht mehr (leider ist das mit dem Debuggen etwas schwer, da der Fehler sich nicht zuverlässig reproduzieren läßt)

    wenn man z.B. schnell und oft [stop] und dann [nein] wählt,
    also auf [stop] drücken, dann [nein] wählen und das öfters hintereinander (oder abwechselnd S und N dücken)

    kann noch jemand diesen Fehler reproduzieren?
  • wenn der PC in in den StandBy oder Ruhezustand wechselt, sollte sich das Programm automatisch in den Pausemodus versetzen und beim Runterfahren natürlich abschalten.
    beim Ruhezustand und Standby weiß ich aber noch nicht, ob es recht zuverlässig funktioniert (vorallem in Vista und Seven kommt ja die nötige Message nicht immer im Programm an :? )
  • das Popupmenü in den Trees ist jetzt drin, aber noch Vieles ist deaktivert,
    dennoch sollte sich dort zumindestens nun der Speicherpfad ändern lassen
  • im rechten Tree für die Duplikate wird jetzt ein Hinweis angezeigt ... ich hoffe es ist so verständlicher, wofür diese Liste gut sein soll
  • außerdem wurde die SearchEngine überarbeitet und sollte nun nochmal etwas flotter arbeiten
  • Testversionen in Post #35

MagicAndre1981 4. Aug 2009 12:58

Re: SearchSameFiles v2.0 (SSF)
 
Hi,

dein Programm hat ein Problem ab NT6.x .Da sind die Dateien im WinSxS Ordner gespeichert und als Hardlinks in die Zielordner (C:\Windows;C:\Programme etc) gemappt, somit sind die Dateien nicht doppelt, obwohl dein Programm sie als doppelt auflistet. Du musst also noch ne Prüfung einbauen ob es Hardlinks sind oder nicht.


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

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