Comment utiliser fileCopy en VB ??

nico8001
Messages postés
92
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
30 juin 2010
- 21 juin 2010 à 09:12
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 21 juin 2010 à 14:41
Bonjour à tous ,

j'ai donc un projet à réaliser
je travaille sur visual basic 2008 et une base de données access 2000

je dois copier des fichiers sur d'autres pc en local
de disque dur vers disque dur ..

je ne dois pas utiliser le FTP

Donc est ce que quelqu'un pourrait m'aider pour l'utilisation de FileCopy , car je n'ai jamais fais sa et donc je vois pas comment je dois faire pour le code

Merci.

5 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
21 juin 2010 à 09:59
Salut
Si tu dois copier un fichier depuis un autre PC vers le tien, il faut impérativement que tu es accès au répertoire distant.
Il faut donc que le chemin de ce répertoire distant existe sur ton PC sous la forme d'une connexion à un lecteur réseau (*), auquel tu associes une lettre.
(*) Cela implique que tu aies saisi le nom d'utilisateur et le mot de passe de session de l'autre machine afin d'avoir les droits d'accès.

Est-ce le cas actuellement ou dois-tu créer ce chemin distant ?
Si tu n'as pas ce lien, recherche "créer UNC" parmi les codes en .Net du site
Si tu as déjà cette connexion, le FileCopy fonctionne comme s'il s'agissait d'un chemin local - pas de difficulté particulière

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
nico8001
Messages postés
92
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
30 juin 2010

21 juin 2010 à 10:25
oui , tout sa est créer , je dois juste copier comme un chemin local

cependant j'ai un ptit probleme en faite dans mon application j'ai une listbox qui affiche tout les pc sur lequel je dois envoyer un fichier
il faut donc que je fasse une boucle et qu'il me fasse varier les adresse IP et je ne vois pas trop comment faire

aurez tu une idée ?

Voila mon code :


Dim sourceDir As String = "C:\Documents and Settings\...\Mes documents\Ma musique\test 2"
Dim backupDir As String = "C:\Documents and Settings\...\Mes documents\test"

Try
Dim txtList As String() = Directory.GetFiles(sourceDir, "*.txt")

For Each f As String In txtList

Dim fName As String = f.Substring(sourceDir.Length + 1)

Try
File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName))

Catch copyError As IOException
Console.WriteLine(copyError.Message)
End Try
Next

Catch dirNotFound As DirectoryNotFoundException
Console.WriteLine(dirNotFound.Message)
End Try
0
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
21 juin 2010 à 10:59
Bah le format des adresses de répertoire distant a le format suivant :
\\123.123.123.123\C\mon répertoire\mon fichier.ext
Il te faut donc recréer une chaine compatible

Si les logins sont différents sur ces machines, il te faudra aussi saisir les identifiants.
A essayer :
\\monLogin:monMotDePasse@123.123.123.123\C\mon répertoire\mon fichier.ext
0
nico8001
Messages postés
92
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
30 juin 2010

21 juin 2010 à 11:08
oui voila sa ressemblera à
\\123.123.123.123\C\mon répertoire\mon fichier.ext

il faut donc que je fasse une boucle pour changer les adresse IP
mais je vois pas trop la forme de la boucle :s
0

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

Posez votre question
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
21 juin 2010 à 14:41
Une boucle For-Next, tu vois comment ça marche ?
Non : Regarde dans l'aide

Lire le Xième élément d'une ListBox, tu sais comment faire ?
Non : Regarde dans l'aide de Items

Au fait, tu dis programmer en VB.Net mais tu parles aussi de Access 2000 : Quel est le lien avec ta question ?
(histoire de bien savoir avec quoi tu programmes)

Concaténer (mettre bout à bout) une String, tu sais faire ?
Dim monDebut As String = "Bonjour"
Dim maFin As String = "Codes-Sources"
Dim maChaine As String = monDebut & " " & maFin

Tu as tout ce qu'il te faut, à toi de jouer avec.
N'oublie pas de charger quelques sources dans lesquelles tu trouveras ces bases de programmation.
0