Equivalent de la commande msdos %~I en vb.net

pc01 Messages postés 3 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 juin 2006 - 2 juin 2006 à 16:47
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 - 5 juin 2006 à 14:48
Salut,

j'ai configuré dans un logiciel de cao une imprimante qui fait appel a un programme, et je voudrais recuperer le chemin du fichier que me balance le programme de cao (puisque le repertoire est aléatoire).

j'ai trouvé une solution en passant d'abord par un fichier bat avec la commande basic MSDOS
%~I en argument
Donc mon logiciel de cao envoi le path du fichier imprimé dans le fichier bat et ce dernier le redonne a mon VB.net.

y a t'il une solution pour recuperer directement l'information directement dans mon program vb.net par un argument avec la fonction Microsoft.VisualBasic.Command().

merci pour vos aides

5 réponses

OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
2 juin 2006 à 17:49
Je n'y comprends rien soit explicite !

Redman
0
pc01 Messages postés 3 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 juin 2006
5 juin 2006 à 08:44
bon je vais essayer d'etre plus clair!

Lorsque j'imprime mon plan en CAO, je fais diriger mon impression vers un programme.
Je recupère via la fonction Microsoft.VisualBasic.Command() seulement le nom du fichier alors qu'avec un fichier bat j'arrive a recuperer toute l'arborescence du fichier imprimé.
en résumé voila les resultats:
En vb
commande: Microsoft.VisualBasic.Command()
résulat: toto.cgm
En fichier msdos bat
commande: %~I
résultat: C:\temp\imp001\toto.cgm  <= c'est ce qu'il me faut puisque l'arborescence varie a chaques impressions

J'espere avoir ete plus clair. MERCI
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
5 juin 2006 à 12:33
Okay je vois mais j'ai jamais vu cette commande MS-DOS, je pense pas qu'elle existe, perso je connais toutes les commandes internes et elle n'est pas répertoriée.

Sinon pour le programme mais ces procédures :

Module

mdlMain

Public File
As
String

Sub Main()Main(Environment.GetCommandLineArgs)

End
Sub

Sub Main(
ByVal args()
As
String)File = args(0)

End
SubEnd

Moduleet dans la 2ème procédure main tu met le code pour imprimer ton fichier de cao.

Redman
0
pc01 Messages postés 3 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 5 juin 2006
5 juin 2006 à 13:41
j'ai essayer les deux solutions et malheuresement , le vb me renvoi que le nom du fichier.


Personnellement je n'arrive pas expliquer comment le fichier msdos arrive a recuperer plusieurs informations et non le vb.
tu fais "help for" dans ton terminal est tu verras vers la fin l'explication de la commande %~I .




mais je te remercie d'y avoir regarder parce c'est un truc qui me pompe l'air serieusement
0

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

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
5 juin 2006 à 14:48
Les fichiers faut que tu leur attribue un type dans Windows et après tu met :

open
"[path du programme]" "%1"

et tu met l'action open par défaut et là ca marchera.

Redman
0
Rejoignez-nous