Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1750 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème avec un boucle For Each et une fonction recursive

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec un boucle For Each et une fonction recursive

n°824889
splitef
Posté le 17-08-2004 à 11:35:52  profilanswer
 

Bonjour à tous  
 
J'ai un gros problème que j'arrive pas à résoudre alors si vous avez une petite idée se serai cool. Voilà mon problème :  
 
Dans une boucle For Each je parcours des dossiers, dans cette même boucle, je définie une fonction récursive qui va scanner les sous dossier d'un répertoire, mais lorsque je définie cette fonction le débuguer de VBS me signale une erreur de syntaxe.  
A mon avis tout est écrit correctement et le problème vient d'autre part, mais je ne sais pas d'où. Je vous joins le code...
 

Code :
  1. Set ptObj = CreateObject("Scripting.FileSystemObject" )
  2. Set ptDossierMusique = ptObj.GetFolder("E:\Music" )
  3. Set Musique = ptDossierMusique.SubFolders
  4. i = 1
  5. For Each DossierNomLib in Musique
  6. 'If DossierNomLib.name <> "Librairie" Then
  7. CheminLib = "C:\Data\Librairie_"& DossierNomLib.name &".txt"
  8. CheminMusique = "E:\Music\"& DossierNomLib.name
  9. Set txtF = ptObj.OpenTextFile(CheminLib,2,1)
  10. Set ptDossier = ptObj.GetFolder(CheminMusique)
  11. Set Fichier = ptDossier.Files
  12. Set Dossier = ptDossier.SubFolders
  13. Function SauveFichier()
  14. For Each Tab2 in Dossier
  15. Set ptDossier = ptObj.GetFolder(Tab2)
  16. Set Dossier = ptDossier.SubFolders
  17. Set Fichier = ptDossier.Files
  18. For Each Tab1 in Fichier
  19. If Tab1.Type = "Winamp media file" Then
  20. ContenueF = ptDossier.Path & "\" & Tab1.name
  21. txtF.WriteLine ContenueF
  22. i = i+1
  23. End If
  24. Next
  25. If Dossier.count <> 0 Then
  26. For Each Tab3 in Dossier
  27. SauveFichier()
  28. Next
  29. End If
  30. Next
  31. End Function
  32. 'End If
  33. Next


 
Merci de votre aide  
 
Amicalement
Splite :)

mood
Publicité
Posté le 17-08-2004 à 11:35:52  profilanswer
 

n°825196
dividee
Posté le 17-08-2004 à 16:17:40  profilanswer
 

:pt1cable:  
Définir une fonction dans une boucle, j'ai encore jamais vu ça (en VBS en tout cas).
Définis ta fonction (qui prend un dossier en argument) en-dehors de ta boucle et contente toi de l'appeler depuis ta boucle!


Message édité par dividee le 17-08-2004 à 16:18:15
n°825636
splitef
Posté le 18-08-2004 à 09:19:03  profilanswer
 

merci, c'est vrai que c'est completement con ce que j'ai fais, mais j'ai mis pas mal de temps à m'en rendre compte...
je l'est sortie de la boucle et tout marche impec maintenant !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème avec un boucle For Each et une fonction recursive

 

Sujets relatifs
[php]problème avec la fonction logique || [resolu]appel des variables php dans une fonction php
problème passage paramètre pthread_create ?Problème avec addslashes
Probléme Datatype image avec SQL server 2000[Access] Arguments de la Fonction IIf
[BCB6] problème de conversion de couleur hexaProblème de session
Problème d'Envoi de Résultats d'un Formulaire 
Plus de sujets relatifs à : Problème avec un boucle For Each et une fonction recursive


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR