AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi faAnyFile - faDirectory findet keine Dateien mit Attr. e,c
Thema durchsuchen
Ansicht
Themen-Optionen

faAnyFile - faDirectory findet keine Dateien mit Attr. e,c

Ein Thema von PeterPanino · begonnen am 4. Jan 2009 · letzter Beitrag vom 5. Jan 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#11

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 11:12
Bist du dir sicher dass es nicht mit den Attributen zusammenhängt? Wie hast du das getestet? (Archiv-Attribut vielleicht? ntfs-Links?)

Um sozusagen alles was kreucht und fleucht einzufangen kannst du ja mal das hier probieren:

Delphi-Quellcode:
const
faNewAnyFileEx = $00017FFF; // Wirklich alles
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 11:34
Ich glaub ich werde verrückt! Mit faNewAnyFileEx werden jetzt zwar alle Dateien gefunden, aber jetzt ist die Zahl der gefundenen Dateien zu hoch!!!!!

In dem Testordner befinden sich 34 Dateien (nein, es sind WIRKLICH keine versteckten Dateien in dem Ordner), aber faNewAnyFileEx findet jetzt 36 (!) Dateien!! Und wenn ich in dem Testordner einen neuen leeren Ordner erzeuge, werden gleich 3 Dateien mehr angezeigt, also 39 !!!
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 11:42
Aha, die jeweils 2 zusätzlichen Dateien sind "." und "..". Deswegen werden beim Erzeugen eines leeren Ordners gleich 3 neue Dateien gezählt.

Wie bist du übrigens auf den Wert von faNewAnyFileEx gekommen?
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 11:49
Die ultimative Lösung scheint faNewAnyFileEx and not faDirectory zu sein: Dabei werden alle Dateien gefunden und sowohl richtige Ordner als auch "." und ".." ausgesiebt.

Aber wieso faNewAnyFile (ohne Ex) zwar die komprimierten und verschlüsselten Dateien findet, jedoch die vorher genannten Dateien nicht, ist mir immer noch ein Rätsel!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#15

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 12:29
nun ja, faAnyFile ist ja gleich $0000003F;

Das heißt, faAnyFile ist eine Kombination der folgenden:

faReadOnly = $00000001;
faHidden = $00000002;
faSysFile = $00000004;
faVolumeID = $00000008;
faDirectory = $00000010;
faArchive = $00000020;

Die (und nur die) werden also gefunden.

Das faNewAnyFile was ich zuerst vorgeschlagen habe, fügt zu diesem Set noch die Flags "Compressed" und "Encrypted" hinzu, sodass diese beiden Arten zusätzlich gefunden werden.

Das faNewAnyFileEx = $00017FFF; ist nun eine Kombination aus allen Flags, die ich im msdn finden konnte.

Es findet also alles was von findfirstfile zurückgegeben wird und seien es virtuelle oder eine offline-Datei.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 13:02
Danke, jfheins. Wie kann ich herausfinden, welche von den auf der msdn-Seite aufgelisteten Attributen eine Datei hat? Gibt es dafür ein fertiges Utility? Dann könnte ich nämlich herausfinden, welches Attribut dafür verantwortlich ist, dass faNewAnyFile bestimmte Dateien nicht gefunden hat.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#17

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 13:18
GetFileAttributes(dateiname) liefert dir die Attribute einer Datei als DWORD, d.h. als Bitmaske
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 13:19
Ansonsten faAnyFile beiseite legen und die gesuchten Attribute verodern.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 22:13
Ich habe jetzt ein kleines Tool geschrieben, mit dem man die erweiterten Attribute anzeigen kann:

http://resource.dopus.com/viewtopic.php?p=48003

Wie man auf dem folgenden Screenshot sieht, haben alle Laufwerks-Wurzelverzeichnisse (auch C:, D: usw.) das Hidden-Attribut! Kann mir das mal jemand erklären?

http://img183.imageshack.us/img183/6...iverootkk2.gif
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: faAnyFile - faDirectory findet keine Dateien mit Attr. e

  Alt 5. Jan 2009, 22:29
Moin Peter,

Attribute muss man immer im Zusammenhang sehen, da das OS die Bits für die Attribute nicht immer gleich verwendet.
Wofür jetzt das Hidden-Attribut bei Laufwerksbuchstaben verwendet wird, weiss ich allerdings auch nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 Uhr.
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