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 :

petit souci dans le transfert d'un fichier [Débutant]


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut petit souci dans le transfert d'un fichier
    Bonjour,
    J'ai fait un petit bout de code pour transferer un fichier d'un rep a un autre de mon DD
    Ce fichier n'a pas de nommage fixe. C'est un .jpg defini par "contenu_de la textbox1.jpg". Ainsi, si ma textbox contient marcel, le fichier sera marcel.jpg et si elle contient paul, le fichier sera paul.jpg

    l'action deplacement est faite sur clic d'un button "cut".
    Dans mes declarations initiales, j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private path As String = "\\nas\rep1\rep2\rep3\rep4\rep5\.*.jpg"
    Private path2 As String = "\\nas\rep1\rep2\rep3\rep4\rep6\.*.jpg" (rep6 car c'est ici qu'intervient le deplacement)
    et sur mon clic, j'ai fait :
    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
    Private Sub Buttoncut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttoncut.Click
            Try
                If File.Exists(path) = False Then
                    ' verification que le fichier existe,
                    'sinon le crée     
                    Dim fs As FileStream = File.Create(path)
                    fs.Close()
                End If
     
                ' vérification que ne fichier n’existe pas deja dans le rep destination.
                If File.Exists(path2) Then
                    File.Delete(path2)
                End If
     
                ' deplacement du fichier
                File.Move(path, path2)
                Console.WriteLine("{0} moved to {1}", path, path2)
     
                ' See if the original file exists now.
                If File.Exists(path) Then
                    Console.WriteLine("The original file still exists, which is unexpected.")
                Else
                    Console.WriteLine("The original file no longer exists, which is expected.")
                End If
            Catch
                Console.WriteLine("The process failed: {0}", e.ToString())
            End Try
     
        End Sub
    ca ne fonctionne malheureusemet pas, je n'ai pas de message d'erreur mais rien ne se passe et si je remplace par , j'ai l'erreur
    la variable e masque une variable dans un bloc englobant
    Je n'arrive pas a trouver mon erreur et vous remercie de votre aide

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Il y a un argument qui s'appelle "e". Tu ne peux donc pas utiliser une variable du même nom. Tu peux l'appeler "ex" par exemple

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    le mask pour rechercher un fichier c'est *.jpg et pas .*.jpg

    il faut supprimer les *.jpg de PathSource et PathDestination par exemple "\\nas\rep1\rep2\rep3\rep4\rep5\"

    dans btn_click
    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
     
    Private Sub Buttoncut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttoncut.Click
    Try
     
        Dim FileSource As String
        Dim FileDestination As String
        FileSource =  PathSource + txtFileName.Text + ".jpg"
        FileDestination = PathDestination + txtFileName.Text + ".jpg"
        If File.Exists(FileSource ) = False Then 
           MessageBox.Show("Fichier introuvable")
           Exit Sub
        End If
        If File.Exists(FileDestination ) Then
            File.Delete(FileDestination )
        End If
        File.Move(FileSource,FileDestination)
     
    Catch ex
               MessageBox.Show(String.Format("The process failed: {0}", ex.ToString()))
    End Try
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    alors ok merci pour l'aide mais maintenant j'ai un souci avec filename.text (option strict on rejette toute liaison tardive et avec "ex" qui me dit "non déclaré" alors que je l'ai déclaré

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    Alors il n'y a jamais de filename.Text dans le code que j'ai donné

    Au mieux il y a txtFileName.Text euh que j'ai mal nommé et qui devrait etre tbFileName.Text et qui correspond au nom de la TextBox dans lequel l'utilisateur rentre le nom donc il faut remplacer txtFileName par le vrai nom de ta TextBox.

    Pour le catch
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Catch ex As Exception
               MessageBox.Show(String.Format("The process failed: {0}", ex.ToString()))
    End Try
    Je code en C# donc ma syntaxe VB n'est pas toujours au top mais logiquement tu devrais pouvoir t'en sortir si tu connaissais toi aussi la syntaxe VB.Net

  6. #6
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    ce qui est archi vrai me concernant ..... mais si en même temps je connaissais parfaitement la syntaxe vb.net, je ne poserais pas de questions aussi stupides ..... je me bafferais bien tiens .....

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    ah ben maintenant arguments trop nombreux pour sourcefilename et destfilename a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     File.Move(FileSource, FileDestination, True)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileSource = "\\nas\rep1\rep2\rep3\rep4\rep5\" & Textbox1.Text & "-" & .textbox2.Text & ".jpeg"
    FileDestination = "\\nas\rep1\rep2\rep3\rep4\rep6\" & Textbox1.Text & "-" & .textbox2.Text & ".jpeg"
    trop de parametres ???

  8. #8
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    non pas du tout, "FileSource" et "FileDestination" sont des string.
    L'erreur n'est pas pour ça.

    Elle se situe au niveau de "File.Move"?
    je ne vois pas pourquoi tu met "True", essaye plutôt comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     File.Move(FileSource, FileDestination)

  9. #9
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    oui exact je viens de trouver la methode file.move et ses arguments.
    En plus le debogeur me montrait l'exemple .......
    Tout fonctionne parfaitement je passe en resolu
    Gros merci a vous pour l'aide

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    Citation Envoyé par hunteshiva Voir le message
    Bonjour,

    non pas du tout, "FileSource" et "FileDestination" sont des string.
    L'erreur n'est pas pour ça.

    Elle se situe au niveau de "File.Move"?
    je ne vois pas pourquoi tu met "True", essaye plutôt comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     File.Move(FileSource, FileDestination)
    Au début j'avais fait un File.Copy qui a un parametre supplémentaire pour l'overide du fichier puis j'ai vu qu'il voulait faire un déplacement du fichier donc j'ai remis le File.Delete et changer le File.Copy en File.Move mais j'ai laisser le True par erreur

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

Discussions similaires

  1. Petit soucis dans mon programme/compilation
    Par alessandro67 dans le forum C
    Réponses: 10
    Dernier message: 23/02/2009, 17h19
  2. un petit souci dans mon script !
    Par kerberos dans le forum VBScript
    Réponses: 1
    Dernier message: 25/06/2008, 15h42
  3. petit soucis dans le main..
    Par Bibouda dans le forum C
    Réponses: 35
    Dernier message: 12/12/2005, 18h45

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