[résolu] visual c++ 2008 équivalent de l'app.path [résolu]

visual c++ 2008 équivalent de l'app.path [résolu] [résolu] - C#/.NET managed - Programmation

Marsh Posté le 18-08-2008 à 18:37:05    

Bonjour,
 
je cherche un équivalent de l'app.path de visual basic pour un programme fait sous visual c++ 2008.
j'ai bien essayé  
 
System::String ^ s(__FILE__);
 
mais il ne me retourne que le chemin du fichier source donc dans le cas du programme compilé ca ne marche plus.
 
une idée ?
 
merci

Message cité 1 fois
Message édité par lordankou le 19-08-2008 à 11:28:15
Reply

Marsh Posté le 18-08-2008 à 18:37:05   

Reply

Marsh Posté le 18-08-2008 à 18:54:51    

dans les arguments de la ligne de commande argv[0] contient le chemin de l'appli. Sinon doit bien avoir un appel système pour ça.
 
Et arrêter de poster du C++ Managé ici SVP ... y a pas une cat pour ?

Reply

Marsh Posté le 18-08-2008 à 19:36:04    

Ptin mais quel gros naze ce Joel F, regarde donc l'arbo, ça a été posté dans .Net/managed pas dans C++ [:phenos]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 18-08-2008 à 22:55:23    

lordankou a écrit :

Bonjour,

 

je cherche un équivalent de l'app.path de visual basic pour un programme fait sous visual c++ 2008.
j'ai bien essayé

 

System::String ^ s(__FILE__);

 

mais il ne me retourne que le chemin du fichier source donc dans le cas du programme compilé ca ne marche plus.

 

une idée ?

 

merci


Une idée ? Certainement, la MSDN en est remplie... Où l'on apprend notamment l'existence de Application.ExecutablePath (Application::ExecutablePath en C++/CLI) qui contient le chemin complet de l'exécutable ayant démarré le processus (nom de l'exécutable inclus), ou bien de Application.StartupPath (Application::StartupPath) qui est la même chose, mais sans le nom de l'exécutable.

 

Cher ami, j'ai bien peur au vu de l'horreur que tu as posté, que la notion de Framework .NET te soit complètement étrangère...

Message cité 1 fois
Message édité par Harkonnen le 18-08-2008 à 22:55:42

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-08-2008 à 11:15:21    

Harkonnen a écrit :


Une idée ? Certainement, la MSDN en est remplie... Où l'on apprend notamment l'existence de Application.ExecutablePath (Application::ExecutablePath en C++/CLI) qui contient le chemin complet de l'exécutable ayant démarré le processus (nom de l'exécutable inclus), ou bien de Application.StartupPath (Application::StartupPath) qui est la même chose, mais sans le nom de l'exécutable.
 
Cher ami, j'ai bien peur au vu de l'horreur que tu as posté, que la notion de Framework .NET te soit complètement étrangère...


 
merci pour cette réponse tres sympathique. (au passage l'horreur que j'ai posté je l'ai trouvé sur un forum).
la dérision de ta réponse est a la limite de la politesse. je ne suis pas un dieu en programmation et je n'ai jamais dit que je maitrisé le framework .NET. A vrai dire je n'ai commencé a utiliser le framework qu'il y a 6 mois et encore je ne l'utilise presque pas vu que je programme pour l'instant en c++ et openGl. le framework ne me sert que pour la programmation des forms (oui c'est pas terrible mais j'apprends sur le tas)
je suis la pour apprendre et la MSDN est peut etre utile voir meme souvent mais comment veux tu que je trouve l'existence de Application.ExecutablePath ?
je ne cherche pas une solution toute prete mais des idées que je vais ensuite approfondir.
j'ai réussi a trouver en utilisant :

Code :
  1. System::Environment::CurrentDirectory;


 
maintenant je vais voir la différence entre les deux pour choisir la bonne.
mais de la part d'un modérateur je trouve ta réponse plus que limite. si ca te fait chier de modérer et bien ne prend pas la peine de répondre en mettant clairement en avant que tu es supérieur a moi et que je suis une merde car je doute que tu sois un dieu dans tous les domaines (par exemple je suis spécialiste sur les moutons...).

Reply

Marsh Posté le 19-08-2008 à 15:55:50    

lordankou a écrit :


maintenant je vais voir la différence entre les deux pour choisir la bonne.
mais de la part d'un modérateur je trouve ta réponse plus que limite. si ca te fait chier de modérer et bien ne prend pas la peine de répondre en mettant clairement en avant que tu es supérieur a moi et que je suis une merde car je doute que tu sois un dieu dans tous les domaines (par exemple je suis spécialiste sur les moutons...).


Du tout, bien au contraire, je suis loin d'être un dieu, même en informatique... Le ton de ma réponse, certes un tantinet agacé, était surtout dû au fait que le code que tu as posté m'a clairement fait demander pourquoi tu utilisais .NET si c'était pour faire du C++ "normal". Pendant des années, tout le monde a gueulé sur les MFC en disant que ce n'est pas objet, c'est pourri, etc... et maintenant qu'une architecture correcte existe (enfin) chez Microsoft, voir ce genre de code m'a fait hérisser le poil. Maintenant, il n'y avait rien d'agressif dans ma réponse, tout au plus l'absence de smiley a pu engendrer une certaine froideur. Pardon.
Pour ce qui est de ta solution, si je puis me permettre, elle n'est pas bonne car elle retourne le répertoire courant, pas le répertoire de l'application, comme le faisait App.Path de VB. Le plus proche dans ce que je t'ai donné, c'est Application.StartupPath. Mais il existe aussi d'autres alternatives comme Application.Info.DirectoryPath ou System.Reflection.Assembly.GetEntryAssembly().Location. A toi de voir ce qui te convient le mieux.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-08-2008 à 17:52:18    

Harkonnen a écrit :


Du tout, bien au contraire, je suis loin d'être un dieu, même en informatique... Le ton de ma réponse, certes un tantinet agacé, était surtout dû au fait que le code que tu as posté m'a clairement fait demander pourquoi tu utilisais .NET si c'était pour faire du C++ "normal". Pendant des années, tout le monde a gueulé sur les MFC en disant que ce n'est pas objet, c'est pourri, etc... et maintenant qu'une architecture correcte existe (enfin) chez Microsoft, voir ce genre de code m'a fait hérisser le poil. Maintenant, il n'y avait rien d'agressif dans ma réponse, tout au plus l'absence de smiley a pu engendrer une certaine froideur. Pardon.
Pour ce qui est de ta solution, si je puis me permettre, elle n'est pas bonne car elle retourne le répertoire courant, pas le répertoire de l'application, comme le faisait App.Path de VB. Le plus proche dans ce que je t'ai donné, c'est Application.StartupPath. Mais il existe aussi d'autres alternatives comme Application.Info.DirectoryPath ou System.Reflection.Assembly.GetEntryAssembly().Location. A toi de voir ce qui te convient le mieux.


 
et bien merci pour la réponse et on oublie tout ça. Internet c'est pas facile pour montrer le ton d'une réponse. enfin bref merci pour la réponse et vive les moutons  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed