le 05-09-2012 09:25 AM
bonjour,
je travaille sous labview 2011 et je souhaiterais pouvoir ajouter des pages a un onglet de manière dynamique
puis insérer des tableaux ou des tables dans ces pages et tout ceci par programmation suivant le nombre de voie
par exemple 6 voies donc 6 pages dans un onglet avec dans chaque page un tableau.
Cordialement,
Résolu ! Accéder à la solution.
le 05-09-2012 09:48 AM
Ajouter des pages à un onglet pendant le runtime n'est pas possible. Tu peux éventuellement en créer un nombre donné et les afficher/masquer en fonction de ton besoin.
Si tu veux quelque chose de réellement dynamique, tu peux essayer ça, par contre ça demande un peu de code (notamment maitrise des lancements dynamiques de VI).
Cordialement,
le 05-09-2012 09:53 AM
A mon humble avis, sa risque d'être compliqué car il faut utiliser le scripting, et la méthode pour ajouter des pages n'est accessible qu'en mode édition (ne fonctionne pas avec le run time)
le 05-09-2012 12:40 PM
une autre options qui demande aussi un peu plus de travail est d'utiliser un subpanel et un menu déroulant pour le choix du VI à afficher (chaque contenu d'onglet devient un VI).
mais la proposition d'Olivier est probablement la plus simple : mettre de base le nb max d'onglet que tu peux avoir et n'afficher que ceux que tu veux lors de l'exécution.
juste mon grain de sel
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 05-10-2012 01:58 AM
Bonjour,
et merci pour vos réponses!
J'avais pensé à la solution des onglets masqués mais je voulais essayer de faire quelquechose de "plus propre".
je vais regarder les solutions proposées.
Cordialement,
le 05-10-2012 02:47 AM
Je suis parti sur les onglets inutilisés qui seront masqué.
donc avec le noeud de propriété pages je renvoie le refnum de la page que je veux masquer sur un autre noeud de propriété et la je choisie la propriété page visible
et cela fonctionne en mode exécution.
le nouveau problème est que je veux pouvoir modifier le nom des pages lors de l'exécution donc je cable une constante chaine sur la propriété étiquette de la page
mais lors de l'exécution labview me renvoie l'erreur -1073 (pas modifiable lors de l'exécution) or dans les caractéristiques de cette propriété, il est noté qu'elle est modifiable en cours d'exécution.
Merci!
le 05-10-2012 03:03 AM
deux choses :
- je ne sais ce qu'est l'étiquette de la page, dans la version original il y a label (qui ne peut pas changer pendant l'exécution) et caption (qui peut changer pendant l'exécution), je te laisse trouver et merci de prouver une fois de plus que les versions traduites de LabVIEW ne sont qu'hérésie!
- il y a une propriété des pages qui s'appelle "Independent Label" qui autorise (ou pas) une page de l'onglet à avoir un caption différent du label, donc pour chaque page, avant de changer le caption il faut s'autoriser à avoir une caption différent du label. cf ci-dessous :
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 05-10-2012 03:13 AM
Merci!
Effectivement j'avais essayé de modifier le sous titre onglet (la traduction de caption) mais je n'avais pas essayé de le faire en autorisant la propriété étiquette indépendante!
en jouant avec les pages visibles et les noms des pages je vais pouvoir avancer!
merci encore