Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Prompt user dynamique

Résolu !
Accéder à la solution

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

0 Compliments
Message 1 sur 6
2 174 Visites
Solution
Accepté par l'auteur du sujet PicPic

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

 

0 Compliments
Message 2 sur 6
2 131 Visites

 

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.

0 Compliments
Message 3 sur 6
2 099 Visites

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

 

banniere Luc Livre NXG Champion.png

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

0 Compliments
Message 4 sur 6
2 081 Visites

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

 

0 Compliments
Message 5 sur 6
2 065 Visites

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.

Taille fenêtre.png

 

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

0 Compliments
Message 6 sur 6
2 035 Visites