Dossier d'une application [Résolu]

- - Dernière réponse : Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
- 10 nov. 2012 à 11:50
Bonjour à tous.

En VB 2010 Express, je n'ai pas trouvé mieux, pour trouver le chemin d'accès du dossier d'une application, que le code suivant

Public Function DossierApplication() As String
        Dim Dos As String, n As Integer
        Dos Application.StartupPath : n Dos.Length : Dos = Dos.Substring(0, n - 10)
        Return Dos
End Function


que je trouve désagréablement contourné. Quelqu'un pourrait-il me proposer un code plus élégant ?

D'avance merci.


Étant illettré, je signe d'une croix : ×
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
Bonjour,
Que trouves-tu d'inélégant dans Application.StartupPath ?
Ce que, moi, je trouve par contre laid, c'est ta valeur 10 en dur !!! Au lieu de prendre tout ce qui se trouve avant le dernier ""
Jette par ailleurs un coup d'oeil là :
Tapez le texte de l'url ici.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
Quant à ma remarque à propos de laideur de ce que tu as écrit, il me parait de toutes manières utile de t'inviter à t'intéresser à cette lectuire de MSDN :
Tapez le texte de l'url ici.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
35
3
Merci
Oui en VB.NET il est vivement conseillé de retirer Microsoft.VisualBasic.
Après, moi ce que je comprends pas, c'est pourquoi tu veux retirer "\bin\Debug" ? Le chemin d'accès du "dossier de l'application" dont tu parle est en faite les sources de l'application.
D'ailleurs, une fois que ton application est terminé, elle va dans "\bin\Release".
En plus le "\bin\Debug" peut être changé dans les options de déploiement de ton projet.

_____________
Kenji

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Charles Racaud
3
Merci
Bonjour,


pour trouver le chemin d'accès du dossier d'une application


Encore faut-il faire attention dans la signification de Application.StartupPath

Dans l'environnement de programmation cela retourne le dossier bin\debug ou bin\release selon la compilation choisie dans les barres d'outils ou dans le "MyProject"

Dans un programme autonome, cela donne le dossier de l'exécutable.

J'ai donc de sérieuses appréhensions en voyant ton code.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
35
3
Merci
Tes dossiers de données doivent être copiées lors de la compilation dans bin/debug. Voir dans la fenêtre des propriétés de Visual Studio sur ces fichier la propriété "Copy to Output Directory".

_____________
Kenji

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
35
3
Merci
C'est un règle impérative.
Il ne faut pas confondre l'environnement de développement (ou dossier de développement) et livrable final (dossier bin\Release).
Quant tu donne ton application à ton client (qui peut être toi-même), tu ne lui donnes que les exécutable et les ressources liées (ton cas ici). Tu va pas lui donner l'ensemble des codes sources.
De plus Visual Studio met par défaut dans "D:\TonApplication\bin\debug". Mais tu peux très bien changer la configuration de déploiement et le mettre dans un endroit complètement différent et qui n'a rien à voir (ex: "H:\Rep\Tartempion").

_____________
Kenji

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Charles Racaud
0
Merci
Bonjour ucfoutu.
Ce n'est pas le Application.StartupPath qui me paraît inélégant, c'est que je doive lui enlever le "\bin\Debug" (10 caractères) par lequel il se termine pour obtenir le chemin d'accès du dossier de l'application. Le moyen qui m'a paru le plus expéditif est d'enlever les 10 derniers caractères, sachant que ce dossier peut être déplacé.

Cordialement.

Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Nos messages se sont croisés.

En VB.NET, Microsoft.VisualBasic est de plus en plus déconseillé, car il n'est maintenu que pour faciliter la transition à partir de VB6, et sa pérennité n'est pas garantie. D'ailleurs, lorsque j'ai récemment déposé un code, on m'a demandé de supprimer l'import automatique de Microsoft.VisualBasic.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Bonjour.

J'ai probablement commis une erreur de terminologie. Ce que j'entends par "dossier de l'application" est le dossier qui contient les composants (Form, Class, Module, et autres) de ladite application. Car c'est là que je place le ou les dossiers de données. Je viens d'apprendre, par cmarcotte, que Application.StartupPath ne renvoie pas toujours bin\debug. Alors j'appelle à l'aide, pour savoir comment obtenir à coup sûr le dossier de l'application tel que je l'entends.

D'avance merci.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Bonjour Charles Racaud.

Vous dites que mes dossiers de données doivent être copiées lors de la compilation dans bin/debug. Est-ce là une règle d'usage, ou une règle impérative ? Je vous pose la question parce que j'ai déjà réalisé et compilé plusieurs programmes en plaçant mes fichiers de données comme je vous l'ai dit. Donc, si ce n'est qu'une règle d'usage, au demeurant efficace, j'ai bien l'intention de continuer comme devant (je vous autorise à me traiter de tête de mule). Je m'inclinerai si c'est une règle impérative, mais après prise de connaissance des impératifs. D'autant que j'ai en tête (de mule) une idée pour contourner le fait que Application.StartupPath ne renvoie pas toujours la même chose.

Merci à vous tous qui m'avez supporté jusqu'à présent.



Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Bonjour à tous.

Grâce à cette discussion, j'ai corrigé mes fautes. La fonction
Public Function DossierApplication() As String
        Dim Dos As String, n As Integer
        Dos Application.StartupPath : n Dos.Length : Dos = Dos.Substring(0, n - 10)
        Return Dos
    End Function

est remplacée par
Public Function DossierProjet() As String
        Dim Dos As String
        Dos Application.StartupPath : Dos GetDirectoryName(Dos) : Dos = GetDirectoryName(Dos)
        Return Dos
    End Function

Un grand merci.


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
0
Merci
Je m'incline donc.

En conséquence, je vous demande comment l'on fait pour
ouvrir la fenêtre de propriétés de Visual Studio

Merci.

Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
35
0
Merci
Sur le/les fichiers sélectionner dans l'explorateur de solution, tu appui sur F4. Ou le bouton "Propriétés" de la petite barre d'outils toujours sur l'explorateur de solution.

_____________
Kenji
Commenter la réponse de Charles Racaud

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.