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 d'un dossier (Erreur si meme nom)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Par défaut Création d'un dossier (Erreur si meme nom)
    Bonjour,

    Encore moi désolé de vous prendre du temps
    mais je rencontre encore un problème pour la création d'un dossier

    j'ai fait le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            If dossier1.Text = "" Then
                MsgBox("Tapez le nom d'un dossier")
            Else
                MkDir(dossier1.Text)
                'MsgBox("Dossier créer avec succès")
                MsgBox("Le Dossier (" & dossier1.Text & ") vient d'être créé!")
                dossier1.Clear()
            End If
    le dossier est bien créer seulement si je tape le meme nom du dossier
    j'ai une erreur sur mon appli

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    Consultez la fin de ce message pour plus de détails sur l'appel du débogage
    juste-à-temps (JIT) à la place de cette boîte de dialogue.
     
    ************** Texte de l'exception **************
    System.IO.IOException: Erreur dans le chemin d'accès/fichier.
       à Microsoft.VisualBasic.FileSystem.MkDir(String Path)
       à Bloc_notes.menu.Button1_Click(Object sender, EventArgs e) dans D:\C++\Notes\Bloc_notes\Bloc_notes\Form1.vb:ligne 79
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ButtonBase.WndProc(Message& m)
       à System.Windows.Forms.Button.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
     
     
    ************** Assemblys chargés **************
    mscorlib
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    Bloc_notes
        Version de l'assembly : 1.0.0.0
        Version Win32 : 1.0.0.0
        CodeBase : file:///D:/C++/Notes/Bloc_notes/Bloc_notes/bin/Release/Bloc_notes.exe
    ----------------------------------------
    Microsoft.VisualBasic
        Version de l'assembly : 8.0.0.0
        Version Win32 : 8.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Runtime.Remoting
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    Microsoft.VisualBasic.resources
        Version de l'assembly : 8.0.0.0
        Version Win32 : 8.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/8.0.0.0_fr_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    mscorlib.resources
        Version de l'assembly : 2.0.0.0
        Version Win32 : 2.0.50727.1433 (REDBITS.050727-1400)
        CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
     
    ************** Débogage JIT **************
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.
     
    Par exemple :
     
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
     
    Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
    seront envoyées au débogueur JIT inscrit sur l'ordinateur
    plutôt que d'être gérées par cette boîte de dialogue.
    Avez vous une petit idée s'il vous plait ?

  2. #2
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    Euuh, 2 dossiers avec le meme nom dans le meme repertoire ??????

  3. #3
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Il suffit de faire un test juste apres la saisie du nom, pour voir si le repertoire ou le fichier existe deja.
    Eventuellement rajouter en plus une procedure try catch.

  4. #4
    Membre éclairé Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Par défaut
    Je comprend pas se que tu veux dire
    je fait la vérification avec

    Directory.Exists("Mon_dossier")

    mais le programme plante car le dossier existe deja

  5. #5
    Membre éclairé Avatar de kazylax
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 278
    Par défaut
    Je vient de trouver la solution avec votre aide

    je la donne ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Try
                If dossier1.Text = "" Then
                    MsgBox("Tapez le nom d'un dossier")
                Else
                    MkDir(dossier1.Text)
                    MsgBox("Le Dossier (" & dossier1.Text & ") vient d'être créé!")
                    dossier1.Clear()
                End If
            Catch ex As Exception
                MsgBox("Le Dossier (" & dossier1.Text & ") Existe deja")
            End Try
    merci a vous
    Cordialement,

  6. #6
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Ici le try catch intercepte une erreur, mais pas forcement celle de repertoire deja existant, ca peut etre erreur en ecriture ou tout autre chose.

    moi je ferais plutot comme cela (apres la verif chaine vide)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    If Directory.Exists(dossier1.Text) Then
                    MsgBox("Le Dossier (" & dossier1.Text & ") Existe deja")
    Else
                    Try
                         MkDir(dossier1.Text)
                         MsgBox("Le Dossier (" & dossier1.Text & ") vient d'être créé!")
                         dossier1.Clear()
                   Catch ex As Exception
                         MsgBox("Erreur pendant execution!")
                   End Try
    End If

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

Discussions similaires

  1. [AC-2007] création de dossier en vba avec nom absolu
    Par sylv20 dans le forum VBA Access
    Réponses: 8
    Dernier message: 31/08/2011, 08h48
  2. Création d'un dossier au nom de l'utilisateur
    Par MathieuSaurin dans le forum Langage
    Réponses: 1
    Dernier message: 29/06/2011, 13h10
  3. [Exchange 2003] Erreur à la création d'un dossier public
    Par cynoq dans le forum Exchange Server
    Réponses: 0
    Dernier message: 20/07/2010, 11h44
  4. [OL-2007] Macro outlook pour création dossier et transfert à partir nom expéditeur
    Par Steve5580 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 10/05/2009, 20h47
  5. FieldbyName => deux champs du meme nom
    Par dacid dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/01/2005, 14h05

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