Comment changer d'emplacement de travail depuis une unité logique vers une adres

cs_bmag Messages postés 10 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 13 juin 2006 - 7 mai 2005 à 23:08
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 8 mai 2005 à 20:47
Bonjour,

Mon application est installée sur l'emplacement suivant :
"C:\program files\MonApplication"

Je souhaite que l'application puisse travailler dans un autre emplacement de manière dynamique, suivant certaines conditions.
C'est autre emplacement pourrait être "\\ MonServeur\MonApplication"

Le code pourrait se résumer à ça :
Emplacement1 = "C:\program files\NouvelEmplacement"
Emplacement2 = "\\ MonServeur\NouvelEmplacement"
If TypeUtilisateur = "1" then
ChDrive left(Emplacement1,1)
ChDir Emplacement1
Else
' Se positionner dans l'emplacement2 <--- je ne sais pas faire
???????
End If

Comment dois-je faire pour que je sois positionné par défaut dans l'emplacement défini par une adresse réseau ?

Merci par avance de votre réponse.

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 mai 2005 à 18:22
Salut,

Si mes souvenirs sont exacts, les commandes DOS comme chdrive et chdir ne comprennent pas les chemins réseau si ces chemins ne sont pas associés à un lecteur logique.

Il est bien entendu possible de capturer une ressource réseau pour faire ce que tu veux mais le plus simple serait que tu codes :

Emplacement1 = "C:\program files\NouvelEmplacement"
Emplacement2 = "\\ MonServeur\NouvelEmplacement"
If TypeUtilisateur = "1" then
pathTravail = Emplacement1
Else
pathTravail = Emplacement2
End If

Et chaque fois que tu en as besoin, il faut que tu construises le chemin des fichiers que tu veux utiliser avec :

pathTravail & NomFichier

--------------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 mai 2005 à 18:28
Ou, peut-être mieux :

Emplacement1 = "C:\program files\NouvelEmplacement"
Emplacement2 = "\\ MonServeur\NouvelEmplacement"
If TypeUtilisateur = "1" then
app.path = Emplacement1
Else
app.path = Emplacement2
End If

Dans ce cas, pas besoin de reconstruire le chemin de tes fichiers. A tester, je ne travaille pas comme ça d'habitude.

--------------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_bmag Messages postés 10 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 13 juin 2006
8 mai 2005 à 19:56
Merci pour tes réponses.

App.path n'est pas modifiable (read-only), je suis en vb6, et il ne m'est pas possible de préfixer l'ensemble des adressages physiques avec une varialbe contenant le chemin : trop de cas, trop de singularités, trop de lignes (30 000).

Pourtant, lors que l'on utilise la commondialog sans le flag &H8, on peu bien se positionner d'une unité logique vers un chemin réseau, mais manuellement...
Je me dis qu'il devrait bien y avoir quelque chose qui remplace la commande chdrive...
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
8 mai 2005 à 20:47
Effectivement, app.path est en lecture seule. Excuses, la fatigue ou l'oubli ?
Désolé, pas de réponse simple pour l'instant.

--------------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous