[V.B 2010 Express]Vérifier les sous-dossiers

Résolu
pilotepro Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   -  
pilotepro Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voilà j'ai un problème simple mais qu'il m'est impossible de résoudre, même en tournant le problème dans tout les sens je n'ai toujours pas réussi à le résoudre. Sachant que je suis débutant en la matière, je m'efforce d'apprendre alors merci d'avance de votre aide. Voici donc mon problème, j'ai un programme qui va procéder au traitement d'un dossier. Sachant que j'ai besoin que l'utilisateur sélectionne un dossier contenant un addon correct, je dois vérifier si il contient un sous-dossier particulier donc j'utilise la commande suivante "For Each VérificationDossierAddon In My.Computer.FileSystem.GetDirectories(FenêtreChoisirAddon.SelectedPath)". Ainsi, la variable "VérificationDossierAddon", va prendre successivement les valeurs des noms des sous-dossiers. Donc, il ne me reste plus qu'a vérifier si dans les sous-dossiers l'un d'entre eux contient le mot "model" qui correspond au nom du sous-dossier qui m'intéresse pour voir si il s'agit bien d'un dossier valide, je réaliser cela grâce à la fonction suivante "VérificationDossierAddon.Contains("model")". Et dans le cas contraire si aucun sous-dossier portant le nom qu'il m'intéresse n'est relevé alors j'affiche un message d'erreur. Mais, vu que la variable "VérificationDossierAddon" prend successivement le nom de chaque sous-dossier, sachant que le bon dossier est le premier qu'elle relève, tout va bien je reçoit un message me disant que le dossier est valide, mais le soucis c'est que je reçoit ensuite plusieurs messages me disant que le dossier n'est pas valide car la variable passe au sous-dossiers présents avec celui qui m'intéresse pour la vérification. Le nombre de message incorrects correspond au nombre de dossier qui ne porte pas le nom qui m'intéresse. Or, vu que chaque addon est différent je ne peut pas imposer des noms de sous-dossier a part celui-ci qui est commun à tous. Alors, comment n'afficher qu'une fois le message OK ou ERREUR et surtout en fonction seulement du dossier qui m'intéresse et pas des autres ?

Voici le code :

FenêtreChoisirAddon.ShowDialog()   
        FenêtreChoisirAddon.SelectedPath = FenêtreChoisirAddon.SelectedPath.ToLower()   

        For Each VérificationDossierAddon In My.Computer.FileSystem.GetDirectories(FenêtreChoisirAddon.SelectedPath)   
            VérificationDossierAddon = VérificationDossierAddon.ToLower()   

            If ChoixTypeAddon = "AvionsHélicoptères" And VérificationDossierAddon.Contains("model") Or ChoixTypeAddon = "Scènes" And VérificationDossierAddon.Contains("scenery") Or ChoixTypeAddon = "Textures" And VérificationDossierAddon.Contains("texture") Then   
                ChoixAdresseDossierAddon = FenêtreChoisirAddon.SelectedPath   
                MsgBox("OK !")   
            Else   
                MsgBox("ERREUR !", MsgBoxStyle.Critical)   
            End If   
        Next   

Merci d'avance à tous ceux ou celles qui pourront m'aider.

Cordialement
A voir également:

2 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
peut-être comme ça..
    Sub vv()
        FenêtreChoisirAddon.ShowDialog()
        FenêtreChoisirAddon.SelectedPath = FenêtreChoisirAddon.SelectedPath.ToLower()

        For Each VérificationDossierAddon In My.Computer.FileSystem.GetDirectories(FenêtreChoisirAddon.SelectedPath)
            VérificationDossierAddon = VérificationDossierAddon.ToLower()

            If ChoixTypeAddon = "AvionsHélicoptères" And VérificationDossierAddon.Contains("model") Or ChoixTypeAddon = "Scènes" And VérificationDossierAddon.Contains("scenery") Or ChoixTypeAddon = "Textures" And VérificationDossierAddon.Contains("texture") Then
                ChoixAdresseDossierAddon = FenêtreChoisirAddon.SelectedPath
                MsgBox("OK !")
                Exit Sub
            End If
        Next

        MsgBox("ERREUR !", MsgBoxStyle.Critical)
    End Sub

A+
1
pilotepro Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonsoir,
Merci infiniment lermite222 le problème est enfin résolu grâce à vous.

Merci encore et bonne fin de soirée.

Cordialement
0