App.Path et sources sur clé USB

cs_filou Messages postés 98 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 15 janvier 2008 - 4 juil. 2007 à 14:26
cs_filou Messages postés 98 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 15 janvier 2008 - 4 juil. 2007 à 22:19
Bonjour,
J'ai mis mon code sur ma clé USB car une fois je suis sur mon desktop une fois sur mon portable.
Quand je charge mon projet *.vbproj il me dit qu'il ne trouve pas le chemin pour entre autre le fichier *.vb
Il est vrai que suivanrt la machine utilisée ma clé n'a pas la même lettre de lecteur.
Comment faire pour que l'ensemble de mon projet soit reconnu quelque soit la machine utilisée.

Petite question subsidiaire comment fait on un app.path sous vb.net

Merci d'avance

Filou
 

9 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
4 juil. 2007 à 14:29
app.path = ==> Application.ExecutablePath (avec le nom de l'exe inclu) ou Application.StartupPath (sans le nom de l'exe)

Pour ton problème, je ne sais pas si c'est possible avec VB2005, mais avec VB6 quand j'avais ce problème, j'éditer manuellement le fichier projet avec Notepad pour virer tous les chemins qui n'allaient pas.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 14:31
Salut,

Regarde ici

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_filou Messages postés 98 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 15 janvier 2008
4 juil. 2007 à 15:25
Merci à tous,
Pour le "app.Path" cela fonctionne nickel  avec application.StartupPath qui affiche que le chemin sans le fichier *.exe au contraire de ApplicationExecutablePath.

Pour la mobilité du code via ma clé USB je sèche toujours

@+Filou
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 16:01
Salut,

Bon c'est du VB6(Je sais Casy(Salut), mais regrade si défois tu ne peux en faire quelque chose pour ton aplli pour tester le tupe d'un un lecteur:

Private Const DRIVE_CDROM As Long = 5
Private Const DRIVE_FIXED As Long = 3
Private Const DRIVE_NO_ROOT_DIR As Long = 1
Private Const DRIVE_RAMDISK As Long = 6
Private Const DRIVE_REMOTE As Long = 4
Private Const DRIVE_REMOVABLE As Long = 2
Private Const DRIVE_UNKNOWN As Long = 0


Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long


 
By Renfield  
MsgBox GetDriveType("C:")


 


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 juil. 2007 à 19:20
Bonsoir,

Il est même tout-à-fait inutile d'aller à la pêche du type de lecteur.
Il lui suffit de mettre en racine de son support un fichier avec un nom "barbare" pour être certain qu'il n'existe sur aucune autre racine de lecteur..
La boucle qui conviendra alors prendra 1 milliseconde au plus.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 19:24
Salut,

Jmfmarques >> Il faudra quand même allez à la pêche pour trouver ce fichiers "Barbare", non ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 juil. 2007 à 19:32
Oui, mais sans même chercher à savoir si c'est un disque dur, un CD, une clé USB ou autre...
et c'est fait à la vitesse grand V, même sous VB5 !!!
Il suffit de parcourur tous les lecteurs présents puis de regarder s'ils ont ce fichier dans leur racine.

Tu parles d'une broutille .... La machine la plus perfectionnée ne risque pas d'avoir plus de 26 lecteurs, dans le pire des cas ....
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
4 juil. 2007 à 20:00
"...La machine la plus perfectionnée ne risque pas d'avoir plus de 26 lecteurs, dans le pire des cas ...."

Sachant que l'on peut systématiquement zappé A,B et certainement aussi C. A et B étant réservé aux disquettes (ou lecteur de bandes dans certains cas, à moins qui est eu bidouille et maguouille pour rendre A et/ou dispo pour les lecteurs amovibles). C étant systématiquement le disque "système", comprendre le disque de boot, mais pas necessairement celui ou le système est installé.

Il reste donc 23 disques à scanner.

Cela dit il est, je pense, plus propre de passer par les apis plutot que de faire une attaque type "brute force" sur la liste des disques possibles.

Mis à part cela, ce n'était pas à mon avis le sujet de la question de notre amis. Si j'ai bien compris sa contribution au forum, il n'a pas de soucis de connaitre le type de disque ou autre, son soucis est que certains fichiers de son projet sont enregistrés avec leur chemin absolu dans le-dit fichier projet. Sachant que ce projet est stocké sur une clé USB, le-dit chemin absolu est succeptible de changé au grés des connections de la-dites clé sur les différentes machines. Et par conséquent son fichier projet perd sa cohérence et et notre ami sa patience et ses cheveux.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_filou Messages postés 98 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 15 janvier 2008
4 juil. 2007 à 22:19
Me revoici,
Pour mon prob avec ma clé USB je ne sais pas comment j'ai fait mais si je double clique sur le fichier projet cela lance l'edi VB.net et je retrouve tout nickel. Je fesais déja ca avant et cela ne marchai pas.
J'ai créé un nouveau projet, puis importé ma form *.vb existante et qui ne s'ouvrai pas avant.
Je m'apercois que cela fonctionne aussi en ouvrant le projet avec la commande Fichier>Ouvrir projet

J'ai un répertoire MonProjet avec 2 fichiers MonProjet.sln et MonProjet.suo
Dans ce rep un autre rep MonProjet avec 4 fichiers MonProjet.vbproj MonProjet.vb MonProjet.resx et MonProjet.Designer.vb
Et dans ce même rep on trouve les rep Bin, obj et MyProjet.

Bon ben voila comme je l'ai dit plus haut je n'ai pas tout compris, mais bon cela fonctionne.

Merci à tous
FiloU
0
Rejoignez-nous