Parcours dossier avec Dir

bingo974 Messages postés 7 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 26 mai 2003 - 20 mai 2003 à 12:38
cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003 - 22 mai 2003 à 15:28
Bonour,
G un gros problème avec le parcours de répertoire sur un disque. J'utilise une fonction récursive, qui passe en revue ts les dossiers et qui enregistre des informations dans une dbb. Le résultat est très long à obtenir, voir à la limite de planter pour cause de saturation de mem. Je pense pas que le problème de mem ne vienne pas de l'enregistrement dans un bdd access mais plutôt du parcours du disque avec les éléments dirbox et filebox. Je cherche donc, un autre moyen beaucoup plus light. J’imagine que C réalisable avec la fonction Dir, mais je n'arrive à l'utliser. Si qqun pouvait m'aider à pondre un algo ca serait cool. G besoin de savoir si le fichier examiné est un rep ou en fichier pour faire tourner la fonction récursive. Merci beaucoup

FONCTION création (a partir d'un rep donné)
FOR i=0 to nbr de fichier "dans le rep donné"
APPEL DE LA FONCTION qui rend les informations de mon fichier (i)
ENREGISTREMENT des info dans un bdd
NEXT

FOR i=0 to nbr de rep "dans le rep"
APPEL DE LA FONCTION création dans rep (i)
NEXT
FIN FONCTION CREATION

4 réponses

cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003
20 mai 2003 à 13:22
Salut,

Je connais ce problème... J'ai pondu une routine qui fonctionne pas trop mal en utilisant l'API Win32. C'est plus rapide qu'avec la commande DIR native à VB. Je te la fais passer dès ce soir sur la messagerie interne du site, quand je rentre du boulot. La base de départ est fortement inspiré de l'open source de DC...

Mais il n'y a pas de miracle, si c'est la totalité d'un dique que tu veux balayer, ça prendra forcement du temps... Tout est relatif :) ...

B@se 8-)
0
bingo974 Messages postés 7 Date d'inscription jeudi 8 mai 2003 Statut Membre Dernière intervention 26 mai 2003
20 mai 2003 à 14:30
C sympa, mais tu sais je « débute » en VB et je ne C pas "encore" ce que C l'API win32... Sorry, mais si tu me l'envoies il va falloir m'expliquer comment ca fonctionne. En attendant je demande que ca, apprendre de nouvelles choses et se sera avec un grand plaisir si tu me le montres (si ca fonctionne lol). Maintenant je comprends que C du tps. Et ici, pour tout le monde, le tps C de la programmation... Dc si tu vx te limiter à avec la commande Dir, ce sera deja pas mal

Pour répondre à ta quesiton, je compte passer en revu bien 400 répertoires.. Donc, si je tourne avec une fonction qui prend 2min pour 10 répertoires, quand j'aurais terminé d'exécuter mon algo, la version VB10 sortira.. Il faut absolument que je trouve une solution!

Merci beaucoup :big)
0
cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003
21 mai 2003 à 12:42
Lut,

Ok y a pas de problèmes... La routine est assez simple. La seule dificultée c lors de la création du code, il faut être vigilant car la fonction s'appelle elle-même à chaque génération de dossiers.... Mais tu verras, il n'y a pas de difficulté majeurs...

Hier soir, je n'ai pas pu toucher au PC, mais c promis... Ce soir je te pose le code...

B@se 8-)
0
cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003
22 mai 2003 à 15:28
Salut !!!

Désolé du retard... Ca y est, j'ai posté le source dans la base, comme ça tout le monde en profitera... Voici le lien :

http://www.vbfrance.com/article.aspx?Val=8954

Si tu as besoin d'explications n'hésites surtout pas...

B@se 8-)
0
Rejoignez-nous