TSearchRec findet nicht alle Datein!?



  • Ich habe heute schon sehr viel programmiert und nun ist mir etwas aufgefallen.

    Wenn ich einen Ordner mit findfirst findnext und faAnyFile durchlaufe, werden mir nur Dateien angezeigt, die auch zur Indexsuche freigegeben sind. Wurde das DateiAttribut so geändert, dass die Datei nicht indiziert werden soll, wird die Datei auch nicht mehr über findfirst etc. gefunden.

    Kann man das noch irgendwie umgehen? Oder hat man dann pech gehabt und einem wird die Datei nicht angezeigt?

    [EDIT]
    Das gleiche gillt auch, wenn die Datei komprimiert werden soll
    [/EDIT]

    Gruß
    Thorsten



  • Wie stehen die Attribute Sys und hidden??? der Dateien



  • ich glaube, das "hidden" auch aktiv war, nur wenn hidden aktiv ist und auch indeziert aktiviert findet er die ja. eine systemdatei war die *.mdb auch nicht.



  • Zeig mal etwas Code der Such- Schleife!



  • hier dir such:

    //Variablendeklaration ANFANG
    
       AnsiString asSuchPfad=Pfad+ "\\*.mdb";
       AnsiString asDatei,asFileInfo;
       TSearchRec srDB;
       DWORD dwAttr;
    
       //Variablendeklaration ENDE
    
       if (FindFirst(asSuchPfad, faAnyFile, srDB) == 0)
       {
         do
         {
            if ((srDB.Attr & faAnyFile) == srDB.Attr)
            {
               asDatei=Pfad+"\\"+srDB.Name;
    
               dwAttr=GetFileAttributes(asDatei.c_str());
    
               asFileInfo=asDatei + "," + srDB.Size + "," + dwAttr;
    
                    ListobjClass *obj = new ListobjClass;
                    obj->FileInfoText = asFileInfo;
                    lst_db->Items->AddObject(srDB.Name,obj);
    
            }
          } while (FindNext(srDB) == 0);
    
          FindClose(srDB);
        }
        else
        {
          //Fehlermeldung wenn keine Datenbank im aktuellem Verzeichnis
          //vorliegt.
          Application->MessageBox("Keine Datenbank gefunden!","...",MB_OK);
        }
    


  • Hallo

    wenn ich die Überprüfung auf

    if (!(srDB.Attr &= faDirectory))
    

    ändere, klappt es auch bei nicht-indizierten Dateien.

    bis bald
    akari


Anmelden zum Antworten