IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Création de dossier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut Création de dossier
    Bonjour à tous,
    Je viens vers vous pour une petite question. Je souhaite créer un dossier incrémenter de version à chaque fois que j'exécute mon code. Je sais tester si le dossier existe et le créer se ce n'est pas le cas mais je parviens pas à créer ma boucle "FOR".
    Voici mon bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For index_num_version = 1 To 50
                    If System.IO.Directory.Exists(Dossier_fichier & "Fichiers unity_V" & index_num_version) = False Then
                        System.IO.Directory.CreateDirectory(Dossier_fichier & "Fichiers unity_V" & index_num_version)
                    End If
                Next
    En clair, je veux que mon programme me créer le dossier "Fichiers_unity_V1" la première fois que je le lance, "Fichiers_unity_V2", la seconde et ainsi de suite.

    Merci d'avance de votre aide

  2. #2
    Membre actif
    Homme Profil pro
    Futur développeur, étudiant
    Inscrit en
    Juillet 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Futur développeur, étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 67
    Par défaut
    Bonjour quentin22breizh,

    Pourrais-tu rajouter un ".ToString" après les "index_num_version" dans les arguments des fonctions Directory.Exists et Directory.CreateDirectory et voir ce que ça donne ?

    Si tu as toujours des problèmes, dis le moi.

    PS: J'espère que tu es conscient que ton programme risque de générer 50 dossiers !

    @++
    paulolol

  3. #3
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Crois-tu que cette boucle soit la meilleure solution du fait qu'elle est limitée à 50 créations de dossiers ??

    A mon humble avis tu devrais t'orienter vers ce genre de notion :

    Q : Comment connaitre le nombre d'exécution de mon programme ?
    R :
    1- Créer un paramètre utilisateur qui permet de retourner le nombre de fois que le programme est exécuté :

    2- Placer le code dans le constructeur de classe (ou le gestionnaire d’événement .Load de la classe, exemple : Form1.Load) :

    Dans le constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Public Class Form1
        Public Sub New()
            InitializeComponent()
            'On incrémente le nombre d'exécution dans la variable paramètre de l'application.
            My.Settings.NombreExecution += 1
            My.Settings.Save()
     
            'On affiche combien de fois le programme a été exécuté.
            MsgBox(My.Settings.NombreExecution.ToString)
     
            'Tu peux tout aussi bien placer ta routine de vérification et/ou de création de répertoire ici
            '........
            '..........
            '............
        End Sub
    End Class
    OU Dans le gestionnaire d'évènement Load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Public Class Form1
        Public Sub New()
            InitializeComponent()
        End Sub
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'On incrémente le nombre d'exécution dans la variable paramètre de l'application.
            My.Settings.NombreExecution += 1
            My.Settings.Save()
     
            'On affiche combien de fois le programme a été exécuté.
            MsgBox(My.Settings.NombreExecution.ToString)
     
            'Tu peux tout aussi bien placer ta routine de vérification et/ou de création de répertoire ici
            '........
            '..........
            '............
        End Sub
    End Class
    PS : personnellement je créerai le paramètre d'incrémentation ailleurs que dans les settings de l'appli (Registre, fichier .ini, ...etc...), car on connait tous les limites de ce genre de stockage de paramètre .... mais ici c'est purement à titre indicatif.....

    A+

  4. #4
    Membre actif
    Homme Profil pro
    Futur développeur, étudiant
    Inscrit en
    Juillet 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Futur développeur, étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 67
    Par défaut
    Bonjour,

    Wallace1 n'as pas tord, ce qu'il dit est une bonne idée. Personnellement, je sais que j'utiliserais plutôt la deuxième méthode qu'il propose.

    Mais mon post ci-dessus est juste une correction simple de son code. Après c'est à toi de faire un choix, aussi selon tes besoins.

    @++
    paulolol

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut
    Bonjour à tous les deux et merci de vos réponses.

    J'ai mis 50 pour prendre large mais je ne dépasserai pas 2 voir 3 donc je l'ai réduit à 10. En fait je créer des dossiers à partir d'une révision de plan qui dépasse rarement 3-4.

    JE vous joins mon code remis à jour au cas où il pourrait aider quelqu'un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    For index_num_version = 1 To 10
                    If System.IO.Directory.Exists(Dossier_fichier & "Fichiers unity_V" & index_num_version.ToString) = False Then
                        System.IO.Directory.CreateDirectory(Dossier_fichier & "Fichiers unity_V" & index_num_version.ToString)
                        Exit For
                    End If
                Next
    nom_dossier_unity = "Fichiers unity_V" & index_num_version.ToString

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/09/2006, 11h10
  2. probleme de cration de dossier
    Par la-breche dans le forum Windows XP
    Réponses: 2
    Dernier message: 26/05/2006, 17h05
  3. VBA Word - Création 2 dossiers + 2 sauvegardes
    Par wouebmaster dans le forum VBA Word
    Réponses: 16
    Dernier message: 12/01/2006, 13h33
  4. création de dossier
    Par ZaaN dans le forum C++
    Réponses: 7
    Dernier message: 04/01/2006, 20h37
  5. (MS DOS) Création d’un dossier partager
    Par Furius dans le forum Windows
    Réponses: 18
    Dernier message: 06/10/2005, 19h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo