cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
13 nov. 2003 à 07:20
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
13 nov. 2003 à 18:48
Bonjour tout le monde !
Je suis en train de faire un programme et en fait, il faut qu'il est 2 modes de démarrages. Le mode normal qui se démarrage quand on double clique par exemple 2 fois sur le fichier exe et l'autre qui est lancé par exemple par démarrer\exécuter et qui ce lance de la sorte : programme.exe -mode
J'ai déja vu sur plusieurs logiciels et jeux (notament max payne qui peut se lancer pour activer les codes je crois par maxpayne.exe -developer), mais j'ai encore jamais vu de programmes VB sur codes sources de la sorte :'( C'est pour cela que je vais vous demander de l'aide. Je voudrai en fait quand mon prog et lancé par -mode qu'il lance par exemple form2 au lieu de form1
Voila, si vous avez une idée faites moi signe et merci d'avance ;-)
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 13 nov. 2003 à 07:58
ds ton form load tu ajoute et tt premier:
dim Commandes() as String
Commandes = split(Command$ , " ")
if ubound(Commandes) then
'tu as des commandes derriere l'EXE
'pour les lire: Commandes(0) , Commandes(1) , ....
' dans ton exemple le '-mode' se trouverai dans Commandes(0)
'vu que c'est le premier paramatre :)
Else
'aucun paramatre de command
End If
Par contre attention, dans mon exemple toutes les commandes doivent etre separée entre des espace.
Deplus sous win95 le Command$ renvoi tout ce ki suit l'EXE mais entre guillement donc verifie avant si dvt ou derriere le COmmand$ recup que tu na pas de guillement (chr$(34)) si oui alors vire les !
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 13 nov. 2003 à 11:28
Salut vous 2
Bin en fait j'en avais jamais vu par hasard je veux dire, mais j'ai pas pu chercher car je ne savai comment sa s'appelai.
lumesh , excuse moi de t'embeter mais je suis débutant et je comprend pas vraiment comment regler ton truc :'(
Puis, tu me rajoute un truc sur windows 95 qui m'a encore plus perturbé, mais j'ai pas besoin de trucs pour windows 95 car mon prog serai pour xp et peut etre windows 2000 (je suis pas encore sur)
Merci pour votre etre vs 2
@Z3RtY25 ==
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_PhilippeE
Messages postés437Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention10 août 20102 13 nov. 2003 à 14:45
Je reprends le script de Lumesh
Ici on a un tableau qui va contenir tous tes paramètres passés en ligne de commande dim Commandes() as String
Là tu récupère dans ton tableau tous les paramètres tapés dans la ligne de commande, le espace (" ") est traité comme le séparateur d'argument Commandes = split(Command$ , " ")
Là on utilise ubound pour ne pas différencier majuscule/minuscule, si tu dois faire le distinguo, ne mets pas ubound if ubound(Commandes) then
Dans cette partie tu est sûr que tu as des paramètres dans ta ligne de commande (Ubound(Commande)>0), tu peux accéder individuellement à ceux-ci en faisant Commande(0), Commande(1), ..., jusqu'à Commande(Ubound(Commande))
Else
Dans cette partie tu sais qu'aucun argument n'a été passé.
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 13 nov. 2003 à 18:28
Là on utilise ubound pour ne pas différencier majuscule/minuscule, si tu dois faire le distinguo, ne mets pas ubound
if ubound(Commandes) then
Non pas tout a fait ..
Ubound( tablo , x) permet de donner le nombre delement dans la variable tablo de la Xeme colone.
Dans notre cas Ubound( tablo ) retourne Le nombre delement dans le tablo sachant kil sera tjrs a une colone donc pas besoin de specifier la colone a traiter .
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 13 nov. 2003 à 18:37
pour windows 95 je mexplique:
la variable Command$ retourne une chaine de caractere avec tout les parametre entrés apres le nom du prog.
Sous windows chaque parametre doit etre separé par un espace (le plus courant).
Exemple: dans prog.exe param1 param2
bah Command$ retournera : param1 param2
MAis sous windows95 le Command$ retournera pour les meme param: "param1 param2" cad dans la chaine de caractere retournée tu auras le chr(34) cad les guillemets placée avant et apres la chaine retournée.
Voila la suptilité de la chose. Pourquoi je ne sait pas vraiment ....
Pour la variables Commandes() :
cette variable definit comme elle l'est, est un tableau a X dimensions (tableau dynamique) definit en string.
Le split permet de separer tous les element dune chaine de caractere separé par un ou des caractere de separation (ouh la que de repetition ;)) ..
Exemple:
Dim A() as string
A = split("chaine1 chaine2 chaine3", " ")
bah ds ce cas on aura:
A(0) => chaine1
A(1) => chaine2
A(2) => chaine3
Voila voilou jespere que nous avons avec PhilippeE ete le plus clair possible pour toi :)
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 13 nov. 2003 à 18:48
A oui, sa va un chouilla mieu, c'est bon j'ai compris maintenant meme si j'aurai pu comprend avec le code de lumesh qui m'a completement paumé avec son histoire de win95 lol