le 08-27-2014 03:36 AM
Bonjour,
J'aurai voulu savoir si il était possible de connaitre l'indice d'une case d'un tableau (dans mon VI c'est un tableau de chaînes déroulantes) lorsque l'utilisateur va vouloir faire une modification sur la case en question.
Le but final dans mon VI est de changer la liste de menu déroulant en fonction de la case que l'on souhaite changer la valeur.
Merci de votre aide.
le 08-27-2014 04:40 AM
justin44 a écrit :
changer la liste de menu déroulant en fonction de la case que l'on souhaite changer la valeur.
Je suis pas sûr de bien comprendre ça...
Pour trouver l'indice de l'élément modifié d'un tableau on peut utiliser une structure event, configurer un événement "value change" sur le tableau et comparer le "old value" et le new value" pour trouver l'indice de l'élément modifié.
Est-ce que tu as un exemple de ton code?
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 08-27-2014 04:51 AM
Bonjour Justin44,
Merci d'avoir posté sur le forum de National Instruments.
Il existe dans la pallette Tableau un VI nommé: "Recherche dans un Tableau 1D".
Je pense que celui ci peut correspondre à votre besoin.
Veuillez trouvez ci joint un exemple illustrant son utilisation.
Pierre
National Instruments
08-27-2014 05:01 AM - modifié 08-27-2014 05:03 AM
Je voudrai que les choix disponibles soit différent selon l'indice de l'élement du tableau
exemple :
Je voudrai que les choix disponibles changent en fonction de l'indice du tableau
J'espere avoir été plus clair.
le 08-27-2014 06:18 AM
Je crois bien que ce n'est pas possible.
Tous les éléments d'un tableau sont identiques, si tu as un ring dans un tableau, tu peux moifier la liste des éléments du ring mais tu ne peux pas faire en sorte que la liste varie d'un index du tableau à l'autre.
Tu dois utiliser un cluster si tu veux pouvoir faire ça... l'ennui, c'est que tu peux pas avoir un taille dynamique sur un cluster.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 08-27-2014 07:14 AM
D'accord.
Sinon il n'est pas possible d'obtenir l'indice du tableau sur laquelle on a appuyer ? avec cela je pourrai faire varié les les chaînes proposé.
le 08-27-2014 07:23 AM
hmmm... peut être mais au prix d'efforts importants.
Récupérer l'indice cliqué, oui.
Faire varier la liste dynamiquement, en fait, je crois que oui, mais je pense qu'ensuite ce sera pas évident de bien interpréter les valeur contenu dans le tableau.
Il faudrait un ring et savoir que pour chaque indice du tableau la valeur numérique du ring correspond à une liste de string différentes.
Une alternative simplificatrice : avoir une liste d'option fixe mais en griser une partie en fonction de l'indice du tableau sur lequel on clic.
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 08-27-2014 07:36 AM
Bonjour Justin44,
J'avoue ne pas comprendre très bien votre problème. Comme Titou l'a dit, les éléments d'un tableau ont un type identique. Vous ne pourrez pas modifier le type d'un seul élément du tableau. Un cluster ou tableau de clusters est faisable et pourrait répondre à vos attente (http://zone.ni.com/reference/fr-XX/help/371361J-0114/glang/build_cluster_array/).
Si vous décidez de mettre votre tableau comme commande, vous pourrez changer dynamiquement lors de l'exécution de votre code les valeurs de celui-ci (si le choix est déjà listé dans le menu déroulant avant le lancement).
Je vous remet le même VI légèrement modifié.
Cela vous convient il? Si non, essayez de nous expliquer à l'aide d'un exemple de scénario nominal.
Si la solution vous convient, je vous invite à mettre votre topic comme résolu.
Cordialement.
Pierre Denis
National Instruments.
08-27-2014 08:28 AM - modifié 08-27-2014 08:29 AM
J'ai cée un VI pour explique ce que je voudrai faire.
Dans l'idéal je voudrai que pour la ligne de "module 1" dans le tableau "Choix des gammes" j'ai le choix entre les valeurs de "chaîne 1". Et que pour la ligne de "module 2" j'ai les choix de "chaîne 2".
Dans mon VI le changement de choix se fait via un booléen, mais je voudrai que ce soit une comparaison d'indice. Le problème est que je ne peut pas savoir a quel indice a été appuyer le tableau "Choix des gammes"
J'espere avoir été plus clair dans mse demande. Peut-être que ce n'est pas possible non plus.
le 08-28-2014 02:41 AM
Bonjour Justin44,
J'avoue que ce n'est pas encore compris à 100% pour moi mais j'espère avoir compris l'essentiel.
Pourquoi ne feriez vous pas un tableau de cluster? Dans le cluster type il y aurait vos gammes et des booléens associés à chacune de ces gammes. A la sélection de ce booléen, la gamme du module changerait.
Je vous met un VI en PJ représentatif de cette idée mais codé seulement avec un module. Il ne vous reste plus qu'à dupliquer si votre nombre de modules n'est pas trop important ou créer un tableau de clusters.
Est-ce que cela répond à votre besoin?
Cordialement.
Pierre