IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Fonction FindFirst() sous Windows 10


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2002
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 4
    Par d�faut Fonction FindFirst() sous Windows 10
    Bonjour � tous,
    Apr�s une installation sans trop de d�g�ts sous Windows 10, je suis confront� � un petit probl�me avec la fonction FindFirst (pour rechercher en l'occurrence des fichiers, avec un masque, par exemple "c:\\temp\\*.xml"). Cette derni�re ne me trouve syst�matiquement rien.
    Est-ce que quelque chose a chang� sous Win10 � ce sujet ? Est-ce que derri�re FindFirst se cache une notion de callback qui n�cessite l'abonnement � un windows message WM_ quelconque ?
    Serait-ce une question de mode de compatibilit� ?
    Merci d'avance !

  2. #2
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    salut
    aucun probl�me avec cette fonction sous windows 10
    peut-�tre une erreur dans ton code..
    poste un extrait si tu veux obtenir de l'aide pour r�soudre ton probl�me
    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2002
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 4
    Par d�faut
    Salut,
    Voici le code qui est employ� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void TFileMgr::SearchFiles(AnsiString mask, TStringList * PList)
    {
       // .......
       TSearchRec sr;
       // .......
       if (FindFirst(mask, faAnyFile, sr) == 0) //Condition jamais remplie, on ne rentre jamais dans la boucle !
       { 
          Application->ProcessMessages();
          do
          {
             PList->Add(sr.Name);
          }
          while (FindNext(sr) == 0);
          FindClose(sr);
       }
    }
    J'ai fait plusieurs essais, y compris remplacer faAnyFile par sa valeur num�rique directe.
    Pour la valeur de mask, j'ai fait plusieurs essais aussi. Du genre :
    - "c:\temp\*.xml"
    - "c:\temp\*.*"

    Merci pour ton aide

  4. #4
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Salut,
    c�est dans ton mask que se trouve ton probl�me
    en effet c:\temp\*.xml devrait s'appeler c:\\temp\\*.xml

    voici un exemple de la faq
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    void Search(std::list<std::string>& listFile, std::string directory, std::string filtre) 
    { 
      TSearchRect file; 
      int retour ; 
      if(directory[directory.length()-1] != '\\') 
        directory += "\\"; 
      directory += filtre; 
      retour = FindFirst(directory.c_str(),0,file); 
      while(retour == 0) 
      { 
        if((file.Attr & faDirectory) != 0) 
        { 
          Search(listFile,file.Name,filtre); 
        }else{ 
          listFile.push_back(file.Name.c_str()); 
        } 
        retour = FindNext(file); 
      } 
      FindClose(file); 
    }



    cdlt
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2002
    Messages
    4
    D�tails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 4
    Par d�faut
    Salut,
    Oui bien s�r c'est entendu, c'est effectivement ce qui est fait
    Pour info, ce code fonctionne depuis une douzaine d'ann�es sur XP et 7, mais le premier essai sous Win 10 a �t� infructueux. Je suis perplexe...
    Histoire de contr�ler si tout va bien (droit d'acc�s, etc), je pourrais essayer d'�valuer l'existence selon W10 de mon r�pertoire de base. En r�alit� c'�tait un lecteur r�seau authentifi�, pour information (genre "F:\\config\\*.xml"). Il faudrait que j'essaye aussi avec un r�pertoire local.

Discussions similaires

  1. Fonction isspace sous Windows et �
    Par troumad dans le forum C
    R�ponses: 3
    Dernier message: 01/04/2011, 11h42
  2. Home server (+ fonction multimedia) sous Windows
    Par adiekmann dans le forum Windows
    R�ponses: 0
    Dernier message: 04/04/2009, 14h02
  3. fonction kbhit sous windows
    Par blabla06 dans le forum Windows
    R�ponses: 4
    Dernier message: 03/06/2008, 16h30
  4. Fonction crypt sous Windows? HELP
    Par carter15_2001 dans le forum C
    R�ponses: 6
    Dernier message: 16/12/2005, 18h48
  5. Fonction sleep sous Windows
    Par Veve44 dans le forum C
    R�ponses: 2
    Dernier message: 07/12/2005, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo