Copier un chemin dans explorer (vbexpress 2008)

calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010 - 1 nov. 2009 à 20:01
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010 - 9 nov. 2009 à 23:05
bonsoir a tous
je debute,sous vbexpress 2008
et je voudrai faire un petit
programme qui me permetrait de recopier
le chemin d'un fichier avec son nom et de remplacer le chemin existant dans mon code

plus de detail:

j ais une interface avec un bouton
ce bouton ouvre un fichier
si ce fichier n'existe pas,ouvre explorer
dans explorer je selectionne un nouveau fichier
ici je voudrai copier le chemin et remplacer la ligne de commande du bouton

svp donner moi quelques directives
copy? coller? replace?
merci pour votre aide

13 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 nov. 2009 à 16:31
Salut,

Pour la manipulation des fichiers en .Net il faut utiliser l'espace de noms My :

My.Computer.FileSystem.[...]

Pour ce qui est de t'apporter une aide précise, j'aimerais bien mais je n'ai pas très bien compris le but de ton code, peux-tu être plus explicite ? As-tu un exemple de code ?

Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
4 nov. 2009 à 18:41
salut
voici mon code
Public Class test1

    Private Sub ouvrirtest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ouvrirtest.Click

        'verifie l'existance du fichier et renvoie la valeur vrai ou faux

        If My.Computer.FileSystem.FileExists("C:\Documents and Settings\james\Mes documents\Mes images/test.JPG") Then


            'MsgBox("chemin correct.") 'vrai

            'ouvre le fichier avec explorer
            Call Shell("explorer.exe C:\Documents and Settings\james\Mes documents\Mes images\test.JPG", 3)
        Else
            MsgBox("chemin incorrect.") 'faux

           Call Shell("explorer.exe c:" , 3) 'si chemin incorrect ouvre explorer a la racine
        End If

    End Sub


End Clas

donc quand explorer est ouvert parce que le chemin n est pas bon cest la que je voudrait
faire un "copier/coller"du nouveau chemin
et remlacer
If My.Computer.FileSystem.FileExists("C:\Documents and Settings\james\Mes documents\Mes images/test.JPG") Then


par
If My.Computer.FileSystem.FileExists("nouveau chemin") Then


je suppose qu'il faut faire la selection
de l'aplication active
la selection du textebox
la copie du textebox
la selection du texte a changer
le colle du new texte
aider moi mais ne me donner pas tous le code
je veu apprendre en meme temps
ne me donner que des indication je vous ferait part de mes resultat apres
merci de votre aide
a bientot
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
4 nov. 2009 à 18:56
re
ou il faut que je fasse un textbox qui s'ouvre en
meme temps qu'explorer ou l'on recopie le new
chemin pour remplacer l'ancien?
on verra bien
a+
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
4 nov. 2009 à 19:16
re,

Je veux bien te filer un coup de main mais il va falloir faire un effort, explique-toi clairement... Concrètement, que cherche-tu à faire ?

remplacer
If My.Computer.FileSystem.FileExists("C:\Documents and Settings\james\Mes documents\Mes images/test.JPG") Then

par
If My.Computer.FileSystem.FileExists("nouveau chemin") Then

Tu viens toi même de le faire... pour changer de chemin tu tape celui-ci quand il est sous forme de chaîne de texte...

De plus quel est ce nouveau chemin ? En connais-tu la valeur ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
4 nov. 2009 à 21:06
re
je vais essayer d'etre plus clair

une interface avec un bouton
ce bouton ouvre un fichier
si ce fichier n'existe pas ouvre explorer
dans explorer je selectionne un autre fichier
et je veu que ce nouveau fichier soit ouvert
au prochain click sur le bouton
le but c'est si le fichier est deplace
je doit pouvoir le reouvrir a partir du bouton

ci dessous l exemple de ce que je veu
arrive a faire

remplacer 1
Code Visual Basic :
If My.Computer.FileSystem.FileExists("C:\Documents and Settings\james\Mes documents\Mes images/test.JPG") Then

par 2
Code Visual Basic :
If My.Computer.FileSystem.FileExists("nouveau chemin") Then

"nouveau chemin" selectionner dans l'explorateur (ex: D:\mes vacances 2008\vacance2008.ppt)

mais est ce possible de recuperer directement
le chemin dans l'explorateur et l'enregistrer
directement a la place de l'ancien
de facon qu'au prochain demarrage de l'appli
si je click le fichier souvre

voila j espere que c'est plus clair comme ca
merci
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
4 nov. 2009 à 22:38
Je crois comprendre ce que tu veux dire, tu confond Explorateur => Qui sert à explorer l'arborescence des disques/dossiers/fichiers de l'ordinateur et Boîte de dialogue (OpenFileDialog en VB.Net) qui sert à sélectionner un fichier.

Voici un exemple de code qui pourrait t'intéressé :

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IO.File.Exists(My.Settings.LeFichier) Then
            '
            MessageBox.Show("Le fichier n'existe pas, merci d'en sélectionner un autre", _
                            "Erreur", _
                            MessageBoxButtons.OK, _
                            MessageBoxIcon.Exclamation)
            '
            Dim dlg As New OpenFileDialog
            With dlg
                '
                .Title = "Ouvrir un fichier"
                .Filter = "Tous fichiers (*.*)|*.*"
                '
                If .ShowDialog() = Windows.Forms.DialogResult.OK Then
                    My.Settings.LeFichier = .FileName
                    My.Settings.Save()
                Else
                    MessageBox.Show("Aucun fichier n'a été sélectionné, l'application va se fermer", _
                                    "Erreur", _
                                    MessageBoxButtons.OK, _
                                    MessageBoxIcon.Error)
                End If
                '
            End With
        End If
    End Sub
End Class


Mais au paravent tu devras créer un paramètre d'application pour stocker le chemin du fichier afin de le relire à la prochaine ouverture du programme.

Pour se faire je t'invite à lire ceci => Lien

sui te montrera comment créer des paramètres d'application, pour que ce code fonctionne, le nom du paramètre à créer est 'LeFichier' et sont type est 'String'.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
5 nov. 2009 à 23:31
re
bonsoir
j ai essaye mais avec la Boîte de dialogue (OpenFileDialog en VB.Net)on ne peu que selectionner le fichier alors qu il faut que
je puisse remplacer le chemin complet
disques/dossiers/fichiers

but
1-j'ai un fichier "a" dans "c:\xxx\xxxx\a"
disques/dossiers/fichiers(ancien)

2-je renome mon fichier"a" en "b"

3-je le deplace en "e:\yyyy\yyy\b"
disques/dossiers/fichiers(nouveau)

comment recopier la ligne "e:\yyyy\yyy\b"
et remplacer la ligne "c:\xxx\xxxx\a" par
"e:\yyyy\yyy\b"

merci beaucoup
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
6 nov. 2009 à 14:35
Désolé, mais la propriété filename de l'OpenFileDialog retourne le chemin complet du fichier, pas juste le nom...

As-tu testé le code que je t'ai donné ?






Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
7 nov. 2009 à 17:46
oui j'ai essayer j'ai une erreur sur
My.Settings.LeFichier = .FileName (LeFichier nest pas un membre de myprojet.my.mysetting)
a vrai dire je suis complettement perdu
j'essaye de trouvé un tuto pour comprendre un peu mieux le cheminement et c'est pas evident

merci encore pour ton aide
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
7 nov. 2009 à 21:39
Mais au paravent tu devras créer un paramètre d'application pour stocker le chemin du fichier afin de le relire à la prochaine ouverture du programme.

Pour se faire je t'invite à lire ceci => Lien


Comment veux-tu y arriver si tu ne prend même pas la peine de lire ce que l'on te dit?

On prend le temps de te répondre, prend à ton tour le temps de lire...

++



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
8 nov. 2009 à 23:13
re
j'ai lu est mis "LeFichier" dans les parametre
de myprojet avant ma derniere reponse
mais j ai l'erreur


pour l'instant je me suis mis sur les exercices
du coach sur msdn afin de mieux comprendre
a+
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
8 nov. 2009 à 23:25
Ok, tu fais bien =)

Il y a une très bon site aussi pour les newbs => Ici

j'ai lu est mis "LeFichier" dans les parametre
de myprojet avant ma derniere reponse
mais j ai l'erreur


Tu as forcément fais une erreur quelque part, si tu as créer le paramètre d'application, il y est forcément, sinon c'est que tu n'as pas enregister tes changements, retourne voir dans les paramètres du projet si le paramètre y est toujours.

Que vois-tu lors ce que tu tape 'My.Settings.' ? L'intellisense (la saisie intuitive de VB2008) doit te proposer 3 choix,

- Save (Méthode)
- Reload (Métode)
- LeFichier (Propriété)

Si tu ne vois pas LeFichier, alors retourne le créer dans les paramètres d'application.

++ Bon courrage et bon apprentissage ;O)

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
calagan41 Messages postés 9 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 24 octobre 2010
9 nov. 2009 à 23:05
re
l erreur est resolut
erreur de frape "ficher" a la place de "fichier"
maintenant ca fonctionne
il reste juste a ouvrir le fichier selectionné
pour l'instant je seche
mais je ne perd pas espoir je retourne a mes exercice
a +
0
Rejoignez-nous