le 11-25-2019 03:54 AM
Bonjour,
Est'il possible de réaliser un prompt user interface avec des données dynamiques ? j'entends par la ne pas être obligé de paramétrer les entrées à l'avance mais de les récupérer pour afficher les différents choix?
Merci d'avance
Résolu ! Accéder à la solution.
le 11-25-2019 10:09 AM
Bonjour PicPic,
Tu peux simplement appeler un VI que tu crée toi même qui aura une interface similaire au "Prompt user for input". A partir de là, tu affiches ce que tu veux, comme tu veux.
Dans les propriétés du VI il est possible de cacher la barre de menu, choisir la taille du VI, cacher les barres de defilement, etc.
Yddet
le 11-26-2019 02:50 AM
En vrai ce n'est pas possible. D'ailleurs à mon avis c'est une grosse faiblesse de Labview, il n'est pas possible de créer dynamiquement des contrôles, comme on pourrait le faire en c# par exemple.
Il existe une solution alternative, qui consiste à "dessiner" littéralement des contrôles et à récupérer manuellement les événements. Mais là on est vraiment dans la bricole scotch et ficelle. En annexe je t'ai mis un projet d'exemple. Ce n'est pas de moi, je l'ai retrouvé sur mon disque dur, mais je n'arrive pas à retrouver le lien original.
le 11-26-2019 07:21 AM
salut,
effectivement avec LabVIEW il n'est pas possible de créer dynamiquement des contrôles sur l'IHM par programmation en RunTime. ( donc en exe, car en source par Scripting la réponse est autre).
Mais c'est possible avec la version LabVIEW NXG.
Après tu peux effectivement soit les mettre dans un sous-VI que tu vas appeler, soit si tu connais le nombre, les cacher hors de la zone visible de l'IHM, et les faire apparaitre en modifiant par programmation les coordonnées d'affichage (x,y). mais il est vrai que c'est un peu du bricolage par rapport à NXG ou d'autres langages.
A+ Luc
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 11-26-2019 11:26 AM
Bonjour,
Effectivement j'ai réalisé un VI dialog using event aisin que des variables globales afin de répondre à ma problématique. Encore merci pour votre aide. Par contre la taille de la fenêtre "popup prompt" est réglable, j'entends par la je peux la redimensionner? j'ai essayé divers manip dans propriété ( d'ailleurs j'ai sélectionné type boite de dialogue).
Slts
le 11-28-2019 03:15 AM
Bonjour,
A ma connaissance, avec les nœuds de propriété tu ne peux pas donner directement des dimensions en pixels (largeur x hauteur). Par contre tu peux définir les coordonnées des 4 bordures de la fenêtre.
Le snippet montre comment redimensionner une fenêtre en gardant sa position initiale (en anglais..). Pour définir à l'avance la taille et la position d'une fenêtre il suffit d'utiliser le nœud de propriété FP.PanelBounds.
Pour redimensionner en fonction du nombre de contrôles je n'ai pas de solution simple, comme l'ont dit Walker et Luc c'est du bricolage. Soit tu définis à l'avance plusieurs tailles de fenêtre en fonction des contrôles affichés. Ou bien tu calcules la taille de la fenêtre en récupérant la hauteur de chaque contrôle, en ajoutant quelques pixels pour aérer, et en additionnant le tout. C'est hasardeux je trouve.
Yddet