AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Warum findet Findfirst nicht alle dateien ?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum findet Findfirst nicht alle dateien ?

Ein Thema von Corpsman · begonnen am 27. Sep 2007 · letzter Beitrag vom 30. Okt 2007
Antwort Antwort
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Warum findet Findfirst nicht alle dateien ?

  Alt 27. Sep 2007, 18:36
HAllo miteinand,

ich wollte mir ein kleines Tool bauen das meine Festplatte nach Dateien durchsuchen kann ( da das in WinXP ja meinstens nicht sauber geht ). Im Wesentlichen hab ich es gemacht, weil mein Tool so schön wie der suchen Dialog aus Win98 gestaltet ist.

Nun habe ich folgende Procedure die das suchen macht

Delphi-Quellcode:
Procedure GetFilesInDirectory(ADirectory: String; AMask: String; ARekursiv: Boolean);
Var
  SR: TSearchRec;
Begin
  If (ADirectory <> '') Then
    If (ADirectory[length(ADirectory)] <> '\') Then
      ADirectory := ADirectory + '\';

  If (FindFirst(ADirectory + AMask, faAnyFile And Not faDirectory, SR) = 0) Then Begin
    Repeat
      If (SR.Name <> '.') And (SR.Name <> '..') Then
        AddFinding(ADirectory + SR.Name, SR.size);
    Until FindNext(SR) <> 0;
    FindClose(SR);
  End;

  If ARekursiv Then
    If (FindFirst(ADirectory + '*.*', faDirectory, SR) = 0) Then Begin
      Repeat
        If (SR.Name <> '.') And (SR.Name <> '..') And (SR.Attr And FaDirectory = FaDirectory) Then Begin
          GetFilesInDirectory(ADirectory + SR.Name, AMask, {AList,} True);
      Until FindNext(SR) <> 0;
      FindClose(SR);
    End;
End;
Das Problem ist nun aber das diese Procedure Dateien die in

C:\Dokumente und Einstellungen\Administrator\Anwendungsdaten\

liegen nicht findet.

weis zufällig jemand wieso ?

bzw wie ich das beheben kann.

Habe auch mal ausgeben lassen in welchen Verzeichnissen der Rechner sucht. und witzigerweise findet er dieses Verzeichnis gar nicht. Klar das er dann darin auch nicht sucht...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Warum findet Findfirst nicht alle dateien ?

  Alt 27. Sep 2007, 18:37
lol ich habs rausgefunden

FAhidden hat gefehlt.

dieses Verzeichniss ist versteckt..
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Warum findet Findfirst nicht alle dateien ?

  Alt 27. Sep 2007, 19:04
waru machst du 2 schleifen mit findFirst. Nimm einfach eine einzelne und prüfen dann darin ob es sich um ein verzeichnis handelt oder nicht
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Warum findet Findfirst nicht alle dateien ?

  Alt 27. Sep 2007, 19:05
Das gleiche passiert dir auch mit der Windowseigenen Suchfunktion. Such mal ne File die in einem der versteckten Verzeichnisse liegt. Findet es nicht, bzw. zeigt es dir als Suchergebnis einfach nicht an!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

Re: Warum findet Findfirst nicht alle dateien ?

  Alt 28. Sep 2007, 11:43
Zitat von Mackhack:
Das gleiche passiert dir auch mit der Windowseigenen Suchfunktion. Such mal ne File die in einem der versteckten Verzeichnisse liegt. Findet es nicht, bzw. zeigt es dir als Suchergebnis einfach nicht an!
Du musst in den Einstellungen "Weitere Optionen" den Haken vor "Versteckte Elemente durchsuchen" einschalten, damit er alles findet.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#6

Re: Warum findet Findfirst nicht alle dateien ?

  Alt 30. Okt 2007, 09:33
theoretisch sollten diese Optionen wohl helfen, aber irgendwie is vorallem seit XP da einiges an der Windowssuche futsch.

der findet einiges nicht
dann duchsucht dieses ding z.B. nahezu jede ZIP und was darin gefunden wird kann man nicht irchitg zuordnen
und mit abeaschaltetet Indexfunktion der Plättchen geht fast nüschts mehr korret,
vorallem beim Durchsuchen der Dateiinhalte.


hatte mir vor Ewigkeiten da och mal sowas gebastelt, nur 'nen extremen Happen einfacher), aber mehr brauchte ich eigentlich nicht.
aber wenn du dann mal fertig bist ... kannst ja gerne mal Zeigen was rausgekommmen ist ^^
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:31 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