Utilisation de FindFirstFileEx [Résolu]

Messages postés
1212
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
- - Dernière réponse :  Utilisateur anonyme - 18 déc. 2012 à 14:06
Bonjour à tous,

J'ai besoin de texter l'existence (ou non) d'un sous-répertoire, c'est à dire savoir si AU MOINS UN sous-répertoire existe ou non dans un dossier donné.

Pour ça l'API FindFirstFile n'est pas très efficiente car elle ne fait pas le distingo a priori sur dossier/fichier. Sachant que le scan se fait dans un ordre aléatoire, je ne voudrais pas être obligé de scanner X fichiers avant de découvrir qu'il n'y a pas de sous-dossiers.

Par contre j'ai découvert l'API FindFirstFileEx, mais celle-ci utilise un Enum en C (que j'ai) mais sans valeur:
typedef enum _FINDEX_SEARCH_OPS {
    FindExSearchNameMatch,
    FindExSearchLimitToDirectories,
    FindExSearchLimitToDevices,
    FindExSearchMaxSearchOp
} FINDEX_SEARCH_OPS


Je crois me souvenir qu'en l'absence de valeur pour chaque item VB lui attribue un long commençant à 0.

Ma question, quelqu'un a t'il déjà utiliser cette API en VB6 ou possède quelques notions de transposition d'une telle énumération de C vers VB. Cela me rendrait bigrement service.

Merci d'avance.


Calade
Afficher la suite 
A voir également:

2/22 réponses

0
Merci
cela fait ajouter un contrôle peut-être inutile

Pas vraiment inutile, c'est vrai on ajoute un contrôle, mais on s'en sert et on le supprime en suite.

Le coté "lourd" c'est sa création et suppression, mais au niveau du temps de traitement, je ne pense pas que ce soit plus lent qu'une autre méthode.

Tu as raison:
tester réellement pour connaître la + rapide

Je vais essayer entre le Dir() et l'objet DirListBox

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
Résultat:
Je compte le nombre de dossiers dans "c:\windows", "c:\windows\system32" et "c:\windows\fonts"

Fonction Dir: 157 dossiers en 2937 millisecondes
Avec le DirListBox: 157 dossiers en 47 millisecondes

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme