[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 -
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 :
Merci d'avance à tous ceux ou celles qui pourront m'aider.
Cordialement
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:
- [V.B 2010 Express]Vérifier les sous-dossiers
- Nero express - Télécharger - Gravure
- Verifier compatibilite windows 11 - Guide
- Express zip - Télécharger - Compression & Décompression
- Visual basic 2010 express - Télécharger - Langages
- Photo express - Télécharger - Retouche d'image
2 réponses
Bonjour,
peut-être comme ça..
A+
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+