sarra_86
Messages postés6Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention27 mars 2008
-
26 mars 2008 à 18:22
sarra_86
Messages postés6Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention27 mars 2008
-
27 mars 2008 à 15:52
Bonjour,
Je fais un programme en visual basic 6.0 qui lance une application console contenant un tableau où je gère des paramètres pour lancer une fonction. Le problème que lorsque je fais le test de la boucle if sur un nombre ça fonctionne et le programme fait l'appel à la fonction :
If CmdArgs(2) = 3 Then
.WriteLine "hi"
Call connecter(retour)
Else
.WriteLine "no"
.WriteLine CmdArgs(2)
End If
et lorsque j'ai essayer de modifier le "3" par "connexion" ça n'a pas marché et il m'affiche le message "no" pourtant quand j'affiche la 2éme case du tableau ( WriteLine CmdArgs(2)) je trouve qu'il existe vraiment "connexion":
If CmdArgs(2) = connexion Then
.WriteLine "hi"
Call connecter(retour)
Else
.WriteLine "no"
.WriteLine CmdArgs(2)
End If
à savoir que le tableau CmdArgs et de type string.
Je n'arrive pas à comprendre merci de m'expliquer.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 26 mars 2008 à 18:36
Salut
"Je fais un programme en visual basic 6.0" et tu postes ta question dans VB.Net : ça commence mal !!
Catégorie de la question modifiée
"qui lance une application console contenant un tableau" : Là, va falloir expliquer ce que c'est, parce que je ne vois pas du tout
Et en lisant tes lignes, je m'aperçois que c'est du VBS (VB Script) pas du VB6 (WriteLine ... ou je me trompe ?)
Avant de vouloir lire l'argument n° 3, vérifie qu'il existe.
Essaye d'utiliser UBound(CmdArgs) pour connaitre l'index maximum de ce tableau.
Et ce tableau, il vient d'où ?
Rappel : en général, les tableaux commencent avec l'index 0, pas 1 ...
Sinon, revois ta question, parce que ce n'est pas clair du tout
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
sarra_86
Messages postés6Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention27 mars 2008 26 mars 2008 à 19:13
Merci de me répondre mais concernant le programme c'est en vb6 où j'ai fais une classe contenant des fonctions à l'appeller telque writeline ça tombe par hasard avec le vbnet.
["qui lance une application console contenant un tableau" : Là, va falloir expliquer ce que c'est, parce que je ne vois pas du tout.] le programme se lance à partir de l'invite de commande il ne contient pas d'interface donc il suffit d'ecrire la commande et donner les paramètres telque c:\ application.exe par1 par2 par3
Ces paramètres vont etre stocker dans le tableau.
D'où le tableau n'a pas un max c'est selon le nombre de paramètres lancés à la commande. ce que je veux c'est tester la deuxième case de tableau qui me présente le champs de commande auquel je fais l'appel à la fonction convenable.
J'espère que c'est plus claire.
Merci
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 mars 2008 à 02:29
Ok
Donc, je te répond la même chose :
Avant de vouloir lire l'argument n° 3, vérifie qu'il existe.
Essaye d'utiliser UBound(CmdArgs) pour connaitre l'index maximum de ce tableau.
Rappel : en général, les tableaux commencent avec l'index 0, pas 1 ...
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
sarra_86
Messages postés6Date d'inscriptionvendredi 10 août 2007StatutMembreDernière intervention27 mars 2008 27 mars 2008 à 15:52
Salut,
Je viens de modifier le code en utilisant la fonction instr, avec ce changement j'ai pu executer la fonction connecter mais le problème que j'ai d'autres fonctions à executer selon la valeur du CmdArgs(2) j'ai essayé donc d'utiliser select case mais ça n'a pas marché ce qui me retourne au premier problème ou le programme passe directement à afficher le message "no" .
Pour les éléments du tableau je viens de les vérifier ils existent.
est ce qu'il peut etre un problème de type ou de conversion car je n'arrive pas à comparer CmdArg (2) avec une autre chaine de carractère en utilisant "=" (le tableau et de type string) à savoir que j'ai réussi à le comparer avec nombre entier mais en utilisant Cint.
r = InStr(1, CmdArgs(2), "connexion", vbTextCompare)
If r = 1 Then
.WriteLine "hi"
Call connecter(retour)
ElseIf r <> 1 Then
.WriteLine "no"
.WriteLine CmdArgs(2)