App.Path et sources sur clé USB

Signaler
Messages postés
98
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
15 janvier 2008
-
Messages postés
98
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
15 janvier 2008
-
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
 
A voir également:

9 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut,

Regarde ici

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
98
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
15 janvier 2008

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
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
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


 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
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

 
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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 ....
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
"...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
Messages postés
98
Date d'inscription
mercredi 19 décembre 2001
Statut
Membre
Dernière intervention
15 janvier 2008

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