Verzeichnissuche

Proggen.org - Lernprojekt: Duplikatefinder
Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Fr Jun 11, 2010 2:03 pm

Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Verzeichnissuche

Beitrag von Xin » Di Jun 15, 2010 9:53 am

Wie sieht's aus?
Kannst Du mit dem Verzeichnisscanner beginnen?

Einfach nur ein Programm, was eine Liste von Dateien mit absoluten Pfaden und Größen ausgibt:

Code: Alles auswählen

/home/user/verzeichnis/
/home/user/verzeichnis/verzeichnis2
/home/user/verzeichnis/verzeichnis2         datei1.txt          10
/home/user/verzeichnis/verzeichnis2         datei2.txt          20
/home/user/verzeichnis/verzeichnis3
/home/user/verzeichnis/verzeichnis3         datei3.txt          15
So in etwa?


So ein Programm würde sich im Repository unter "/branches/bebu/dirtest" erstmal gut machen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Di Jun 15, 2010 1:37 pm

Ist schon zur Hälfte fertig, allerdings nur für POSIX Systeme. Es fehlt noch die Erzeugung des Absoluten Pfades, die Suche als Mulithreading starten zu können, und bisher sind nur Dateiname und Dateigröße tatsächlich im Datenobjekt. Außerdem ist der Startaufruf noch nicht fertig, so das nur die oberste Verzeichnisebene durchsucht wird, gefundene Verzeichnisse werden schon in einen Container gepackt, aber noch nicht automatisch durchsucht es fehlt noch der Verteiler. Trotzdem bin ich schon ganz zufrieden.

Da ich die nächsten Tage nicht viel Zeit haben werde, lade ich mal das hoch, was ich habe.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Di Jun 15, 2010 3:01 pm

So, der Branch ist jetzt hochgeladen. Ich habe versucht, das ganze gleich mit C-Make auszustatten, aber ich habe leider nicht genug Ahnung davon. Vielleicht kann sich das Kerli nochmal ansehen und soweit anpassen, das man es auch komplieren kann.

Bisher ist es nur ein Zwischenschritt, aber immerhin schon mal was vorzeigbares.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Verzeichnissuche

Beitrag von Xin » Di Jun 15, 2010 3:37 pm

Bebu hat geschrieben:So, der Branch ist jetzt hochgeladen. Ich habe versucht, das ganze gleich mit C-Make auszustatten, aber ich habe leider nicht genug Ahnung davon. Vielleicht kann sich das Kerli nochmal ansehen und soweit anpassen, das man es auch komplieren kann.

Bisher ist es nur ein Zwischenschritt, aber immerhin schon mal was vorzeigbares.
Ich weiß nicht, ob ich es diese Woche noch schaffe, da ich leider terminlich ziemlich dicht bin, aber für Aufgaben und Bugs werde ich diese Woche noch einen Bugzilla einrichten.
Da können solche Aufgaben dann "deligiert" bzw. weitergeleitet, begründet abgelehnt oder liegengelassen werden.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Mo Jun 21, 2010 6:01 pm

So, ich habe fertig :D Zumindest das Demoprogramm für POSIX. Die Windowsleute müssen leider noch warten, die Portierung fehlt noch.
Das ganze ist noch nicht wirklich intensiv auf Bugs getestet, diverse Fehlerquellen sind nur sehr stümphaft abgefangen und für eine Klasse so nicht zu gebrauchen.

Features:
-Die Suche läuft als eigener Thread und kann vom Haupthread aus unterbrochen, pausiert und wiederaufgenommen werden.
-Ausgabe von Pfad(relativ aus vom eingegeben Pfad) und Dateigröße.
-Zählung aller Dateien, Verzeichnisse und Syslinks(teilweise implementiert aber nicht benutzt)

Probleme:
-mit POSIX Features einen absulten Pfad zu ermitteln ist nicht so einfach, wie man denkt. Da POSIX Syslinks unterstützt wurde dazu keine Notwendikeit gesehen. Ideen?
-CMake ist sehr stümperhaft benutzt. Ich schaffe es leider nicht das ganze zum kompilieren zu bringen, wenn die POSIX Sachen in einem Unterordner sind. Kerli? Die Dateien da drinnen sind momentan noch überflüssig also nicht wundern.
-Nicht viel getestet, Bugs bitte melden.

in Planung:
-Ereignisse z. B. wenn die Suche beendet ist
-mehr Details einer Datei zu erfassen: Schreibrechte, Besitzer, Erstellungsdatum, Änderungsdatum, Device auf der die Datei liegt.

Ich bitte euch um Feedback, da gibt es bestimmt noch viel zu verbessern
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Verzeichnissuche

Beitrag von Kerli » Mo Jun 21, 2010 6:10 pm

Bebu hat geschrieben:-CMake ist sehr stümperhaft benutzt. Ich schaffe es leider nicht das ganze zum kompilieren zu bringen, wenn die POSIX Sachen in einem Unterordner sind. Kerli?
Ich werde es mir anschauen, aber eher nicht mehr heute :) Wenn ich das richtig verstehe willst du die Dateien aus dem posix Ordner auf Plattformen die POSIX unterstützen kompilieren und zum Programm/zu einer Bibliothek linken, oder?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Mo Jun 21, 2010 6:12 pm

Genau, dummerweise hängen die von einer anderen Klasse ab, die sich aber im Hauptverzeichnis befinden.
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Verzeichnissuche

Beitrag von Kerli » Mo Jun 21, 2010 6:30 pm

Bebu hat geschrieben:Genau, dummerweise hängen die von einer anderen Klasse ab, die sich aber im Hauptverzeichnis befinden.
Und worin liegt dabei das Problem?

Ich stelle mir das ungefähr so vor:

Code: Alles auswählen

\
 | other.h
 | other.cpp
 | interface.h
 | posix
 |      \
 |      implementation.cpp <- implementiert interface für posix
 \ windows
         \
          implementation.cpp <- implementiert interface für windows
Dabei kann man natürlich auch in den Implementationen die Klasse Other (aus other.h bzw. other.cpp) verwenden...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Verzeichnissuche

Beitrag von Bebu » Mo Jun 21, 2010 7:03 pm

Ich scheitere einfach daran, das ich mich mit Cmake nicht wirklich auskenne und immer einen Kompilerfehler bekomme, sobald ich das Unterverzeichnis mitbenutze. Darum wende ich mich ja an jemanden, der sich auskennt ;)
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Antworten