Choix de structure pour une IHM

Bonjour,
Je m'essaye actuellement au Xcontrol et tente une IHM un peu poussé que mes habituelles.
Comme vous pouvez le voir dans mon programme j'utilise les splitters pour passer d'une "fenêtre" `l'autre lorsque l'on appuie sur les graphiques.
Ma question est la suivante : faut il que je gère aussi ces mouvements comme des Xcontrols ? dans ce cas cela signifierait gérer tout la face avant en tant que Xcontrol non ? ou dois je tout laisser comme avant ?
Je cherche juste à partir dans la meilleure direction pour la suite de mes développements.
Merci d'avance !
(normalement toutes les pièces se trouve dans le dossier)
Résolu !
Accéder à la solution.
Pièces jointes :
IHM.zip ‏435 KB

Salut,
il n’y a pas l’ensemble du code, mais si je comprends bien tu veux faire un effet « slider » « swipe screen », pour décaler ta page avec un effet de mouvement et tu veux le gérer avec des splitters.
Je réponds non à la question : je gère aussi ces mouvements comme des Xcontrols 
Pour info, pour le principe, je pense qu’il y a plus simple, tu as une fenêtre, qui a une origine, tu changes programmatiquement l’origine. Je te conseille de regarder le projet de
http://chrislarson.me/content/chris-larson/labview-vi-ipad-style-page-swiping
même si l'ensemble du code n'est pas à prendre en exemple.
J'ai codé une IHM qui gére plusieurs pages avec une gestion tactile, comme le soft de Chris.
La gestion n'est pas un objet graphique, de type XControl, mais un process (ou actor ou acteur ou programme informatique) qui gére, en parallèle du reste du code, les actions (états, message) que lui produit ue autre structure.
Donc structure producteur-consommateur, avec un structure "event" dans le code IHM du Main, qui produit sur détection d'actions de l'utilisateur sur l'IHM, par exemple par FIFO, à une deuximée boucle while en // (le deuximème process) des actions. Sur les actions, la deuxième boucle va gérer le "déplacer l'origine" de la fenêtre".
Tu peux le coder facilement sur un base de QMH (ou QDMH), cf les templates de projet de LabVIEW.
J'ai commencer, il y a quelques temps, à encapsuler le code de gestion "swipe" dans un code autonome, type Actor de l'actor framework, mais je n'ai pas terminé, par manque de temps, mais il faudrait... si je le termine je te le donne...
A+
Luc Desruelle | Voir mon profil | LabVIEW Code & blog
Co-auteur livre LabVIEW : Programmation et applications
CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

Similar Messages

  • Bonjour, j'ai un "sondage" à vous soumettre: j'ai le choix entre deux assurance, une gratuite pour 3 ans (assurance constructeur via carte bancaire)vole et casse ou une assurance fnac 3 ans à 349 euros ou là ils me l'échange immédiatement et gratuitement

    bonjour, j'ai un "sondage" à vous soumettre: j'ai le choix entre deux assurance, une gratuite pour 3 ans (assurance constructeur via carte bancaire)vole et casse où les frais de transport sont à mes frais et la réparation peut durée plusieurs semaine. Ou alors une assurance fnac 3 ans à 349 euros ou là ils me l'échange immédiatement et gratuitement en magazin. Alors j'aimerais avoir vos avis. le MacBook pro tombe t'il souvent en panne ou pas? vaut t'il la dépence de 349 euros pour ça?
    merci

    Ps: l'assurance fnac comprend uniquement la panne

  • Quelle structure pour mon programme

    Rebonjour à tous,
    J'écris ce nouveau message pour obtenir de l'aide pour la modification de mon programme qui ne tourne pas comme j'aimerais.
    J'utilise LV2010 et un moteur dont l'axe est relié à un compteur angulaire.
    Fonctionnement du programme:
    L'utilisateur rentre le n° de série de l'instrument à tester ainsi que le nombre de cycle de mesure à réaliser
    Il clique ensuite sur le bouton START pour lancer le test
    Le programme suit une certaine suite de séquence (initialisation des ports COM, déplacement du moteur, enregistrement des données) - j'utilise donc une machine à état
    Je me suis concentré sur le développement de cette machine à état dont la 1ère séquence est lancé via un événement sur le bouton START.
    Le problème est qu'avec la structure actuelle, je ne peux rien faire (arrêter le déplacement du moteur par ex.) tant que la suite de séquence citée ci-dessus n'est pas terminée (et elle dure environ 2 minutes...).
    J'ai pu voir sur un message du forum (mais trop tard) qu'il ne fallait pas mettre de boucle while à l'intérieur d'événement.
    Mais alors comment intégrer ma structure machine à état ? Que dois-je modifier?
    Ci-joint, mon programme.
    Quelqu'un aurait-il des solutions?
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    Main.vi ‏335 KB

    J'ai modifié mon programme initial en architecture producteur / consommateur avec des événement et des queues...
    Il fonctionne correctement au niveau du déplacement du moteur cependant je n'arrive toujours pas à stopper la séquence quand j'appuie sur le bouton stop.
    Concernant les acquisitions, je n'en fais qu'une fois la position cible atteinte - je dois l' atteindre avec précision, c'est pourquoi j'utilise 2 types de mouvement:
    Je démarre en lui donnant une grande valeur et une grande vitesse pour une avance rapide. Ce déplacement se fait en une seule fois et la sortie du vi n'est libérée que quand la position est atteinte. J'ai comme l'impression que je ne pourrais pas avoir la main pendant ce déplacement. D'ailleurs l'icône du programme devient un carré blanc comme s'il ne répondait pas si j'essaye d'appuyer sur stop.
    En revanche, pour atteindre la position cible précisément, la suite des déplacement se font en avançant par petits pas successifs et je devrais normalement avoir la main entre les déplacements... Mais je n'y arrive pas...
    PS:
    Le moteur utilisé est un maxon motor EC-max30 équipé d'une Epos24/2
    Je vous joins mon nouveau vi. Y a-t-il une erreur?
    Qu'en pensez-vous?
    Pièces jointes :
    Main_Test.vi ‏338 KB

  • Écrire dans un path control d'une IHM quelconque

    Bonjour,
    Je travail sur un banc de test qui dispose d'une IHM 1 à plusieurs fenêtres développer sous Labwindows/CVI. Cette IHM 1 est figée, je n'ai pas accès à son code source, il n'y a que l'exécutable et le fichier .uir. Ce que je cherche à faire, par l'intermédiaire d'une autre IHM 2 que je développe aussi sous Labwindows/CVI, c'est écrire dans un path control(chemin d'accès d'un fichier)  de l'IHM 1, afin que l'utilisateur n'est pas à le chercher, grâce à un bouton sur l'IHM 2. Est-ce possible?
    Est-ce également possible de simuler un clic sur un bouton de l'IHM 1 grâce à un bouton de l'IHM 2?
    Cordialement

    Bonjour, Labwindows/CVI je ne connais pas. Je vais juste proposer une solution à
    Titas a écrit : Est-ce également possible de simuler un clic sur un bouton de l'IHM 1 grâce à un bouton de l'IHM 2?
    http://www.siteduzero.com/informatique/tutoriels/la-programmation-avec-autoit
    wikipedia.org/wiki/Autoit : AutoIt est aussi utilisé pour simuler des applications utilisateurs, par lequel un script AutoIt pilote une application en lieu et place d'un contrôle manuel pendant le test d'un logiciel.
    Luc Desruelle | Voir mon profil | LabVIEW Code & blog
    Co-auteur livre LabVIEW : Programmation et applications
    CLA : Certified LabVIEW Architect / Certifié Architecte LabVIEW
    CLD : Certified LabVIEW Developer / Certifié Développeur LabVIEW

  • Le numéro de série pour Illustrator CS6 Canada-Français ne fonctionne pas pour une version anglaise: que faut-il faire?

    le numéro de série pour Illustrator CS6 Canada-Français ne fonctionne pas pour une version anglaise: que faut-il faire?

    If you need to change the language from what you purchased, you can request a swap if you follow the instructions at the following link:
    http://helpx.adobe.com/x-productkb/policy-pricing/order-product-platform-language-swap.htm l

  • Je veux comparer deux valeurs acquises par le module NI 9203 pour une seule entr

    Je veux comparer deux valeurs acquises par le module NI 9203 pour une seule entrée analogique :
    Ø      valeur acquise à l’instant « t ».
    Ø      toujours avec la même entrée analogique, valeur acquise à l’instant « t+ 5 min ».
    S.V.P je préfère un exemple pour mieux comprendre.

    Bonjour,
    Voici un exemple.
    Cordialement
    Richard Keromen
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception
    Attachments:
    t+dt.vi ‏29 KB

  • J'ai acheté un forfait saison pour une série tv et les nouveaux épisodes sont introuvables .

    J'ai acheté un forfait saison pour une série tv , j'arrive à télécharger les premiers épisodes mais les nouveaux épisodes qui se rajoutent sont introuvable au téléchargement . Malgré les recherches de téléchargement il n'y a toujours rien . Comment dois je faire ?

    Did you already take a look at the Apple Support Page, choose "France" as your country and "French" as native language and go through the Warranty and Service answers, especially the part "Out-Of-Warranty-Service"? This article can answer most of your questions and has some contact info as well.
    Apple - Support - Service Answer Center

  • Licences pour une petite entreprise

    comment faire pour avoir 6 licences pour une petite entreprise

    No, you do not need to purchase a license of Apple Remote Desktop for each computer you wish to manage. The license applies only to the administration application. Here are the terms of purchase and licensing from the Mac App Store:
    (i) Si vous êtes une personne agissant à titre personnel, vous êtes autorisé à télécharger et à utiliser une application de Mac App Store (« Produit Mac App Store ») à des fins personnelles et non-commerciales sur tout produit de la marque Apple tournant sur Mac OS X (« Ordinateur Mac ») dont vous êtes propriétaire ou que vous contrôlez.
    (ii) Si vous êtes une société commerciale ou un établissement scolaire, vous êtes autorisé à télécharger un Produit Mac App Store destiné à être utilisé soit (a) par une seule personne sur chacun des Ordinateurs Mac utilisé par cette personne et dont vous êtes le propriétaire ou que vous contrôlez , ou (b) par plusieurs personnes sur un Ordinateur Mac partagé dont vous êtes propriétaire ou que vous contrôlez. Par exemple, un seul salarié peut utiliser un Produit Mac App Store sur son Ordinateur Mac de bureau et sur son Ordinateur Mac portable, ou plusieurs étudiants peuvent utiliser en série le Produit Mac App Store sur un seul Ordinateur Mac situé dans un centre de ressources ou une bibliothèque. Par souci de clarté, chaque Ordinateur Mac utilisé en série par plusieurs utilisateurs nécessite une licence distincte.
    You can determine from that information whether you will need to purchase multiple copies of Apple Remote Desktop or if you can legally use a single license.
    Regards.

  • Liaison d'une structure entre CVI et TestStand pour une DLL

    Bonjour,
    Je vous écris car en se moment je fais un ajout d'instrument sur un driver en passant par une DLL. Pour le nouvel appareil, il me faut modifier un projet existant. Ce qui me pose porblème c'est que dans le projet il y a une structure qui est passé en paramètre de fonctions usuelles et j'aimerais pouvoir ajouter dans cette structure de nouveau élément. Car quand je code dans la structure les nouvelles composantes et que je modifie, la structure déjà existant dans la séquence TestStand lié à l'ancien code, je n'arrive pas à transmettre les valeurs de TestStand à mon code. Alors que les anciens composants de la structure prennent bien leurs valeurs. J'ai bien essayé de recréer sous TestStand un nouveau type de structure sans partir de l'existant, hélas le résultat à été le même.
    Il est fort possible que j'ai oublié une manipulation n'étant pas encore totalement bien familiariser avec l'environnement de CVI et de TestStand.
    Merci de l'effort de lecture. En attendant une réponse à mon problème, je reste disponible pour plus de détails

    Rodéric -- En ce qui concerne la structure, j'y ai pensé et du coup la première chose que j'ai fait c'est en recréer une nouvelle. en ce qui concerne le menu déroulant, je t'ai pris un imprimé. On voit bien ma structure dans les choixs mais quand je la séléectionne on se retrouve dans le cas du premier screenshot.
    Eric -- Pour le Header, je le recompile en même temps que mon projet et j'arrive ensuite à voir mon paramètre lors d'une implantation de celle-ci depuis ma structure. concrètement j'ai du mal à percevoir le "reconstruire la DLL en prenant en considérant la nouvelle structure". Si tu pouvais un peu plus m'éclairer sur ce point, s'il te plait.
    Pièces jointes :
    MenuDeroulant.JPG ‏19 KB
    PieceOfCode.JPG ‏18 KB

  • Structure pour classe évolutive (LV OOP)

    Bonjour,
    Quelle est la structure la plus adaptée pour gérer des classes qui sont susceptibles d'évoluer ? L'évolution consistera le plus souvent en un ajout de "variables membres". Je souhaiterais faire évoluer les classes tout en pouvant relire les objects sauvegardés dans la version précédente. Pour des raisons pratiques (grand nombre d'objets sauvegardés, sur des serveurs pas toujours accessibles),  j'aimerais ne pas avoir à "convertir" mes anciens fichiers dans le nouveau format.
    Comment construire ma classe initiale pour pouvoir dans le futur passer en version 2 tout en pouvant accéder à mon carnet d'adresse vieux de la version 1 ?
    Exemple :
    Classe version 1 : Demoiselle admet comme variable nom et numéro de téléphone
    Puis dans la version 2, j'ajoute à ces 2 variables un booléen "est-elle mariée ?"
    Espérant que la question est compréhensible.
    Merci !
    Résolu !
    Accéder à la solution.

     Bonjour petitOhu,
    Merci d'avoir posté sur le forum National Instruments.
    Je ne suis pas certain de bien comprendre ta question car il me semble que tu peux ajouter un élément dans la définition de ta classe (dans le *.ctl) sans pour autant "casser" les accesseurs ou propriétés/méthodes déjà existants.
    Finalement, il est aussi possible d'utiliser un serveur de contrôle de code source afin d'avoir un suivi de l'historique de ton développement. De plus, cela te permets de revenir à une version précédente facilement, de gérer le fait de développer à plusieurs... Voici un tutorial sur ce point.
    N’hésites pas à préciser ta question si je n’ai pas bien compris ce que tu cherche à faire.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/

  • Détection synchrone pour une plage de fréquence de 0.1 hz à 500 hz.

    Bonjour à tous,
    Je suis à la recherche d'un vi de détection synchrone. Soit  développé par NI ou sur ce forum.
    Éventuellement des pistes pour le construire à partir de vi de Labview, le traitement du signal n'étant pas mon point fort .
    Existe t'il ? ( je parle du vi ... :-)  )
    Merci.
    Cordialement

    Bonjour,
    D'après ce que vous écrivez, votre matériel vous permet de récupérer votre signal et applique du conditionnement (d'amplification vu le nom). LabVIEW vous sert d'une part à commander cet instrument (avec les fonctions VISA ou Série je suppose) et d'autre part à effectuer un traitement sur votre signal.
    Si vous supprimez votre matériel, comment ferez-vous pour récupérer votre signal sur votre ordinateur? Par ailleurs, bien que vous puissiez faire des traitements basiques sur vos signaux, le conditionnement matériel reste le meilleur moyen d'acquérir un signal plus facilement exploitable car un traitement logiciel s'applique sur un signal dont il vaut mieux avoir d'abord minimisé les bruits en amont.
    Pour l'acquisition de données sous LabVIEW, vous pouvez utiliser le driver DAQmx mais vous aurez besoin d'un matériel d'acquisition de chez National Instruments pour utiliser ce driver. Cela peut être une carte PCI/PCIe, USB, un chassis Compact DAQ modulaire, ... Le choix est beaucoup trop important pour être listée de manière exhaustive.
    De plus, vous parlez de "modules" natifs de LabVIEW (désignant les palettes je suppose) mais il faut voir quelle licence vous avez de LabVIEW puisque selon si vous avez une licence de type Base, Full ou Professionelle, vous n'aurez pas forcément accès à toutes les palettes natives de LabVIEW.
    Cordialement,
    Jérémy C.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • Changer mon site pour une construction avec Muse

    Bonjour à tous !
    J'ai actuellement un site sous wordpress, quelqu'un m'a aidé à le faire (il a programmer wordpress, et j'avais les idées de design), et j'ai à présent besoin de changer des choses dessus. Bien évidemment, la personne n'est plus disponible pour m'aider.
    Hors je me rends compte qu'à l'avenir, j'aurais besoin de souvent mettre à jour mon site et je n'ai certainement pas les compétences pour modifier wordpress tel que je le veux (je sais juste publier des articles ).
    Alors la solution la plus simple est de passer par un logiciel plus simple, sans code, mais qui permette de faire quelque chose de joli et compréhensible par les visiteurs, d'ou ma question :
    Voilà l'adresse de mon site : http://www.ninaetfred.fr et j'aimerais savoir s'il est possible de retrouver un rendu de ce genre avec Muse (genre le grand diaporama derrière ou les galeries en vignettes) ?
    Merci à tous de m'avoir lu, il faut absolument que je trouve une solution pour avoir un contrôle plus complet sur mon site.
    A bientôt
    Fred

    Bonjour Fred,
    Déjà votre site est très sympa, félicitations.
    Oui, avec Muse, vous avez un widget qui permet de faire défiler des images en plein écran et qui s'adapte à la taille de l'écran avec bien sûr des vignettes.
    Ce que je ne comprends pas c'est votre démarche.
    Votre site est déjà en ligne et il est parfait.
    Si vous souhaitez apporter des modifications à votre site, le plus simple à mon sens est d'apprendre tout simplement à utiliser Wordpress. Il y a plein de tutos, de vidéos, de forums, de livres concernant ce CMS.
    Quitte à apprendre à vous servir d'un nouveau logiciel autant que ce soit celui qui est à l'origine de votre site.
    Pour moi le choix est vite fait : d'un côté un site fini mais l'obligation d'apprendre à utiliser Wordpress, d'un autre côté, obligation d'apprendre Muse ET de refaire entièrement le site !
    A SAVOIR. Le thème utilisé pour votre site est celui-ci : http://themeforest.net/item/chocolate-wp-responsive-photography-theme/299901
    C'est un thème payant (45 $) et il a un très bon rating.
    Voilà. J'espère que mon avis vous sera utile.
    A bientôt.
    Philippe
    PS : Wordpress est gratuit...pas MUSE

  • Detection d'un port USB pour une communication série

    Bonjour à tous,
    J'ai développer une application qui recepionne des données texte d'une communication série 422. Cette communication est configuré par l'utilisateur de l'application qui choisit le prot série sur lequel les données sont receptionnée et envoyer ( ce sont les meme ).
    Mon probleme est que dans certain cas, le poste qui heberge l'application n'a pas de port série, la communication se fait donc via un adaptateur 422 - USB, or avec la commande VISA Ressource Name en selection d'une classe VISA, je ne vois pas les ports USB qui pourrait servir à la communication.
    J'ai essayé de regardé les fonction VISA USB mais elles ne receptionne que des données integer, or je dois recevoir des strings..
    Quelqu'un saurait comment je pourais resoudre ce problème ?
    Cordialement
    Nathan
    Résolu !
    Accéder à la solution.

    A titre d'information, il arrive dans certains cas, et sur des longues périodes de communication que les convertisseurs USB se déconnectent.
    Je n'ai encore jamais trop compris d'ou venait le problème, et suite à recherche sur le net, nous sommes plusieurs à le rencontrer de manière ponctuelle.
    Donc s'il s'agit d'un début de développement, je te conseille de réfléchir à une étape de reconnexion en cas de perte du lien, si ton application te l'autorise.
    Bonne journée,
    Michael.

  • Comment changer la langue pour une commande de calendrier: tout est en allemand et l'adresse se termine par un envoi en Allemagne...

    Je veux commander un calendrier à parir de mes photos sur Iphotos, cependant toutes les instructions apparaissent en allemand, le prix est en euros et le pays pour la livraison est déjà indiqué Deustchland alors que j'habite au Canada. Que puis-je faire pour modifier la langue? J'ai pourtant déjà commander d'autres calendriers et c'était en langue française.
    Merci de m'aider
    DB

    Bonjour,
    Merci d'avoir posté sur le forum NI.
    Pouvez faire une capture d'écran de l'erreur obtenue?
    Vous avez aussi des exemples de communication TCP dans les exemples LabVIEW.
    Recherche d'exemples >> Réseau >> TCP et UDP
    Cordialement,
    Nicolas M.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées Techniques LabVIEW 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...

  • Gestion de plusieurs langues sur une IHM

    Bonjour,
    J'ai réalisé un programme avec CVI 9 dont l'IHM est en français. Mon client me demande, tout en gardant l'IHM en français, de pouvoir accepter dans tous les contrôles "texte" des châines de caractères dans différentes langues (aussi bien du turc que du polonais ou du chinois...).
    Est-il possible de réaliser ceci?
    J'ai noté la possibilité de changer le charset utilisé pour les contrôles, mais je ne sais pas si cela correspond à mon besoin.
    De plus, les fonctions "multibytes" utilisées pour gérér chaînes de caractères multibyte (type chinois) permettent elles également de gérer les chaînes de caractères classiques? Ou faut il prévoir deux traitements différents?
    Merci de votre aide sur ce sujet épineux
    Mathieu

    Bonjour Mathieu,
    Je vous invite à regarder le lien suivant: Using LabWindows/CVI Localization Utility with Single/Multiple Byte Languages.
    Ainsi que les liens associés en bas de page.
    Je pense qu'il vous aideront à clarifier l'utilisation de plusieurs langues, et des caractères spéciaux.
    Cordialement,
    Olivier L. | Certified LabVIEW Developer

Maybe you are looking for

  • Inventory cycle count report

    Hi We need to implement inventory cycle count report . Is there a standard business content data source for this ? Thanks and Regards Arun

  • Why is the video dropping frames after export?

    http://vimeo.com/65108558 The video in question is in the above link. I am using PP CS5 with a new iMac i7 32gb cuda enabled. When watching the clips in the timeline everything looks normal. This video was encoded to h.264 max render quality with the

  • External hard disc writeprotected

    Hello...my hard disc seems to be protected in writing...ther'es a pencil with a slash...impossible to write anything on the external hard disc.....thanks

  • *** Where can I buy the iPhone in Maui?

    I have a friend that's in Maui right now and wants to buy an iPhone. Does anyone know where they can get one there? No AT&T store locations though please, just an authorized reseller. Thanks in advance!

  • HELP! My laptop envy isn't working

    Help Me! My laptop envy turns on, per se, in the sense that the keys, loading light, on light, and etc light up--However, the screen remains dark or blank and the light on the caps lock is blinking.  What should I do???????????????????!!?!?! Kind reg