begin process at 2010 03 19 14:19:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Aidez moi à comprendre la procedure suivante svp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aidez moi à comprendre la procedure suivante svp

dimanche 20 août 2006 à 17:55:09 | Aidez moi à comprendre la procedure suivante svp

VTwin

Salut tout le monde,

Voila j'ai recupéré la procedure suivante que j'ai adapté à ma sauce. elle permet de lister tout les fichiers avec l'extension souhaitée dans un repertoire et ses sous repertoires. C'est une procedure recursive.
Pour qu'elle fonctionne, je suis obligé de l'ouvrir dans un nouveau thread, sinon elle ne marche comme il faut. En effet, si je n'ouvre pas de nouveau thead, tout les fichiers ne sont pas trouvés!

Quelq'un peut m'aider à comprendre pourquoi j'ai besoin de faire tourner cette procedure dans un nouveau thread?

Voici le code :


'dans un form :
--------------------------------------------------------------------------
        Dim ThreadSearch As Threading.Thread

        ThreadSearch = New Threading.Thread(AddressOf RunSearch)
        ThreadSearch.Start()
        RunSearch()
----------------------------------------------------------------------------------
    Private Sub RunSearch()

        SearchFile(XG_DriverPath, "*.inf")

    End Sub

-------------------------------------------------------------------------------------
'dans un module :

Public Sub SearchFile(ByVal X_Path As String, X_FileType as String)

'considerons que X_Path est le repertoire racine ou chercher les fichiers
'considerons que X_FileType est le type de fichier recherché (ex : ".inf")
'dès que je touve un fichier, je met son chemin complet dans un tableau XG_TabFiles

        Dim f As Integer

        f = 0

        For Each PathFile As String In IO.Directory.GetFiles(X_Path)
            If InStr(PathFile, X_FileType) Then
                XG_PathFile = PathFile

                XG_TabFiles(XG_TabFiles.Length - 1) = PathFile

                f = f + 1
                ReDim Preserve XG_TabFiles(XG_TabFiles.Length)
            End If
        Next

        For Each PathDirectory As String In IO.Directory.GetDirectories(X_Path)

            SearchFile(PathDirectory, ".inf")

        Next

    End Sub

Merci à vous ! 


dimanche 20 août 2006 à 23:58:34 | Re : Aidez moi à comprendre la procedure suivante svp

white_mage

Il y a plusieurs "problèmes" dans ton code....
La gestion des tableaux est mauvaise...tu dois surement utiliser explicit = true....supprime tout de suite cela...et déclare tout. C'est surement la cause de tout tes problèmes...le compilateur t'expliquera tout.

Sinon, 

...
  f = f + 1 'Ecrit f += 1 (f ne te sert a rien dans ce code...mais utilise le a la place de "XG_TabFiles.Length - 1"
...

  ...     For Each PathDirectory As String In IO.Directory.GetDirectories(X_Path)

            SearchFile(PathDirectory, ".inf") ''''REM Je mettret plutôt X_FileType  que ".inf"

        Next
...

etc..etc...
A+
White_Mage();

lundi 21 août 2006 à 01:25:26 | Re : Aidez moi à comprendre la procedure suivante svp

VTwin

Réponse acceptée !
Merci pour ta reponse White_Mage()

Je te rassure XG_TabFiles est une variable globale que j'ai declaré au prealable et que j'ai oublié de copier-coller dans le post. Toutes mes variables sont declarées 

Pour le reste, merci de m'avoir ouvert les yeux, clair que le f ne sert à rien!!

Bon j'ai refait le test sans ouvrir de nouveau thread... et ca fonctionne aussi (sans rien toucher à cette fonction)
Je sais pas ce que j'ai bidouillé au debut des mes tests, j'avais du oublier quelque chose. d'ailleurs quand j'y repense je ne vois pas en quoi le fait d'ouvrir un nouveau thread peut influer sur le fonctionnement d'une procedure!!

En tout cas merci pour tes conseils et ma question initiale n'a en fait pas lieu d'etre... autant pour moi


Cette discussion est classée dans : thread, procedure, pathfile, xg, tabfiles


Répondre à ce message

Sujets en rapport avec ce message

timer [ par cat ] je suis a la recherche d'une procedure permettant de definir l'intervalle d'un timer comme le temps necessaire à l'execution d'une procedure!je voudra ASP et procedure stockée [ par Raoul ] Bonjour,Je veux afficher les resultats d'une procedure stockée paramétrée dans une page asp mais a chaque fois que j'appelle cette procedure, je recoi mettre la main sur un #@$£!! de thread... [ par Grib ] Voila, ma feuille Excel a des remote links (fonctions d'un Add-in Bloomberg) que je veux mettre a jour quand je l'ouvre, puis je veux sauver et fermer Urgent - VBA + SQL = Stored Procedure [ par Balck Pit ] Bonjour! J'aimerai savoir comment ouvrir une "Stored Procedure" appartenant à une base SQL lorsque je suis dans Access. C'est différent de VB puisq Urgent svp: comment faire un app multi thread??? [ par Cedric_Malache ] Je voudrais réaliser un programme qui lance des threads, j'utilise l'api createthread pour ce faire. J'ai réalisé un petit prototype, mais quand j'exé procedure stockee parametre? [ par hujikole ] bon la procedure stockée marche avec la requete toto sur access:rst.Open "toto", cnn, adOpenKeyset, adCmdStoredProcmais est ce que vous savez faire un Retrouver la cible d'un raccourci : la solution de int19h [ par sebmaurice ] Function PathFile(z$) As StringOpen z$ For Binary As #1s$ = Input$(LOF(1), #1)CloseDo While s$ ""i$ = Mid$(s$, 1, InStr(s$, Chr$(0)) - 1)If InStr(i$, Thread [ par ataeallah ] Bonjour,Quelqu'un peut m'envoyer un exemple d'une petit application qui utilise des Threads?Merci d'avance.@+ Pourquoi une procedure (sub) ne contient pas plus de deux parametre [ par nitocris ] Je ne comprend pas j'ais fais beaucoup de langage, mais en vba je n'arrive pas a faire une procedure ou l'on passe 2 ou + de parametre. Pour faire ca help plz ...aidez moi....lisez mon thread pliiiiiiiiiize [ par Nico5779 ] Je voudrais betement savoir comment je fait pour ouvrir une forme dans une sub (dans le cadre de l edition d une macro sous word mais je pense que ca


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales