Explorer-Verzeichnis/Algorithmus Frage



  • Hallo...

    Da ich hier neu bin und dies mein erster Thread ist hoffe ich das ich auch das richtige forum für dieses Thema gewählt habe.( sollte dies nicht der Fall sein so verschiebt diesen thread bitte oder teilt mir das mit )
    Gleich vorne weg: " man kann mich getrost als absoluten Anfänger in C++ verstehen, deshalb kann es passieren das ich eure erklärungen und statements zu meinen Thread vielleicht nicht verstehe . Ich hoffe das sich dann alles aufklärt 🙂

    Ich brauche eure Hilfe bei der Frage : " wie rufe ich ein Explorer-Verzeichnis auf ? " ( ich hoffe das ist die richtige Bezeichnung dafür )

    und :

    " kenn ihr den allgemeinen mathematischen Algorithnmus für eine Tiefensuche ? "

    wenn ich mich zu unklar ausgedrückt habe .. so bitte ich euch mir das zu sagen.
    Da mir sehr daran liegt diese Probleme zu klären werde ich dann alles tun was ich kann um meine Fragen zu prezisieren bzw. euch zu helfen, mir zu helfen 😉

    und wie schon oben erwähnt hoffe ich keine Regel- oder sittenverstöße mit diesem thread zu begehen 🙂

    es würde mich echt freuen wenn ihr mir helfen könntet.

    mfg, Duplexxx



  • Was ist ein Explorerverzeichnis ?

    Zum Thema Tiefensuche schon mal ins Wiki geschaut ?

    Ohne mich mit dem Thema auszukennen, schaut http://de.wikipedia.org/wiki/Tiefensuche schon mal nicht so schlecht aus.



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Meinst Du

    ShellExecute(NULL, _T("explore"), _T("c:\\"), NULL, NULL, SW_SHOWNORMAL);
    


  • erstmal danke für die schnelle Reaktion...

    und ich möchte mich entschuldigen wenn ich nicht genau genug war.

    ich möchte versuchen mich vertändlich zu machen.
    am Besten ist es Wohl wenn ich mein Ziel beschreibe:

    Ich möchte innerhalb des Programms eine Liste aufsellen, die alle Nicht-Ordnerelemente eines vorher angegebenen Verzeichnises ( inkl. aller Unterverzeichnisse) enthält.

    wie genau sähe nun der Quelltext bzw. der algorithmus dafür aus ?

    ich entschuldige mich, soltte ich für Verwirrung gesorgt und den Eindruck des "Volldeppen" hinterlassen haben.

    trotzdem danke ich für den Wikipedia-Link ( der hat mir schon sehr geholfen danke sehr 🙂 )

    mfg, Duplexxx



  • Du kannst FindFirstFile() und FindNextFile() verwenden, um dein Verzeichnis zu durchsuchen - für Unterverzeichnisse rufst du die Funktion rekursiv neu auf, alle anderen Dateien packst du in deine Liste.



  • Und du brauchst dich nicht so oft zu entschuldigen 😉
    Und da du so neu bist, will ich dir auch noch ein bissl mehr unter die Arme greifen... Wie CStoll sagte, nimm am Besten FindFirstFile und FindNextFile. Die brauchen als Parameter auch eine Struktur WIN32_FIND_DATA. Nach dem Aufruf von FindFirst/NextFile kannst du anhand von dwFileAttributes in WIN32_FIND_DATA nachsehen, ob es ein Verzeichnis ist (xxx.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY). Dabei wirst du auch "." und ".." als Verzeichnisse bekommen. Die kannst du aber rausfiltern, ein Verzeichnisname darf nicht mit einem Punkt beginnen 🙂



  • Hier im Forum im FAQ von WinApi sollte auch ein Bsp. für FindFile sein. Willst du die Dateien nur in einer List anzeigen oder wie? Oder willst du richtig wie der "Explorer" von Windows das man auf die Dateien raufklicken kann und verschieben und bla und blubb?

    Hast du schon Erfahrungen mit WinApi oder noch garnix damit gemacht? Weil das ist für einen Leihen alles nicht so einfach zu Verstehen mit irgendwelchen Nachrichten usw. 🙂 Nur so als Hinweis.

    MfG schirrmie



  • Rekursiv, rekursiv ➡ Verzeichnise Rekursiv ausgeben... 😃 .



  • OMG!

    gleich soo viele Antworten und so wies aussieht sind wir auf der richtigen Spur 🙂

    das einzige nun auftretende Problem ist : meine extreme Unwissenheit 😞

    ich habe ( um auf die oben gestellte frage zu antworten ) keine ahnung von WinApi ich bin sozusagen ein echter Programmier-noob...

    allerdings verstehe ich die methode nach "." und ".." zu suchen ... einfach genial einfach um Ordner von regulären Dateien zu unterscheiden.. danke für die Mitteilung das hilft schonmal sehr beim Verständnis.

    Dennoch würde ich eine kleine Hilfe zu CodeFinders Quelltext SEHR begrüßen :p 😃

    also erstmal VIELEN DANK ! ich rechne es euch hoch an das ihr mir helft vor allem da ich wahrscheinlich noch viele Nerven kosten werde, denn es wird wohl einiges erforden mir Programmieren beizubringen 😃

    achja , falls dies auswirkungen haben sollte... ich Programmiere mit Visual Studio 2006 ( ich hörte das es dort kleinere Unterschiede geben soll )

    also nochmal vielen Dank ich freue mich schon auf die nächsten Antworten 😋

    mfg, Duplexxx



  • Duplexxx schrieb:

    allerdings verstehe ich die methode nach "." und ".." zu suchen ... einfach genial einfach um Ordner von regulären Dateien zu unterscheiden.. danke für die Mitteilung das hilft schonmal sehr beim Verständnis.

    Ups, nicht dass du das falsch verstanden hast 😉 Mit "." und ".." kannst du nicht nach Verzeichnissen oder Dateien suchen! Wenn du z.B. beim Suchen "*" angibst, bekommst du ja alle Dateien und Verzeichnisse im aktuellen Ordner. Ob das jetzt ein Verzeichnis oder eine Datei ist, kannst du mit dwFileAttributes prüfen. Und zwei der Verzeichnisse werden "." und ".." heißen, wollte nur nicht, dass du dich wunderst 😃


Anmelden zum Antworten