Ordnerliste erstellen

deinen Quellcode hab ich jetzt endlich verstanden ..du hast recht ghabt ich brauch die winapi weil ordner mit dateiendungen...ich weis das is komisch ..wie auch immer kann man nur mit findfirstfile anzeigen ...bei findfirst und findnext war das nicht implementiert
 
jaja ich weis ich lass ned so schnell locker aber
ich hab das nochmal betrachtet und soweit wie es mir möglichwar vervollständigt aber ich find nicht die nötigen attribute um alle ordner anzuzeigen bei genauerer betrachtung der fertigen lösung bin ich draufgekommen dass das programm bei den verstecken ordnern und dem ordner mit dateiendung glaubt dass dies dateien sind ;(
wenn ich NUR FILE_ATTRIBUTE_NORMAL angeb zum ausgeben bekomm ich komischerweise 0 ordner oder dateien und da müsste eigentlich alles angezeigt werden oder etwa nicht?
 
Könnte es daran liegen, dass du die Attribute direkt vergleichst, anstatt das gewünschte Bit freizufiltern?
Z.B.
Code:
if ( wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{
  // richtig
}
anstelle von.
Code:
if ( wData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY )
{
  // suboptimal :)
}
Beachte & und ==.
Es können ja mehrere Attribute miteinander verodert sein. Vielleicht verstehe ich aber auch dein Problem falsch.
 
wenn das dasselbe wie
Code:
FData.dwFileAttributes &= FILE_ATTRIBUTE_DIRECTORY
das ist dann ja

jetzt gehts auf einmal
nur auf die art funktioniert noch immer nicht file_attribute_normal
abgesehn davon wenn ich es so getestet hätte wäre es mit findfirst auch gegangen
------
ist die win32 sdk schlecht erklärt oder heisst FILE_ATTRIBUTE_ARCHIVE einfach dass es ne ganz normale datei ist?
 
Zuletzt bearbeitet:
ist die win32 sdk schlecht erklärt oder heisst FILE_ATTRIBUTE_ARCHIVE einfach dass es ne ganz normale datei ist?
Weder noch. Aus MSDN:
FILE_ATTRIBUTE_NORMAL The file has no other attributes set. This attribute is valid only if used alone. All other file attributes override this attribute.
Daraus schliesse ich, das es möglich ist, dass dieses Flag zusammen mit anderen gesetzt sein kann. Es ist dann jedoch bedeutungslos. Ob das sinnvoll ist, kann ich nicht sagen.
 
anhand der win32 sdk sehe ich dass FILE_ATTRIBUTE_NORMAL nur funktioniert wenn es allein gesetzt wird ...warum auch immer jedenfalls ...jetzt weis ich endlich was ich immer falsch gemacht habe :)
 
Zurück